v3.0.0
brew update && brew upgrade agentops · bash <(curl -fsSL https://raw.githubusercontent.com/boshu2/agentops/main/scripts/install.sh) · checksums · verify provenance
Highlights
AgentOps v3.0.0 is the hookless, in-session-only major. The thesis sharpened: AgentOps is what runs inside a session — skills, the ao CLI, the RPI / evolve / crank / swarm loops, and the .agents/ context-compiler. Everything that tried to be an always-on orchestration runtime is gone, and out-of-session orchestration (when work runs, who supervises it, how agents coordinate) is delegated to a substrate you choose: Gas City (a reference City ships here) or Mount Olympus. Roughly 117K lines were removed across a five-wave rip, the default install now registers zero hooks, and CI is the authoritative gate. docs/3.0.md is the north star.
Upgrade Notes
- If you ran AgentOps in a session, nothing you rely on changed —
ao rpi,ao evolve,crank,swarm, and the.agents/corpus are unchanged. - If you ran the daemon, scheduler, or hooks, those are removed; see Breaking Changes below and the migration guide.
- See
docs/MIGRATION-3.0.mdfor the full breaking-change migration.
Breaking Changes
- Hooks are removed (
soc-57b7f). The default install registers no hooks;ao hooks install,--with-hooks, and the embedded hook surface are gone. What a hook enforced locally, a CI job in.github/workflows/validate.ymlnow enforces; author bounded gates with thehooks-authoringskill. - The daemon is removed (
soc-2rtm0).ao daemon/agentopsdno longer exist. For always-on work, run the reference Gas City (city.toml+packs/agentops) or Mount Olympus. - Scheduling is removed (
soc-2rtm0).ao schedule,ao plans,ao watch, andao overnightare gone; Gas City Orders own out-of-session scheduling. - The
factorycommand is removed (soc-2rtm0).ao factoryand its contract corpus are gone; the factory is the loop (crank/swarmin-session, or a mayor-driven City). runtime=gcis removed (soc-2rtm0).ao rpikeeps itsauto/direct/stream/tmuxbackends; Gas City now dispatches wholeao rpiloops as one unit.
At a Glance
| Product Area | Added | Changed | Refactored | Fixed | Deprecated/Removed |
|---|---|---|---|---|---|
| Install, Upgrade, and Distribution | 0 | 1 | 0 | 0 | 0 |
| CLI and Operator Commands | 1 | 0 | 0 | 0 | 3 |
| Daemon, Scheduling, and Factory | 0 | 0 | 0 | 0 | 4 |
| Skills and Workflows | 1 | 1 | 0 | 0 | 0 |
| Hooks and Lifecycle | 0 | 0 | 0 | 0 | 1 |
| Knowledge Flywheel, Search, and Memory | 0 | 0 | 3 | 0 | 0 |
| Eval, Validation, and Release Gates | 2 | 0 | 0 | 0 | 0 |
| Docs and Onboarding | 3 | 1 | 0 | 0 | 0 |
Product Areas
Install, Upgrade, and Distribution
- Changed: version synced to 3.0.0 across
.claude-plugin/plugin.json,.claude-plugin/marketplace.json, and the City pack's pinnedAO_VERSION.
CLI and Operator Commands
- Added:
ao validate --gatecollapses PASS/WARN/FAIL to a process exit code — the retry hook for Gas Citycheckand CI, no network or LLM. - Removed:
ao daemon,ao schedule/plans/watch/overnight, andao factory(see Breaking Changes). - Removed: the
runtime=gcphased-engine mode.
Daemon, Scheduling, and Factory
- Removed:
internal/daemon+ theagentopsdbinary, the scheduler lane, the factory command + contract corpus, and the CLI gc-bridge glue (soc-2rtm0, ~117K LOC). AgentOps ships no out-of-session runtime; Gas City or Olympus owns that surface.
Skills and Workflows
- Added: the AgentOps reference Gas City — a turnkey City (
city.toml+packs/agentops+ skills overlay) demonstrating out-of-session orchestration on AgentOps skills. - Changed: skill consolidation merged overlapping skills into mode flags, taking the catalog to 75 skills.
Hooks and Lifecycle
- Removed: all 53 runtime hooks. The lifecycle is guided by skills and enforced by CI gates (see Breaking Changes).
Knowledge Flywheel, Search, and Memory
- Refactored: real hexagonal port adapters wired to their core consumers — a filesystem CorpusReader/Writer, a bd-backed TrackerPort, and a git-backed WorkspacePort.
Eval, Validation, and Release Gates
- Added: a BDD acceptance layer — scenario→test linkage runner plus a CI gate (
soc-63xfx), with canonical.featureacceptance across skills. - Added:
ao validate --gateas a deterministic exit-code verdict for CI and Gas City retry loops.
Docs and Onboarding
- Added: the 3.0 doctrine —
docs/3.0.mdnorth star,docs/adr/ADR-0009-daemon-deletion-in-session-only.md, and the canonical-loop model. - Added:
docs/MIGRATION-3.0.md, the breaking-change migration guide. - Changed: README and PRODUCT reconciled to the in-session core, with the out-of-session autonomous-dispatch gap explicitly labeled (
soc-5jwah).
Known Issues
- Gas City order-level autonomous dispatch is still maturing upstream (
soc-5jwah); today the reference City dispatches via a long-lived mayor agent (bd ready→gc sling) plus cron exec orders for maintenance.
Full changelog
AgentOps 3.0 is the hookless-first major. The headline: AgentOps is what runs in-session — skills + the ao CLI + the RPI/evolve/crank/swarm loops + the context-compiler. Out-of-session orchestration (scheduling, daemons, autonomous dispatch) is delegated to Gas City (a reference City ships in this release) or Olympus. The default install registers zero hooks; the lifecycle is driven by skills and CI gates. See docs/3.0.md for the north star.
⚠️ Breaking Changes
- Hookless by default (
soc-57b7f) — the default install registers no hooks. All 53 runtime hooks were audited and removed; capabilities that lived in hooks (standards injection, commit-review gating, noise injectors) are now CLI ports + CI gates. Opt back in with--with-hooks(AGENTOPS_INSTALL_HOOKS=1) orao hooks install --force. Migration: if you relied on hook-driven behavior, switch to the CI gate or the equivalentaosubcommand. - Daemon carved out (
soc-2rtm0, daemon-carve wave 5) —internal/daemon+ theagentopsdbinary were deleted. AgentOps no longer ships an out-of-session daemon; Gas City is the orchestration substrate. Builder cores that previously ran as daemon jobs (wiki build, llmwiki loop) keep their in-process / GC-callable core but lose the daemon-job-executor wrapper. - Scheduling/plans/watch/overnight commands removed (
soc-2rtm0, kill-schedule-overnight) —ao schedule,ao plans,ao watch, and the overnight engines were deleted. Gas City owns scheduling. The phased RPI engine keeps its non-gc backends (auto/direct/stream/tmux);runtime=gcis no longer a valid mode. factorycommand + contract corpus retired (soc-2rtm0, cascade-rip) — theao factorycommand and its contract corpus were removed.- Gas City (gc) bridge severed (
soc-2rtm0, wave 2) — the CLI gc-bridge glue (gc_bridge.go,gc_events.go,rpi_phased_gc.go) was deleted; the daemon-side GasCity client is a separate, retained surface.
Added
- AgentOps reference Gas City — a turnkey City (
city.toml+agentopspack + overlay) that demonstrates out-of-session orchestration on top of AgentOps skills. ao validate --gate— exit-code verdict for Gas City retry loops and CI; PASS/WARN/FAIL collapses to a process exit code.- Real hexagonal port adapters —
corpus_fsCorpusReader/Writer, a bd-backed TrackerPort, and a git-backed WorkspacePort, each wired to its core consumer. Port-realness audit indocs/architecture/. - BDD acceptance layer — scenario→test linkage runner + CI gate (
soc-63xfx); canonical.featureacceptance added across skills (research/plan/validation/trace/handoff/readme/autodev/flywheel/inject and more) and daemon-lifecycle Gherkin linked to tests. scripts/ship.sh(#346,soc-33uy) — single-command wrapper that auto-detects inventory-touching diffs and routes through the full pre-push gate (no--fastskip on skill/contract changes), preemptively running the regen sweep (sync-skill-counts, codex-hashes, domain-map, context-map, registry, sync-hooks). Mechanical fix for ship-loop anti-pattern #1.
Changed
- Honest 3.0 doctrine —
docs/3.0.mdis the canonical north star: AgentOps is in-session; Gas City and Olympus own out-of-session. Doctrine, PRODUCT, and README were reconciled to the in-session core (skills + rpi + evolve + crank + swarm + context-compiler), with the out-of-session autonomous-dispatch gap explicitly labeled (soc-5jwah). - Version sync to 3.0.0 —
.claude-plugin/plugin.json,.claude-plugin/marketplace.json(metadata + plugins[0]), and the City pack's pinnedAO_VERSION(packs/agentops/assets/scripts/install-ao.sh) all bump to 3.0.0. - Coherent-arc PR rule (#348,
soc-1lp1) — replaces "one scenario per PR" default inCLAUDE.md+AGENTS.md. The unit of a PR is one closable bead (or small-epic slice) with a single rollback semantic. Small epics (≤5 child beads, same surface) ship as one PR with N commits; large epics ship as N PRs sliced by scenario or wave. Updatesship-loopskill (Claude + Codex twins). Derived from the 2026-05-19 8-PR merge-arc burn-through. skill-auditorrubric scoring (soc-ads5v) — adds a Pass 3 rubric-scoring stage.- Executable-spec-link-integrity promoted warn→blocking (
soc-x7y9f) — the scenario→test link gate is now a required CI check.
Fixed
- Daemon robustness hardening — bounded idempotency key + request decode guards (
soc-scg3h), heartbeat ledger-write timeout (soc-15g9f), heartbeat goroutine-lifecycle bound (soc-yyrrq), payload-shape validation before ledger append (soc-qra05), and executor-panic recovery in supervisor dispatch (soc-as401). (Hardening landed before the daemon carve-out for the GasCity-side client surface.) goals trace --orphansparser now rejects bead prose and matches real orphans.- 6 pre-existing shellcheck warnings (#349,
soc-j026) cleaned acrossvalidate-codex-api-conformance.sh,goal-failure-taxonomy.sh,purge-global-garbage.sh,nightly-pr-digest.sh,add-validate-job.sh,check-skill-size.sh. All in scripts unchanged from base — atomic side-quest per anti-pattern #2. - Local pre-push gate eval-canary strictness mismatch (#350,
soc-nmhp) — full-mode eval-canaries now respect the same path filter as CI'seval-workbench-verify(HAS_EVAL=1 || is_ci_env). Previouslyneeds_check evalshort-circuited to true in full mode, producing 5 spurious FAILs on doc/script PRs against a baseline-less local env. Closes the "Local-vs-CI environment drift" learning (docs/learnings/2026-05-07-ci-push-gate-toil-pattern.md). - Eval fixtures referencing deleted hooks (
soc-t40ai) cleaned; stale deleted-hook copies removed fromcli/embedded/.
Full Changelog: v2.41.1...v3.0.0