mirror of
https://github.com/boshu2/agentops.git
synced 2026-09-14 15:08:13 +08:00
ao-pre-reduction@5b334a13f
17 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6d5d111faf |
feat(skills): land four-vendor skill corpus (#803)
## Summary - Lands the AgentOps skill corpus across source and Codex wrappers, including Gemini image targets. - Integrates the skill branch onto current origin/main and refreshes generated manifests/catalogs. - Normalizes local next-work queue enum drift and fixes shellcheck in alias-collision validation. ## Validation - bash scripts/regen-all.sh --check - bash scripts/validate-skill-schema.sh - bash tests/skills/test-token-budgets.sh - bash tests/skills/run-all.sh - bash scripts/audit-codex-parity.sh && bash scripts/validate-codex-override-coverage.sh && bash scripts/validate-codex-generated-artifacts.sh --scope worktree && bash scripts/validate-codex-api-conformance.sh && bash scripts/validate-codex-runtime-sections.sh && bash scripts/lint-codex-native.sh - bash skills/heal-skill/scripts/heal.sh --strict - PRE_PUSH_SKIP_MKDOCS=1 bash scripts/pre-push-gate.sh --fast MkDocs strict remains skipped locally via the documented PRE_PUSH_SKIP_MKDOCS=1 override because the repo currently emits repo-wide strict-link warnings unrelated to this landing; CI remains authoritative. |
||
|
|
b84dcf3ca2 |
docs(hookless): close cold-start orientation drift (soc-qh2g1 #cold-start-orientation-coherence) (#795)
## Summary Close the hookless cold-start orientation gap for `soc-qh2g1` by making the live startup docs and skills point at explicit `ao session bootstrap` plus pulled context (`ao inject` / `ao lookup`) instead of hidden SessionStart behavior. ## Changes - Reframes live docs that still implied automatic startup/handoff injection to the hookless explicit-command path. - Updates source and Codex skill mirrors for `quickstart`, `inject`, `using-agentops`, `recover`, `bug-hunt`, and `session-bootstrap`. - Expands the cold-start and docs drift gates so `SessionStart hook`, `startup hooks`, and `auto-inject ... hook` promises fail unless explicitly hedged as opt-in, removed, or historical. - Refreshes scoped Codex skill hashes for the touched mirrors. ## Test plan - [x] `bash scripts/check-hookless-cold-start.sh` - [x] `bash scripts/check-doc-hooks-drift.sh` - [x] `bats tests/scripts/check-hookless-cold-start.bats tests/scripts/check-doc-hooks-drift.bats` - [x] `shellcheck scripts/check-hookless-cold-start.sh scripts/check-doc-hooks-drift.sh` - [x] `bash scripts/regen-codex-hashes.sh --check --only session-bootstrap,quickstart,inject,using-agentops,recover,bug-hunt` - [x] `bash scripts/validate-codex-generated-artifacts.sh` - [x] `bash scripts/validate-codex-lifecycle-guards.sh` - [x] `bash scripts/validate-agents-split.sh` - [x] `git diff --check` - [x] `bash scripts/validate-skill-runtime-parity.sh` - [x] `bash scripts/lint-codex-native.sh` Closes-scenario: soc-qh2g1#cold-start-orientation-coherence Bounded-context: BC1-Corpus Evidence: scripts/check-hookless-cold-start.sh |
||
|
|
f4f991bbda |
docs: fix broken intra-repo links in docs/ (ag-28dp #docs-link-rot) (#781)
## What Fix 44 broken intra-repo links across 7 files under `docs/`, surfaced by a `docs/` markdown link audit. `mkdocs.yml` has `strict: false`, so the broken links slipped past CI — but they break GitHub-raw viewing and agent file-reading (the repo treats pointer rot in base docs as a defect). ## Two pointer-rot classes 1. **41× `](skills/<name>.md)` → `](../skills/<name>/SKILL.md)`** — skills live at `skills/<name>/SKILL.md`, never `skills/<name>.md`, and `docs/` is one level deep so the target needs `../`. Several links already had the **correct link text** (e.g. `[skills/pre-mortem/SKILL.md](skills/pre-mortem.md)`) — only the href was wrong, confirming intent. Special case: `skills/catalog.md` → `SKILLS.md` (`docs/SKILLS.md` = the complete 82-skill reference). 2. **3× `](cli/commands.md)` → `](../cli/docs/COMMANDS.md)`** — the generated CLI command doc. Files: `GLOSSARY.md`, `index.md`, `context-lifecycle.md`, `behavioral-discipline.md`, `create-your-first-skill.md`, `context-packet.md`, `software-factory.md`. **Not touched:** the intentional placeholder links in `docs/standards/markdown-style-guide.md` (syntax demos: `url`, `image.png`, `./other-doc.md`, etc.). ## Verification - `docs/` broken-link scan: **44 → 0** outside the style-guide placeholders. - `markdownlint-cli2` on all 7 files: **0 errors**. - Pure link-href changes (44 insertions / 44 deletions); no prose or behavior change. Closes-scenario: ag-28dp#docs-link-rot Bounded-context: BC1-Corpus Evidence: ag-28dp |
||
|
|
02659e7b44 |
docs: fix GLOSSARY skill count (66→82, gated) + portable test-debt path (ag-j4tw #counts) (#709)
## What Verified-clean subset of the second-wave counts/misc bead (ag-j4tw). - **GLOSSARY.md:170** "ships 66 shared skills" → 82, and **extended `sync-skill-counts.sh`** to cover the call-site so it self-heals and CI catches future drift (same gate pattern as ag-bcl4). - **test-architecture-debt-analysis.md:3** hardcoded Mac path `/Users/fullerbt/…/cli/cmd/ao/` → repo-relative `cli/cmd/ao/`. ## Verify-first dropped FALSE POSITIVES Applying the session's recurring lesson (audit agents over-flag): - ENV-VARS `COUNCIL_EXPLORER_MODEL/TIMEOUT`, `COUNCIL_R2_TIMEOUT` are **live** (consumed by `skills/council/`, not `cli/` — the audit only grepped cli/). - `MEMRL_MODE` exists (3 files); `rg-optimized.md:70` is blank; ROADMAP "hookless S2–S5" is a real follow-on; `ao inject` is live. ## Still open (ag-j4tw stays open) - agentops-brief.md / agentops-system-map.md counts are entangled in **hook-diagram lines** → handle with ag-t1ca. - TESTING.md `tests/hooks/` (hooks) + testing-skills.md `tests/_quarantine/claude-code` → `tests/claude-code` (larger path rework). ## Verification - `scripts/sync-skill-counts.sh --check` → clean (GLOSSARY now covered) Closes-scenario: ag-j4tw#counts-glossary Bounded-context: BC2-Validation Evidence: docs/GLOSSARY.md |
||
|
|
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 |
||
|
|
cca8fc6731 |
Drain open next-work.jsonl: 6 PRs in one branch (epic soc-xlw8) (#266)
* docs(mkdocs): fix 5 anchor mismatches + 1 unresolvable relative link (soc-2yx9) mkdocs slugify collapses em-dash spacing in headings to a single hyphen, so '## A — B' produces id="a-b", not 'a--b'. Five doc cross-references encoded the visual double-dash and were silently flagged INFO by `mkdocs build --strict`. Fixes (slugs verified against built site/ HTML): - docs/GLOSSARY.md → how-it-works.md#ralph-wiggum-pattern-fresh-context-every-wave - docs/cdlc.md (×2) → the-science.md#part-6-the-convergence-cdlc-as-the-unifying-spine - docs/context-lifecycle.md (×2) → #the-knowledge-ledger-session-to-session-flow - docs/releases/2026-03-21-v2.28.0-notes.md → ../CHANGELOG.md#2280-2026-03-21 Plus one structural fix: - docs/documentation-index.md → ../evals/workbench/ replaced with the github.com URL pattern used by every other extra-docs link in this file. evals/ lives outside docs_dir so mkdocs cannot resolve relative links there. Acceptance: zero INFO/WARN/ERROR mentioning these 5 files in `mkdocs build --strict`. Pre-existing INFO lines on templates/ and L*-*/ README directory links are out of scope (research §U4 / pre-mortem L3). Closes soc-2yx9 from epic soc-xlw8. * fix(goals): anchor cwd to GOALS.md repo root for `ao goals measure` (soc-crzz) Reproduction: from /tmp, `ao goals measure --file <abs>/GOALS.md` returned 21/22 fails with "bash: scripts/check-*.sh: No such file or directory". Goal Check strings are relative paths; bash inherited the caller's cwd. Fix: at RunMeasure entry, derive the repo root from the absolute GoalsFile path and chdir to it for the duration of the measurement; restore the prior cwd via deferred no-op-safe restorer (`withGoalFileCwd`). When GoalsFile is not inside a git repo, the helper returns a no-op so today's behavior is preserved outside repos. Also expose `Paths.RepoRoot` from cli/internal/paths so future callers can detect the resolved repo top without re-shelling git. The field is empty when the resolver was given a directory not inside a repo, mirroring `git rev-parse --show-toplevel` semantics. Smoke (post-fix): `cd /tmp && ao goals measure --file <abs>/GOALS.md --json` returns 22/22 pass, zero "No such file" errors. Tests: - TestRunMeasure_RelativeScripts_FromExternalCwd exercises the bug path end-to-end (fake git repo + relative-script goal + chdir to outside). - TestWithGoalFileCwd_NoRepoFallback verifies the no-repo no-op. - TestWithGoalFileCwd_EmptyPath verifies the empty-input no-op. Per pre-mortem H1 (.agents/council/2026-05-07-pre-mortem-drain-open-next-work-items.md). Closes soc-crzz from epic soc-xlw8. * feat(eval): add stdout_contains_auto_detect ratchet for live test counts (soc-bvhn) Two eval pins drifted silently when tests were added: - evals/agentops-core/hook-lifecycle-behavior.json "Total: 226" - evals/agentops-core/pre-push-gate-governance.json "1..51" The 226-pin only counted tests/hooks/test-hooks.sh and missed the 86-test test-hooks.bats suite entirely; the 1..51-pin was a manually-bumped plan line (commit |
||
|
|
08edbc84a8 |
docs: align vocabulary to three-layer product model across docs and README
Replace "bookkeeping, validation, primitives, and flows" with the three product layers (Context Compiler, Validation Gates, Knowledge Flywheel) in core docs, README skills table, and comparison docs. Adds three-layer comparison tables to all 5 vs-*.md files and a navigation section to documentation-index.md. |
||
|
|
3f1566fdf0 | fix(git): stop tracking agents runtime state | ||
|
|
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). |
||
|
|
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>
|
||
|
|
6d80baf689 | docs: align product framing across onboarding surfaces | ||
|
|
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 |
||
|
|
0c1d4f6308 | docs: align lifecycle docs with primitive chain audit | ||
|
|
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. |
||
|
|
a539546d33 | codex installer: ship no-clone install flow and docs sync | ||
|
|
a852ce1d45 |
fix(docs): sync skill counts and fix broken links after consolidation
Wave 3 of ag-lhb: Remove deleted skill entries from SKILL-TIERS.md, sync counts to 49 total (40 user-facing, 9 internal), fix broken GLOSSARY.md link to deleted extract skill, fix heal.sh dead xrefs. |
||
|
|
37d4b5b2ae | Merge branch 'codex/rpi-supervisor-cli' into main |