45 Commits

Author SHA1 Message Date
Claude c4166a5c51 docs: fix broken CLI links, add HOOKS/SCHEMAS/UPGRADING pages, expand GLOSSARY
Addresses a batch of documentation improvements identified in a full-docs
audit. The goal is to reduce newcomer friction from dead links and missing
canonical references, and to give skill/plugin authors explicit pages for
hooks, schemas, and version migration that were previously implied only by
source code.

Navigation fixes:
- docs/INDEX.md and docs/newcomer-guide.md pointed to the wrong path for
  the CLI reference (cli/commands.md vs. the real cli/docs/COMMANDS.md).
  Replace with the canonical github URL so both mkdocs and raw-GitHub
  readers land on the file.
- INDEX.md Getting Started section now opens with a "pick your path"
  router so evaluators, installers, contributors, and upgraders don't
  have to triangulate across three overlapping entry points.
- Link docs/getting-started/index.md from INDEX.md (was previously
  orphaned) and add an "Install verification" block pointing at ao doctor.

New pages:
- docs/HOOKS.md: user-facing orientation covering lifecycle events,
  install/uninstall, customization env vars, and common failure modes,
  pointing to cli/docs/HOOKS.md for the deep technical reference.
- docs/SCHEMAS.md: catalog of every JSON Schema under schemas/ and
  lib/schemas/, grouped by manifest vs. runtime artifact vs. internal
  contract, with validation commands.
- docs/UPGRADING.md: action-required version migration guide. Seeds
  Unreleased (2.38.x) and 2.37.x sections covering strict delegation,
  --no-lifecycle -> --no-scaffold rename, Olympus bridge removal,
  swarm-evidence schema enforcement, and pre-mortem gate tightening.

Reference quality:
- GLOSSARY.md: 11 new terms (.agents/, MEMORY.md, Compact/PreCompact,
  Compile, Context Window, Discovery, Dream/Overnight Run alias,
  Flywheel Health, Harvest, Holdout, RPI Phase, Session Lifecycle).
- troubleshooting.md: three new failure-mode sections (pre-mortem gate,
  go-test-precommit block, context-window compaction recovery).
- CONTRIBUTING.md: escalates the sync-skill-counts.sh requirement from
  an easily-missed sentence to a bold callout with CI-failure rationale.

mkdocs.yml: registers the three new pages in nav so they're reachable
from the published site and pass strict build.

Validation:
- tests/docs/validate-links.sh: 1553 links checked, 0 broken.
- tests/docs/validate-doc-release.sh: PASS.
- scripts/docs-build.sh --check: new docs introduce 0 warnings (the
  single remaining preexisting warning about index.md is out of scope).
2026-04-22 05:01:02 +00:00
Boden Fuller 1e073d8363 chore: purge archived AO↔Olympus bridge integration + prefer local Go in precommit hook
Olympus (ol) was the power-user daemon predecessor to AgentOps, archived
in strategic-direction.md. The bridge contracts (SPEC_ONLY, never
enforced), MemRL policy surface, OL quarantine constraints collector, and
supporting scripts/tests all referenced a now-dead integration. Purging
them removes ~2400 lines of stale surface area.

## Deleted files
- docs/ol-bridge-contracts.md
- docs/architecture/ao-olympus-ownership-matrix.md
- docs/plans/2026-02-13-ao-olympus-bridge-next-steps.md
- docs/contracts/memrl-policy-integration.md
- docs/contracts/memrl-policy.schema.json
- docs/contracts/memrl-policy.profile.example.json
- cli/cmd/ao/inject_ol_test.go
- skills/vibe/scripts/ol-validate.sh + codex mirror
- skills-codex/swarm/scripts/ol-ratchet.sh, ol-wave-loader.sh
- tests/ol-integration/ (entire directory)

