Commit Graph

6 Commits

Author SHA1 Message Date
boshu e7acfd9fa9 refactor(skills): repoint operating-loop CRUD to ao beads exec for bd+br dual-support + trim rpi (age-jgf9)
Dual-support increment 3 (the user-facing completion). AgentOps ships to users
who mostly track with bd; operating-loop skills hardcoded `br`, breaking them.
Repoint bead CRUD (ready/update/close/create/dep/show/list, non-jq) and the
children-extraction pattern to the tracker-agnostic `ao beads exec` (bd-or-br)
across skills/**/SKILL.md + references. In THIS repo (br) there is no behavior
change; the win is bd users.

- children pattern `br show <epic> --json | jq '…parent-child….id'` →
  `ao beads exec children <epic>` (post-mortem closure-integrity-audit + the
  latent invalid `br children` in rpi phase-data-contracts).
- probe blocks re-gated `command -v br` → `command -v ao` (bd users have ao).
- parity_only codex twins refreshed via codex-sync + hashes; bespoke twins are
  hand-maintained (codex-sync skips them by design) and left for a deliberate
  follow-up.
- jq-shape `br … --json | jq '<shape>'` sites left on br (increment 4 will
  normalize the --json shape across trackers).
- rpi/SKILL.md trimmed 280→249 lines (meta-tier ≤250): receipt JSON folded into
  the existing phase-data-contracts.md, rpi_state block compacted, redundant
  Reference-Documents entries dropped.
- snippet validators (ao_snippet_resolve.py lib + validate-skill-body-refs.sh)
  taught that `ao beads exec` is a flag-forwarding passthrough, so tracker flags
  after it are not validated against ao's help.
2026-07-08 17:33:46 -04:00
boshu 89f05739b0 fix(gates): skill cli-snippets validator defaults to the strict resolver (age-zggp)
'ao help <anything>' always exits 0, so the help-mode predicate detected
ZERO removed commands — the skills snippet gate was decorative. Default
is now AO_RESOLVE_MODE=strict (env override kept), resolving against a
source-built binary carrying the archived-command tags.

Strict measurement over skills/ + skills-codex/ found exactly one
offender: a fabricated 'ao daemon status' citation in the release skill's
worked-example notes (ao daemon removed, ADR-0009) — fixed at source and
hand-mirrored into the bespoke twin (hashes regenerated). No baseline
needed. Teeth proven: a probe skill citing 'ao rpi status' passes
help-mode, FAILS strict.

Verified: strict validator green over both trees; fixture bats 5/5
(fake-ao made mode-agnostic); codex manifest OK (60 skills); docs
validator (shared lib) unaffected; shellcheck clean.
2026-07-04 12:38:08 -04:00
boshu b7503b4519 feat(gates): docs.cli-snippets gate — resolve ao commands in live docs against the cobra tree (age-gate-the-ungated-egwt.4) 2026-07-01 18:07:41 -04:00
boshu 3827beb9d3 fix(gate): validate skill CLI snippets against the full command surface (flywheel+legacy)
Escape fix for the ADR-0012 command archival (age-focus-membrane-bookkeeper-m1wg.13/.14):
archiving a command behind //go:build flywheel|legacy removed it from the
default `ao` binary, but skills legitimately document those commands (e.g.
skills/curate/SKILL.md + skills/flywheel/SKILL.md reference `ao harvest`).
validate-skill-cli-snippets.sh built a spine-only binary, so those snippets
false-failed the blocking skill.cli-snippets gate — a LATENT main breakage that
only surfaced when a later skills/** change routed the gate.

Build the validation binary with -tags "flywheel legacy" so snippets validate
against the full (spine + archived) command surface. A skill may reference any
command; the archive is a packaging concern, not a validation boundary.
2026-06-30 23:53:08 -04:00
Boden Fuller 23769dff5f fix(beads): resolve canonical ledger from worktrees (age-worktree-beads-ledger-guard-c1u1) 2026-06-19 22:34:07 -04:00
Boden Fuller 9205270833 Harden local codex skill validation 2026-03-07 13:26:49 -05:00