Files
boshu2__agentops/docs/3.0-readiness.md
T
Bo e431339c40 feat(hookless)!: remove all hooks — skills + CLI only (soc-57b7f #remove-all-hooks) (#511)
## What

AgentOps 3.0 goes **fully hookless**. This removes the entire hook
product surface — the product is now skills + the `ao` CLI with **zero
hooks**. CI is the authoritative gate.

## Deleted

- `hooks/` — 46 hook scripts + `hooks.json` + examples (whole directory)
- `cli/embedded/hooks/` + embedded `hooks.json` +
`embedded/lib/hook-helpers.sh`
- `lib/hook-helpers.sh`
- `ao hooks` CLI command: `cli/cmd/ao/hooks.go`, `hooks_run.go` + 5 hook
test files; `cli/internal/bridge/hooks.go`;
`cli/internal/doctor/fix_hooks.go` + test
- Codex hook manifest (`hooks/codex-hooks.json`) + handler/audit scripts
(`scripts/audit-codex-hooks.sh`, `install-dev-hooks.sh`,
`test-hooks-output.sh`, `test-codex-hookless-lifecycle.sh`,
`test-hookless-rpi-phased.sh`)
- Hook lease surface: `docs/contracts/hook-lease-*`,
`schemas/hook-lease.v1.schema.json`,
`scripts/check-hook-lease-inventory.sh`,
`check-hook-port-replacements.sh`, `generate-hook-lease-inventory.py`
- Hook docs: `docs/HOOKS.md`, `cli/docs/HOOKS.md`,
`docs/architecture/hook-noise-audit.md`,
`docs/contracts/hook-runtime-contract.md`
- `tests/hooks/` (whole dir) + hook test scripts; 5 hook eval suites +
fixtures

## CI gates removed

`hook-preflight`, `validate-hooks-doc-parity`, `hook-output-schema-lint`
(+ scripts/bats), the hook eval suites, the `test-runtime-codex-smoke` /
`test-codex-native-install` / `test-codex-plugin-install` hook-handler
assertions, the cli-integration hook-lifecycle steps, the bats
`tests/hooks/*` glob + orphan-hooks audit, and the `--with-hooks`
install path. `embedded-sync` now validates only lib/skills. Both
summary `needs:` lists + the summary echo +
`docs/contracts/ci-jobs.yaml` updated; `validate-ci-policy-parity`
passes (66 rows). `.codex-plugin/plugin.json` drops the "Hooks"
capability.

## Load-bearing PRESERVED (reported, not forced)

- **`cli/cmd/ao/codex_runtime.go`** — the codex runtime *lifecycle
profile* (`HookCapable`/`HookConfigured` detection) is a
runtime-capability abstraction used by 6 `validate-codex-*` CI gates,
distinct from the hook product. Deleting it is a separate refactor.
- **`hooks-authoring` skill** + `schemas/hooks-manifest.v1.schema.json`
— reframed as an opt-in "author your own hooks" guide. Deleting the
skill cascades into catalog/domain-map/dispositions/context-map golden
files (skill-count sync), out of scope for the hook-product removal.
- **`scripts/pre-push-gate.sh`** — retired local gate (not in CI);
self-skips deleted hook scripts via `[[ -x ]]` guards; its 55 bats tests
still pass.
- Domain-enforcement audit keeps the `enforced`-mode schema for
backward-compatible JSON readers, but the hookless resolver only returns
`audited`/`unavailable`.

## Verification

`go build` / `go vet` clean; `go test ./...` = **11849 passed, 0
failed** (68 pkgs). gofmt clean on all touched files. Green: registry
`--check` (0 hooks), `regen-codex-hashes --check`,
`validate-ci-policy-parity`, `check-wiring-closure`,
`validate-embedded-sync`, `validate-manifests`, `validate-agents-split`,
`doc-release` (0 broken links), `generate-cli-reference --check`,
`heal.sh --strict`, codex/claude/plugin smoke tests, baseline-audit (0
stale). Diff: 231 files, +354 / −39803.

Closes-scenario: soc-57b7f#remove-all-hooks
Bounded-context: BC5-Runtime
Evidence: .github/workflows/validate.yml
2026-05-24 11:19:37 -04:00

5.8 KiB
Raw Permalink Blame History

AgentOps 3.0-Readiness Level-Set (2026-05-23)

Bead: soc-hplds (W4, final wave of the 3.0 reconciliation epic soc-9y8hd). North star: docs/3.0.md. This is the honest "where we are" against the 3.0-ready acceptance criteria after the reconciliation push. It does not claim more than is true; remaining work is named with its tracking bead.

What the reconciliation did

The operator-directed 3.0 reconciliation (2026-05-23) ran as a cron-paced /evolve loop. No new features — tighten, match reality, finish the hexagon. Waves:

Wave Bead Outcome PRs
W0 soc-25sgs docs/3.0.md north star authored + woven into README/PRODUCT/GOALS/CLAUDE/docs-index/mkdocs #468
W1a soc-furq8 "2,514 LOC dead RPI code" claim was false (all load-bearing) — corrected CLAUDE.md to match reality; real removal → soc-1gbpz #469
W1b soc-icvff Aspirational features (gt convoy, bd mol/cook, curation stages 3-6) → docs/ROADMAP.md, cut from live docs #470
W1c soc-sb5r1 Workbench Δ=0 claim kept (artifact exists); unsubstantiated 3-judge-parity claim downgraded to internal finding #471
W1d soc-onfm1 Stale dream_executor.go path fixed; 3 of 4 flagged items were already correct #472
W2 soc-qk4b Hexagon crank tail: 71/80 skills now carry canonical .feature acceptance (hexagonal_role already 100%) #473-479
W3 soc-6zihw Hook-noise audit then full hook removal: noise-injectors deleted, then all remaining gates/adapters removed outright (soc-57b7f) — AgentOps 3.0 ships hookless (skills + the ao CLI only) #480, #483, #488, #494
W4 soc-hplds This level-set —

A recurring pattern: the discovery over-stated scope, and verify-before-acting caught it every time (W1a dead-code was live; W1c only one of two claims was unbacked; W1d 3 of 4 already correct). That is the reconciliation working as intended — match what reality is, not what the gap report assumed.

Acceptance status (against docs/3.0.md "What 3.0-ready means")

  • [x] North star is the single referenced source of truth — docs/3.0.md authored (W0); README, PRODUCT, GOALS, docs-index, mkdocs nav, and CLAUDE.md all point to it.
  • [x] Docs match reality — the dead-code claim, aspirational-feature claims, unsubstantiated market claim, and stale path that the audit found are all corrected (W1a-d). Aspirational items live in docs/ROADMAP.md; market claims are artifact-gated.
  • [x] Hexagon complete (stable surface) — every skill carries hexagonal_role; 71/80 carry canonical .feature acceptance. The 9 without are intentionally exempt, not skipped: expert-council + inject (deprecated/removal-target), shared + standards + using-agentops + converter + provenance + flywheel (meta/internal/not user-invocable), llm-wiki (open proposal, no implementation — a .feature would assert unbuilt behavior).
  • [x] Hooks audited for noise → none a noise-injector — audit complete (W3, docs/architecture/hook-noise-audit.md); the 14 flagged entries split into 7 true noise-injectors (deleted across soc-e2ju0 S1–S3) and 7 conditional injectors (reclassified as kept-gates). 46 hooks remain, all gates or bounded adapters — none a noise-injector (soc-cul67). The separate default-install-zero-hooks lift is soc-e2ju0 S4, still open and not a 3.0-close blocker.
  • [x] The loop is executable — the operating loop (discovery → plan → implement → validate → ratchet) is documented in operating-loop.md and was exercised end-to-end across this reconciliation's 13 PRs via /discovery, /crank, worktree-per-bead, CI validation, and squash-merge ratchet.
  • [ ] Every AgentOps bead worked or closed — the reconciliation waves (W0-W4) and the off-3.0 beads are closed; remaining agentops-scoped 3.0-aligned beads (coherence/ledger hardening: soc-ficdw, iha27, v3y80, et al.) are open and tracked, not abandoned. Fleet/other-repo soc-* beads (personal-site, mt-olympus, bushido-infra, showcase, platform-lab) are out of scope per the ratified content-scoping decision.

Net: 5 of 6 acceptance boxes met; the 1 open box (every AgentOps bead worked or closed) has named tracking beads, not unknowns.

Fitness snapshot (ao goals measure, 2026-05-23)

Score: 85.7% (26/31 gates passing). Two non-blocking fails:

  • flywheel-lifecycle — 30s timeout; environmental CI flakiness (soc-iwrm2), not a code regression.
  • executable-spec-link-integrity — warn-only (F1.6, continue-on-error in CI); flags GOALS.md directive↔scenario linkage gaps (all 14 directives show 0/0 linked scenarios), a pre-existing gap unrelated to the skill .feature crank.

Neither blocks PRs; both are tracked signals, not reconciliation regressions.

Remaining work (named, not blocking the 3.0-reconciliation close)

  • soc-e2ju0 S4 — default install goes to zero hooks (the hooks-noise box is already met by S1–S3 deleting the 7 noise-injectors; S4 is the remaining default-install lift, not a 3.0-close blocker).
  • soc-1gbpz — migrate-or-remove the legacy RPI lane (caller-migration refactor; the code is live, not dead).
  • Coherence/ledger hardening beads (soc-ficdw et al.) — agentops 3.0-aligned, open.
  • ADR-0002 S2-S5 — hookless default-install + hookless RPI; explicitly a follow-on, not a 3.0-close blocker (docs/3.0.md).
  • GOALS directive↔scenario linkage (the warn-only F1.6 gap).

Verdict

The 3.0 reconciliation achieved its mandate: docs match reality, the hexagon is complete across the stable skill surface, and the hooks are audited. The repo is substantially 3.0-ready; the remaining items are bounded, tracked, and (for hookless-default) explicitly deferred. The loop that produced this is the loop docs/3.0.md describes.