## CLI code stripped
- internal/search/types.go: OLConstraint struct + InjectedKnowledge.OLConstraints field
- internal/search/inject_run.go: CollectOLConstraints, WriteConstraintsSection, quarantineRelPath const, all related trim/render logic
- cmd/ao/inject.go: gatherOLConstraints, collectOLConstraints wrapper, olConstraint type alias, init-time call site
- Package comments in provenance/storage/types/formatter updated "olympus" → "agentops"
- formatter/markdown.go: session tag "olympus" → "agentops" (+ test update)
- Tests: deleted TestCollectOLConstraints + TestInject_collectOLConstraints, stripped OL subtests from TestFormatKnowledgeMarkdown and TestInject_*, renamed "olympus" literal test data to "other-repo"
- rpi_phased_context.go: stripped "matches Olympus DefaultTimeout" and "Modeled on Olympus internal/git/worktree.go" comments

## Docs + skills stripped
- mkdocs.yml nav: 3 entries removed (AO-Olympus Matrix, MemRL Policy, OL-AO Bridge)
- docs/INDEX.md, contracts/index.md, architecture/index.md, index.md: cross-refs removed
- strategic-direction.md: retirement rationale compressed to one paragraph
- docs/context-packet.md, positioning/devops-for-vibe-coding.md, plans/README.md: OL-specific content removed
- skills/vibe/SKILL.md + codex mirror, swarm/SKILL.md: OL script refs removed
- skills/vibe/references/deep-checks.md, plan/references/planning-rules.md (+ codex), pre-mortem/references/council-fail-patterns.md (+ codex): OL rule/pattern entries removed
- skills-codex hashes regenerated (plan, pre-mortem, swarm, vibe)

## Precommit hook fix
- hooks/go-test-precommit.sh: prefer ~/.local/go/bin/go when present. Hooks
  don't inherit interactive-shell PATH, so apt-provided go-1.22 would
  otherwise override a user-local 1.26 install. Mirrors the zshrc pattern.

