This is the path a viewer should be able to follow after a video, gist, or README skim. It proves the product without asking them to understand the whole factory first.
The first value is a council verdict over a visible engineering domain:
- Install AgentOps beside an existing coding-agent runtime.
- Create or reuse a domain/practice packet.
- Assemble bounded context for one decision.
- Run council across Claude and Codex, with a same-packet fallback.
- Inspect the verdict artifact and turn it into tracked work.
- Only then point at the optional out-of-session compounding lane, which runs the same loop on an orchestration substrate (the reference is NTM + MCP + managed-agents) — AgentOps itself ships no daemon or scheduler.
This path is for an engineer or technical founder who already uses Claude Code, Codex CLI, Cursor, or OpenCode and wants their agent work to preserve context, judgment, and follow-up discipline across sessions.
The viewer does not need to adopt the full software factory on day one. They need to see one agent decision become an inspectable engineering artifact.
| Step | Budget | Success signal |
|---|---|---|
| Install or update | 2-5 min | ao version prints a version. |
| Repo setup | 1 min | ao quick-start completes and .agents/ exists. |
| Packet setup | 2 min | .agents/packets/<name>.md exists and is readable. |
| Context assembly | 1 min | .agents/rpi/briefing-current.md exists. |
| Council run | 5-10 min | .agents/council/<run-id>/verdict.md exists. |
| Verdict to work | 2 min | BEADS_DIR=$PWD/_beads br show <issue-id> cites the verdict path. |
| Optional out-of-session lane | 5 min | A substrate (NTM / managed-agents) dispatch is registered to run the loop unattended. |
Codex path:
curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install-codex.sh | bash
ao versionCodex installs hookless by default. Native hooks are an advanced opt-in:
curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install-codex.sh | bash -s -- --with-hooksExpected:
ao version <version>
Use the matching install command from the README for Claude Code, OpenCode, Cursor, macOS Homebrew, or Windows PowerShell.
ao quick-startExpected:
━━━ SETUP COMPLETE ━━━
AgentOps repo readiness
The setup creates the local operating workspace, including .agents/packets/,
.agents/rpi/, and .agents/council/.
cp docs/examples/agentops-3-domain-practice-packet.md \
.agents/packets/agentops-3-launch.md
sed -n '1,100p' .agents/packets/agentops-3-launch.mdExpected:
# AgentOps 3.0 Domain/Practice Packet
This is the first artifact the viewer should understand. It names the product
identity, target user, decision, domain sources, practice sources, evidence
rules, and non-goals. In this repo, PRACTICE-REGISTRY.md is the practice registry:
it provides the lineage and stable slugs behind the packet's engineering
citations.
ao context packet --goal "AgentOps 3.0 council-first launch demo"
ao context assemble \
--phase planning \
--task "Evaluate the AgentOps 3.0 launch demo against the domain/practice packet" \
--output-file .agents/rpi/briefing-current.mdExpected:
Briefing written to <repo>/.agents/rpi/briefing-current.md (<chars> chars)
If the exact stdout changes, the artifact path is the contract.
Primary path:
/council --mixed validate "Given .agents/packets/agentops-3-launch.md, should the AgentOps 3.0 launch demo lead with council-first engineering judgment?"
Fallback when only one runtime is available:
/council --quick validate "Given .agents/packets/agentops-3-launch.md, should the AgentOps 3.0 launch demo lead with council-first engineering judgment?"
Expected:
Recorded: .agents/council/<run-id>/verdict.md
The public demo should say whether the verdict was mixed Claude/Codex or the single-runtime fallback. The artifact must show the same packet was used.
BEADS_DIR=$PWD/_beads br create "Apply council verdict to launch demo" \
--body "From .agents/council/<run-id>/verdict.md" \
--jsonExpected:
{
"id": "ag-...",
"status": "open",
"title": "Apply council verdict to launch demo"
}The important behavior is not the issue id. The important behavior is that the decision leaves chat and becomes tracked engineering work.
Only point at this after the first verdict has landed.
The first six steps all run in session — that is the AgentOps product and
the zero-dependency sovereignty floor. Running the same loop out of session
(always-on, scheduled, unattended) is a separate concern. AgentOps 3.0 ships no
daemon, scheduler, or overnight runner of its own — those surfaces were deleted
(see AgentOps 3.0 north star). Out-of-session orchestration is
delegated to a substrate. The reference is the trio AgentOps actually runs on —
NTM (a tmux agent swarm), MCP (ao mcp serve), and managed-agents
(ao agent) — none of it AgentOps-owned.
On the reference substrate, an NTM swarm (or a lead agent) runs BEADS_DIR=$PWD/_beads br ready and
dispatches the next bead to a worker that runs ao rpi <bead>; scheduled
maintenance (ao compile, ao maturity --scan) runs via a managed-agent driver
or cron. The agents inherit the AgentOps skills via an overlay and run the same
loop you just ran by hand. See the AgentOps 3.0 north star for the
in-session / out-of-session split and the reference substrate.
| Artifact | Why it matters |
|---|---|
.agents/packets/agentops-3-launch.md |
The shared domain and engineering practices the agents judge against. |
.agents/rpi/briefing-current.md |
The bounded task context assembled for the run. |
.agents/council/<run-id>/verdict.md |
The engineering verdict from the council. |
_beads/issues.jsonl |
The tracked work created from the verdict (the br ledger). |
Substrate config (an NTM swarm · ao mcp serve · ao agent) |
The reference out-of-session substrate (NTM + MCP + managed-agents) for the optional lane, only after first trust exists. |
| Friction | Handling |
|---|---|
| Mixed council requires both Claude Code and Codex CLI to be installed and authenticated. | Use /council --quick for first local proof and record that the demo used fallback mode. |
| Activation profiles are docs-backed, not executable config. | Use docs/activation-profiles.md; follow-up soc-uyp6 evaluates ao activate product-council after PMF evidence. |
.agents/ is local runtime state and should not be committed. |
Copy public examples into docs/examples/; export or summarize private verdicts before sharing. |
| The out-of-session substrate can distract from first value. | Present it as second-stage automation after a human has inspected the verdict; the in-session loop is the product, the substrate is optional. |
| Public claims can outrun evidence. | Use the claim-safe language in the domain/practice packet and storyboard. |
| Gap | Disposition |
|---|---|
ao quick-start did not create .agents/packets/, while the demo path needed it. |
Fixed in the 3.0 first-value path slice. |
ao activate product-council would reduce setup steps but might hide what context enters agents. |
Tracked as soc-uyp6; do not ship until PMF runs prove the profile is stable. |