mirror of
https://github.com/boshu2/agentops.git
synced 2026-09-14 15:08:13 +08:00
ao-pre-reduction@5b334a13f
12 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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 |
||
|
|
78fc0e64f5 |
docs: de-hook the 6 big operator/architecture docs (ag-t1ca #big-files) (#711)
## What Completes the hooks-runtime decoupling (ag-t1ca) — the 6 large files, each de-hooked by a dedicated verify-first pass (no `hooks/` dir, no `hooks.json`, `ao hooks` absent, hook `.sh` files absent; CI = the authoritative gate). | File | Reframe | |---|---| | ARCHITECTURE.md | hooks-as-enforcement / `hooks/ # 12 hook scripts` dir / "Session Hooks" → CI gates + `ao` commands + "Session Lifecycle"; 82-skill breakdown intact | | agentops-system-map.md | "52 Skills/121 CLI/13 hook entries" → "82/76/hookless (CI-gated)"; hook-enforcement section → hookless mapping | | context-lifecycle.md | hook-file citations → real mechanisms (CI gate + `/pre-mortem`,`/validate`,`/post-mortem` + `ao constraint`/`ao findings`) | | leverage-points.md | "3 active hooks"/push-gate/pre-mortem-gate → CI gates + skill steps; resolved the doc's own active-vs-guardrail contradiction | | troubleshooting.md | "Hooks aren't running" / "push gate hook" / `ao hooks test` → hookless guidance; **ROADMAP.md link kept** (audit's "broken link" was a false positive) | | INCIDENT-RUNBOOK.md | Scenario C "Hook Scripts Fail" + Per-Hook Kill Switches → 3.0 "Skills Not Loading / CI Gate Failing"; `AGENTOPS_HOOKS_DISABLED` kept only as user-authored-hooks opt-out | | agentops-brief.md | "73 shared skills/12 Hook Events"/"Startup hooks" → 82 skills, hookless lifecycle | ## Verification (aggregate, by me — not just subagent self-reports) - `markdownlint -c .markdownlint.json` (all docs) → **0 errors** - `tests/docs/validate-links.sh` → **0 broken** (2902 checked) - `scripts/sync-skill-counts.sh --check` → clean (ARCHITECTURE.md gate target intact) - residual hooks-as-live-runtime grep across all 7 → only correct negation/opt-in framing remains - net −41 lines (reframe, not gutting) Closes-scenario: ag-t1ca#big-files Bounded-context: BC1-Corpus Evidence: docs/ARCHITECTURE.md |
||
|
|
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 |
||
|
|
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>
|
||
|
|
8adb8b7773 | docs: align README-linked docs with current framing | ||
|
|
672beddb98 | docs: unify operational-layer positioning | ||
|
|
3eb679c6f6 |
feat(knowledge): rename athena → compile + add Karpathy-style knowledge compiler
Rename the athena skill to compile — a descriptive name that communicates what it actually does. Extend with Karpathy's LLM Knowledge Bases architecture: - New compile phase: LLM reads raw .agents/ artifacts and produces interlinked markdown wiki at .agents/compiled/ with index.md, log.md, backlinks - New lint phase: detects contradictions, orphan pages, stale claims, coverage gaps - Pluggable compute backend via AGENTOPS_COMPILE_RUNTIME (ollama|claude|openai) - Hash-based incremental compilation (only recompile changed sources) - compile.sh engine with security fixes (no shell injection, path traversal guard) - Full rename across 93 files: skills, docs, CLI, tests, hooks, scripts, codex Existing Mine → Grow → Defrag cycle preserved as phases within the larger compile workflow. No vector DB — compiled wiki IS the retrieval layer. |
||
|
|
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 |
||
|
|
ec061db60d |
docs(readme): extract reference material into dedicated docs (679→472 lines)
Move config env vars, Knowledge Ledger lifecycle, parallel RPI diagram, evolve setup, recovery/hygiene, and vibe checks out of README into their natural doc homes. Deep Dive section collapsed to summary + link table. Phase details and Built On attribution preserved. New: docs/evolve-setup.md Appended: docs/how-it-works.md (phased/parallel RPI) Appended: docs/context-lifecycle.md (knowledge ledger flow) |
||
|
|
0e62657856 | docs(flywheel): close prevention-ratchet validation loop | ||
|
|
899c0eaea5 | feat: add finding registry prevention ratchet | ||
|
|
e0d4a8a55d | feat: add headless Claude team backend |