## Retained (historical / useful)
- strategic-direction.md: 1-paragraph archival note
- Historical release notes (docs/releases/*.md) — immutable past-release record
- cli/testdata/transcripts/real-2.4mb.jsonl — captured test fixture
- docs/brownian-ratchet.md ol-rg3p bead-ID refs — internal bead prefix, not Olympus

## Verification
- go build ./... && go vet ./... clean
- go test ./... clean except pre-existing TestGCBridgeVersion_Live panic
- scripts/docs-build.sh --check (mkdocs strict) clean
- scripts/check-contract-compatibility.sh passes
- scripts/regen-codex-hashes.sh run — 4 skills updated
2026-04-19 14:33:00 -04:00
Boden Fuller cc6750c4e8 feat(docs,skills): rebuild Pages site with MkDocs Material + harden RPI orchestrator delegation contract
## Docs site — boshu2.github.io/agentops

- Replace Jekyll minima with MkDocs Material (slate dark palette default)
- Landing hero scoped to .landing-hero (no gradient bleed on inner pages)
- Section landings (getting-started, architecture, reference, contracts, levels) with narrative ledes
- Generate skill catalog + per-skill pages from skills/*/SKILL.md at build
- Generate CLI reference from cli/docs/ at build (fails build on missing source)
- Fix every internal link via one-shot migration (scripts/migrations/2026-04-19-fix-docs-links.py)
- Wire mkdocs build --strict into pre-push gate (Check 25a)
- Replace .github/workflows/pages.yml with .github/workflows/docs.yml (actions/deploy-pages)
- README + docs/CONTRIBUTING updated with docs-build toolchain on-ramp
- tests/docs/validate-links.sh patched to understand mkdocs-generated paths

## RPI orchestrator strict-delegation contract

- Strict sub-skill delegation is now the default for /rpi, /discovery, /validation. No --full flag — always on.
- Canonical contract in skills/shared/references/strict-delegation-contract.md (plus Codex mirror)
- Forged learning with detection phrases + corrective actions (ao-inject-ready)
- Rename --no-lifecycle -> --no-scaffold in /discovery (Claude + Codex) with deprecation alias through v2.40.0
- Harden inline-work hotspots with orchestrator-owned markers in /crank STEPS 3a.3, 6.5, 8.7 + Inline Work Policy footer
- Flag consistency: --auto and --interactive scopes documented; --complexity syntax formalized
- CHANGELOG [Unreleased] documents + scaffolds; runtime hook enforcement explicitly deferred

## fix(hooks): go-test-precommit skips when no Go files staged

- Previously ran go vet + go build unconditionally, blocking non-Go commits when Go toolchain was missing or at a different version
- Now checks staged diff and exits cleanly if no *.go or go.{mod,sum,work} files are staged
- Applied to both hooks/ (source) and cli/embedded/hooks/ (synced)

Provenance: full RPI lifecycle with strict delegation at every phase boundary (Phase 1 Skill(discovery) -> Phase 2 Skill(crank) -> Phase 3 Skill(validation) -> Skill(vibe), Skill(post-mortem), Skill(retro)).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 10:37:58 -04:00
Boden Fuller 50cf99fed9 feat(validation): swarm evidence schema + validator + gate wiring
Defines a tracked contract for swarm worker result files living under
.agents/swarm/results/<task>.json. These files were implicitly shaped
but never validated — misshapen packets could silently break crank
result ingestion.

- schemas/swarm-evidence.schema.json: JSON Schema. Required: task,
  status, files_changed, notes. Optional: tests, gate, evidence,
  before/after counters. additionalProperties=true permits task-specific
  extensions.
- scripts/validate-swarm-evidence.sh: jq-based validator accepting a
  file or directory. ajv fallback when available. Exit 0 pass, 1 fail.
- docs/contracts/swarm-evidence.md: human-readable contract doc with
  example and schema link. Added to docs/INDEX.md catalog.
- scripts/pre-push-gate.sh: new section 26b ('swarm evidence schema')
  invokes the validator on every push.
- scripts/check-contract-compatibility.sh: extended ref resolution to
  also search schemas/ so docs/contracts/*.md can cite
  schemas/*.schema.json without tripping the cataloguing check.

Consumes ag-yhr 'Implement executable swarm evidence schema validation'.
2026-04-15 16:48:17 -04:00
Boden Fuller ecfa5f1d3b docs: consolidate skills decision tree to docs/ (na-pmx1.7)
Create docs/skills-decision-tree.md as the single source of truth for
"which skill do I need?". Replace duplicate tables in harvest SKILL.md,
knowledge-activation SKILL.md, and skills-codex mirrors with a pointer
link. Add INDEX.md entry.

Four files used to carry the same table; future edits now go in one
place. Quickstart already surfaces the individual skills under its
GIT=false + GLOBAL_AGENTS=true branch, so it does not need the
expanded reference — it is the entry point, not the index.

Closes na-pmx1.7.
2026-04-15 12:41:47 -04:00
Boden Fuller 8adb8b7773 docs: align README-linked docs with current framing 2026-04-09 23:03:30 -04:00
Boden Fuller 37fe999fb2 docs: surface behavioral discipline examples 2026-04-09 22:52:48 -04:00
Boden Fuller ad07b9baca feat: ship dream overnight runtime slice 2026-04-09 20:03:10 -04:00
Boden Fuller 7a2e321d94 feat: ship dream-cycle and contribution proofs 2026-04-09 17:49:15 -04:00
Boden Fuller 24b8d29738 fix: purge tracked .agents artifacts 2026-04-03 09:33:31 -04:00
Boden Fuller bc7e7937bb feat(cli): add software-factory operator lane 2026-04-02 15:11:54 -04:00
Boden Fuller 4010f588fa docs: add philosophy doc and observations section to README
Five-month retrospective distilled into docs/philosophy.md (five validated
principles for building with coding agents) and a personal observations
section in the README. Links added to INDEX.md and README footer.
2026-04-01 21:13:06 -04:00
Boden Fuller 4df690fcba feat: add session intelligence explainability 2026-04-01 19:04:36 -04:00
Boden Fuller 781a83e320 feat(contracts): add hook runtime contract with Claude/Codex/manual event mapping
Defines the canonical supported/adapted/unsupported event matrix across
runtimes. Codex uses skill-driven lifecycle (ao codex start/stop) instead
of hook callbacks. PreToolUse/PostToolUse documented as unsupported in Codex.

Implements: ag-35a.1
2026-03-28 14:34:21 -04:00
Boden Fuller 9e4ddcf859 feat: add codex hookless lifecycle fallback 2026-03-23 15:24:33 -04:00
Boden Fuller 63e0b0fc18 feat(cli): add PROGRAM.md autodev contract 2026-03-23 10:54:10 -04:00
Test User b6e16585e2 feat(search): wrap ao search around upstream cass 2026-03-22 15:48:15 -04:00
Boshu2 c0dc87dd7c feat(codex): add Codex skill API contract and conformance validator
- docs/contracts/codex-skill-api.md: source of truth for Codex runtime
  skill structure, frontmatter, discovery paths, multi-agent primitives
- scripts/validate-codex-api-conformance.sh: checks generated codex
  skills against actual Codex API (baseline: 12 failures, 124 refs)
- Add contract to docs/INDEX.md
2026-03-14 03:01:53 -04:00
Boshu2 92bc02dd9a feat(schemas): add output_contract field and canonical finding-item schema
Wave 1 of ag-1rh (Skill Output Standardization):
- Add output_contract optional field to skill-frontmatter.v1.schema.json
- Add optional finding id field to verdict.json for cross-skill correlation
- Create schemas/finding.json as canonical finding-item schema
- Document output_contract in SKILL-API.md
- Add finding.json link to docs/INDEX.md
2026-03-12 21:42:21 -04:00
Boshu2 029f3ecb08 docs: fix broken links and orphaned docs from README restructure
- GLOSSARY: fix broken anchor #knowledge-flywheel → #pillar-4-knowledge-flywheel
- GLOSSARY: update #the-rpi-workflow → #the-phased-lifecycle
- ARCHITECTURE: rename "The RPI Workflow" → "The Phased Lifecycle"
- INDEX: add evolve-setup.md, ENV-VARS.md, SKILL-ROUTER.md, and 5 other orphaned docs
- context-lifecycle: fix source column to self-reference instead of README
2026-03-11 17:47:54 -04:00
Boshu2 0c1d4f6308 docs: align lifecycle docs with primitive chain audit 2026-03-11 12:37:24 -04:00
Boshu2 b657b25e26 chore: preserve flywheel rpi v2 wip 2026-03-09 21:24:30 -04:00
Boshu2 02dcef9d76 merge: integrate preserved finding compiler rpi work
# Conflicts:
#	docs/INDEX.md
2026-03-09 17:00:13 -04:00
Boshu2 7af9ad5f9c chore: preserve finding compiler rpi worktree 2026-03-09 16:56:15 -04:00
Test 899c0eaea5 feat: add finding registry prevention ratchet 2026-03-09 16:44:54 -04:00
Test 73a4fb7c13 feat(skills): add repo-native orchestration profile 2026-03-09 14:50:59 -04:00
Test e0d4a8a55d feat: add headless Claude team backend 2026-03-09 13:34:36 -04:00
Boden Fuller 5e78aabb5f feat(skills): add context declarations to all 52 skills + SKILL-API reference
Add context: frontmatter blocks to 40 skills that were missing them,
bringing coverage from 13/52 to 52/52. Each skill gets a context
policy based on its behavior:

- Orchestration (crank, swarm, evolve): fork + exclude HISTORY + full intel
- Execution (bug-hunt, doc, complexity): fork + exclude HISTORY + topic intel
- Session (handoff, recover, status): inherit + no intel
- Background (push, ratchet, update): isolated + exclude all + no intel
- Knowledge (forge, athena, flywheel): fork + exclude TASK + full intel
- Contribute (pr-*): fork + exclude HISTORY + topic intel
- Cross-vendor (openai-docs, grafana): fork + exclude HISTORY/TASK + no intel
- Library/Meta (shared, standards): isolated + exclude all + no intel
- Product (product, readme, release): fork + exclude HISTORY + full intel

New docs/SKILL-API.md provides the definitive reference for all
frontmatter fields, context declaration semantics, and a quick-reference
table of all 52 skills with their policies.

Epic: ag-6e0
2026-03-06 21:05:04 -05:00
Boden Fuller 954822db42 fix(cli): harden historical AO/RPI mining contracts 2026-03-06 08:03:11 -05:00
Boden Fuller b5fc8dfae8 feat(docs,ci): wave 2 — CI sync and INDEX consolidation (na-xjw)
- Wire coverage-ratchet and skill-schema checks into ci-local-release.sh
- Skip validate-learning-coherence.sh (pre-existing frontmatter-only file)
- Document local-only check rationale in CI-CD.md
- Add Testing & CI section to docs/INDEX.md
- Consolidate testing-skills.md and release-e2e-checklist.md links

Issues: na-xjw.7, na-xjw.9
2026-03-05 10:40:25 -05:00
Boden Fuller fd96d24051 fix(gates): add context-assembly-interface to INDEX.md, refresh defrag report
Contract-compatibility gate failed because docs/contracts/context-assembly-interface.md
was on disk but not catalogued in docs/INDEX.md. Athena-freshness gate failed because
defrag report was 27h old (max 26h). Both fixed — 17/17 goals now pass.
2026-03-02 18:48:05 -05:00
Boden Fuller 65d8855b12 feat(headless): add headless invocation standards and RPI phase runner
- Add bin/run-rpi-headless.sh: chains RPI phases as separate headless
  Claude invocations, each invoking the actual skills (/research, /plan,
  /crank, /vibe, /post-mortem) so the full skill chain executes
- Add docs/contracts/headless-invocation-standards.md: documents when to
  use --dangerously-skip-permissions (skill chains) vs --allowedTools
  (controlled prompts), timeout strategy, and session chaining
- Update test-helpers.sh: add --no-session-persistence, --max-budget-usd,
  configurable ALLOWED_TOOLS env var (default: skip-permissions for tests)
- Update release-smoke-test.sh: add --no-session-persistence,
  --max-budget-usd, scoped --allowedTools for fast test (no skill exec)

Key insight: skills chain skills — --allowedTools constrains the entire
session including tools used inside skill execution, so skill-invoking
workflows must use --dangerously-skip-permissions with timeout/budget
as the safety rails instead.
2026-03-02 10:08:14 -05:00
Boden Fuller 04a9e456bc docs(crank): add swarm worker result evidence schema 2026-03-02 08:06:36 -05:00
Boden Fuller d38ed52e31 feat(rpi): implement phase-1 c2 center surfaces 2026-02-26 21:35:15 -05:00
Boden Fuller 488a36b589 fix(cli): address cycle 3 post-mortem findings — all 8 items
Swarm of 6 workers (8 items combined into 6 due to file conflicts):

- Fix merge-worktrees.sh: propagate file deletions, preserve permissions (-fp)
- Consolidate test helpers: add t.Cleanup to chdirTo, delete cov3W2CaptureStdout
  and cov3W2ChdirTemp, update 9 caller files
- Add go mod tidy + symlink checks to post-merge-check.sh
- Add Scope Overflow + Maintenance Protocol to agent-footguns.md
- Create resolveProjectDir migration tracker (5/87 callsites documented)
- Create dispatch-checklist.md for standard agent prompt references
2026-02-26 20:06:03 -05:00
Boden Fuller b7f62faed2 fix(cli): address swarm post-mortem findings — all 7 items
1. Unify chdirTemp/setupTempWorkdir + fix cov3W2CaptureStdout buffer (testutil)
2. Create agent-footguns.md for dispatch prompt pre-seeding
3. Add shell hygiene checks to preflight + create merge-worktrees.sh
4. Create post-merge-check.sh for integration validation
5. Start projectDir refactor — 5 production files use resolveProjectDir()
6. Create scope-escape-report.md template in docs/contracts
7. (Items 3+4 overlap: sanitize shell + integration checklist)
2026-02-26 19:25:16 -05:00
Boden Fuller 4a096c667d feat: harden release e2e validation workflow
- wire codex runtime lint into ci-local gate

- add focused release-e2e and codex-runtime linter tests

- publish release-e2e checklist docs and update links

- close rpi artifacts for ag-e6o
2026-02-26 12:16:38 -05:00
Boden Fuller 4fd2512c87 refactor: flatten CLI namespace and liquidate debt
Remove 5 namespace parent commands (know, work, quality, settings, start)
and register all 49 leaf commands directly on rootCmd. Flat namespace is
simpler for users; GroupID-based help provides visual grouping without
requiring namespace tokens.

Namespace flattening (184 files):
- Delete know.go, work.go, quality.go, settings.go, start.go
- Invert deprecatedCommands map (old namespace paths → flat paths)
- Update 127 consumer files (hooks, skills, docs, scripts, tests)

Debt liquidation (7 items from post-mortem):
- Fix 62 broken smoke test invocations
- Delete 118 LOC dead deprecatedAlias code
- Widen doctor scan to docs/, scripts/, and subdirectories
- Expand expectedCmds test to all 49 commands (floor 45)
- Add bidirectional expectedCmds sync check
- Create sweep-namespace-references.sh automation
- Fix EXPECTED_COMMANDS array to list flat commands
- Escape sed variables in sweep script

All Go tests pass (36s). All conformance checks pass.
2026-02-26 09:27:38 -05:00
Bo c94e00a2c1 docs: make newcomer guide first in startup instructions 2026-02-26 06:56:49 -05:00
Boden Fuller a539546d33 codex installer: ship no-clone install flow and docs sync 2026-02-26 06:24:21 -05:00
Boden Fuller bdf112ba7f feat: align codex skill docs and hook command mappings 2026-02-26 05:48:41 -05:00
Boden Fuller c665343d2c fix: resolve 32 vibe findings (2 critical, 7 high, 12 medium, 11 low)
Fix all findings from the v2.17.0..HEAD vibe review across 12 source files:

Critical: panic guards for negative budget in truncateToCharBudget and
dead prefix slice in generateArtifactID. High: bead override in batch
extract, json file counting in metrics, constraint index.json exclusion,
complexity reduction in curate status/verify (38→<25), flexible hook
script count assertion. Medium: truncate panic guards, error logging for
silent failures, null→[] JSON output, goals auto-detect (GOALS.md then
GOALS.yaml), raw var→getter usage, truncate-before-lock race fix. Low:
scanner.Err() checks, os.Stdout→cmd.OutOrStdout(), dry-run output
differentiation.

Docs: 5 missing INDEX.md concept links, curation-pipeline v1 status
callout. Tests: new TestSeed_DryRun_JSON. Regen: COMMANDS.md, embedded
hooks synced. All gates pass: build, vet, test, gocyclo, heal, doc-gate.
2026-02-24 16:51:26 -05:00
Boden Fuller 75ba4fb196 fix(ci): rewrite contract-compatibility gate with dynamic discovery
Replace hardcoded file list with dynamic checks:
- INDEX.md link resolution (all contracts/ refs verified)
- Bridge doc cross-reference verification
- Contract .md embedded schema reference resolution
- JSON schema/example validity (jq validation)
- Orphan detection (files on disk not in INDEX.md)
- Also catalogue rpi-run-registry and rpi-phase-result in INDEX.md
2026-02-23 14:04:07 -05:00
Boden Fuller 6953b20efa chore: move CHANGELOG, CONTRIBUTING, CODE_OF_CONDUCT, SECURITY into docs/
Declutter repo root — keep only AGENTS.md, CLAUDE.md, README.md, LICENSE,
GOALS.yaml, PRODUCT.md at top level. All cross-references updated across
README, .github templates, docs/, scripts/, skills/, and tests/.
2026-02-22 16:46:20 -05:00
Boden Fuller 37d4b5b2ae Merge branch 'codex/rpi-supervisor-cli' into main 2026-02-21 19:41:50 -05:00