mirror of
https://github.com/boshu2/agentops.git
synced 2026-09-14 15:08:13 +08:00
ao-pre-reduction@5b334a13f
7 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 |
||
|
|
0d82c6e20c |
docs(skills): re-narrate live Gas City substrate framing to NTM+MCP+managed-agents (ag-94vu #live-substrate-renarration) (#684)
## What Round-2 Gas City doctrine sweep (**ag-94vu**). Re-narrates the **5 named skill surfaces** that still framed Gas City as THE live reference substrate (present-tense operator instructions) to the canonical substrate trio — **NTM (tmux swarm) + MCP (`ao mcp serve`) + managed-agents (`ao agent`)** — matching [`docs/3.0.md`](docs/3.0.md). Driver: post-mortem checkpoint #6 Judge-3 FAIL ("the repo does not yet speak one doctrine"). ## Surfaces (9 insertions / 9 deletions, 5 files) - `skills/domain/references/factory.md` — "Gas City is the reference substrate" → the NTM/MCP/managed-agents trio; "Mayor-driven / `gc sling`" → **swarm-driven** dispatch. - `skills/scope/SKILL.md` — cron-cadence orchestration reference. - `skills/session-bootstrap/SKILL.md` — substrate submit reference. - `skills/SKILL-TIERS.md` — dream retired-pointer note. - `skills-codex/using-agentops/SKILL.md` — **codex-twin parity**: dropped the stale `gc` runtime-mode row for the canonical `substrate` row (the Claude twin was already correct; this one slipped in #679). ## Bounded by design This PR is the coherent **"live skill operator-instructions speak one doctrine"** slice. A repo-wide grep shows ~35 more refs across other skills + `docs/` narrative; bundling them would reproduce the #682 mega-PR that was rejected for sprawl. Deferred to tracked follow-ups: - **ag-r6g1** — round-3 narrative sweep (remaining skills/ + docs/ ~35 refs; many docs already frame GC correctly as "the reference" — triage required). - **ag-82pv** — remove orphaned `GasCityPhaseEvidence*`/`GasCityTranscript*` dead types in `cli/internal/rpi/artifacts.go`. ## Verification (local, green) - codex-parity-drift: PASS · registry-drift: PASS (80) · skill-catalog-drift: up-to-date · skill-isolation: PASS · skill-size: 0/0 · markdownlint: 0 errors. - Residual live-substrate grep over the 5 surfaces: clean. Closes-scenario: ag-94vu#live-substrate-renarration Bounded-context: BC1-Corpus Evidence: skills/domain/references/factory.md |
||
|
|
b39feb843d |
docs(corpus): cold-start orientation coherence after hook removal (soc-qh2g1 #hookless-cold-start) (#566)
## Summary Hookless AgentOps 3.0 ships no SessionStart/Stop hooks, but several cold-start surfaces still named hook scripts as live context-injectors — misleading a fresh agent into expecting auto-injection. This is a pure doc/skill reconciliation pass (BC1 Corpus); **no command logic changed**. - **Scenario 1 (orientation reachable without a hook):** `CLAUDE.md` + `AGENTS.md` Zero-Context startup now name the explicit orientation command — `ao session bootstrap` → `ao inject` / `ao corpus inject --query "<topic>"`. `AGENTS.md` drops the stale "when soc-vuu6.25 lands / until then" hedge: bootstrap shipped in PR #390 (soc-vuu6.25 is closed). - **Scenario 2 (no doc/skill promises hook-provided context):** `docs/architecture/primitive-chains.md` Chain 6, `skills/session-bootstrap/SKILL.md` (+ codex twin), and `docs/newcomer-guide.md` no longer present hook scripts as active surfaces; remaining hook mentions are reframed opt-in (author via the `hooks-authoring` skill). New `scripts/check-hookless-cold-start.sh` + bats lock the regression. - **Scenario 3 (each removed hook accounted for):** a disposition table in `primitive-chains.md` maps each removed hook *behavior* (context injection, end-of-session curation, standards surfacing, validation reminders) → an explicit replacement or "confirmed noise". ## Design notes - The new gate rides the existing `bats tests/scripts/*.bats` CI lane (no new `validate.yml` job, per plan). It scans a **fixed** list of cold-start surfaces and flags any `hooks/<name>.sh` path presented without an opt-in/historical hedge — deliberately *not* a broad `docs/`+`skills/` grep (release notes / `hooks-authoring` / scope guards legitimately name hook paths). - `CLAUDE.md` is **hand-maintained**: `build-claude.py` is vestigial (its `--check` reports STALE on clean `main` and it's absent from CI), so `CLAUDE.md` was edited directly rather than regenerated — running the generator would have clobbered it. - Scenario-3's disposition was folded into the `primitive-chains.md` Chain 6 reframe rather than a new doc (co-located, no catalogue-gate or mkdocs-nav churn). - Scope held tight: broader hook-taxonomy drift in `primitive-chains.md` (Terminology Ledger / Audit Snapshot "7 hook event sections") and the out-of-scope `CLAUDE.md:145` `session-pr-counter.sh` (workflow-discipline, soc-waxr) are left for follow-up beads. ## Test plan - [x] `bash scripts/check-hookless-cold-start.sh` → PASS (5 surfaces) - [x] `bats tests/scripts/check-hookless-cold-start.bats` → 5/5 - [x] `shellcheck scripts/check-hookless-cold-start.sh` → clean - [x] `bash scripts/audit-codex-parity.sh --skill session-bootstrap` → passed - [x] `bash skills/heal-skill/scripts/heal.sh --strict` → clean - [x] `cd cli && make sync-hooks` → no embedded drift - [x] `bash scripts/validate-agents-split.sh` → PASS (99 lines) - [x] `markdownlint --config .markdownlint.json` on changed files → clean - [x] No Go changes (build/test unaffected) Closes-scenario: soc-qh2g1#hookless-cold-start Bounded-context: BC1-Corpus Evidence: bash scripts/check-hookless-cold-start.sh; bats tests/scripts/check-hookless-cold-start.bats |
||
|
|
52930e05ff |
docs(3.0): honest doctrine — AgentOps is in-session, GC/Olympus own out-of-session (#3.0-honest-doctrine) (#518)
Lands the honest AgentOps 3.0 doctrine so the repo's narrative matches the shipped code: the daemon is **deleted**, AgentOps is the **in-session** agent operating loop + context compiler, and out-of-session orchestration is delegated to a substrate (the reference **Gas City City** or **Olympus**). ## What landed - **`docs/3.0.md`** (north star, rewritten): in-session-only identity; honest GC reference-City section — dispatch is **mayor-driven** today, order-auto-dispatch is a labeled **GC-upstream maturity gap** (`soc-5jwah`), not turnkey; two reference implementations table (AgentOps-on-GC has **no** daemon; Olympus **kept** its daemon because it is a sovereign product); e2e-proof evidence cited. - **`docs/architecture/canonical-loop-model.md`** (new): one loop body, two drivers, one inner tick, one config. Evolve (in-session, AgentOps-shipped) vs Factory (out-of-session, substrate-owned); crank/swarm placed as in-session steps. - **`docs/adr/ADR-0009-daemon-deletion-in-session-only.md`** (new, Accepted): the daemon-deletion decision — DELETE-not-deprecate rationale (AgentOps has no core to protect; Olympus kept its daemon because it's sovereign), the rejected *deprecate-keep-standalone* alternative, the sovereignty tradeoff (always-on requires GC), the e2e GC dispatch gap. References `soc-j7a5q`. - **`skills/domain/references/`**: loop-family vocabulary (loop, evolve, factory, rpi, autodev, context-compiler) as 6 entries + INDEX rows + SKILL.md links. - **README**: "Two ways to use it" reframed to **in-session vs out-of-session**; deleted-command prose (`ao daemon` / `ao schedule` / `ao overnight`) reframed to in-session + GC reference. - **`packs/agentops`**: dispatch relabeled mayor-driven; order-auto-dispatch GC-upstream gap (`soc-5jwah`) called out in `bead-dispatch.toml`, `rpi-dispatch.toml`, and `FINALIZE-NOTES.md`. `gc config show --validate` still exits 0. - Reconciled stale `agentopsd` prose in `skills/scope` + `skills/session-bootstrap`. ## Gates - `heal.sh --strict`: clean - doc-release gate: succeeded (link validation PASS, 0 broken) - `gc config show --validate --city .`: exit 0 - markdownlint: 0 errors - `generate-registry.sh --check`: up to date - codex parity (domain): passed - `go build ./...`: success **Do not merge** — the operator reviews `docs/3.0.md` before tagging. Closes-scenario: soc-j7a5q#3.0-honest-doctrine Bounded-context: BC1-Corpus Evidence: .agents/discovery/2026-05-24-gvkj6-e2e-proof.md |
||
|
|
427d22244a |
feat(session-bootstrap): executable acceptance for the universal init prompt (soc-ho3qh #session-bootstrap-hexagon) (#454)
soc-qk4b skill-hexagon-crank — high-traffic peripheral skill. /session-bootstrap (driving-adapter, customer-of AGENTS.md) lacked a .feature. - skills/session-bootstrap/references/session-bootstrap.feature (NEW): every agent runs it first → model-identical orientation frame; SessionStart hook fail-open (--robot, discards exit); --json for pipeline/headless before claiming - linked in SKILL.md; registry regenerated consumes [bd, onboard] already filled — acceptance-only. How tested: lint-skills ✓ session-bootstrap (116 lines); scenarios --lint 0 errors; codex parity passed; registry up to date. Sibling: acceptance-only crank like /security-suite #453. NOTE: claude-review infra-red (weekly limit, resets May 25) — operator-authorized bypass when sole red. Closes-scenario: soc-ho3qh#session-bootstrap-hexagon Bounded-context: BC5-Runtime Evidence: skills/session-bootstrap/references/session-bootstrap.feature |
||
|
|
1a7e2cb748 |
feat(ao session bootstrap): universal init prompt (soc-vuu6.25 #ao-session-bootstrap) (#390)
## Summary
`ao session bootstrap` — every agent spawned into an AgentOps repo runs
this first. Output shape is identical regardless of model (the
fungibility contract: swap Claude for Codex on any bead without
re-orienting).
## What
Four fail-open substeps emit fields in
`schemas/session-bootstrap.v1.schema.json`:
| Field | Source | Fallback |
|---|---|---|
| `agents_md_read` + `agents_siblings_read` | `AGENTS.md` +
post-soc-vuu6.3 siblings | `false` / empty array |
| `onboard_phase` | `onboard --auto` (soc-vuu6.9 future) |
`skipped:not-implemented` |
| `ready_beads_count` | `bd ready --json` | `null` |
| `mail_unread_count` | mcp-agent-mail | `null` (wiring is follow-up
bead) |
## Why
The fungibility philosophy mandates one init prompt for every agent
regardless of type. Today every operator hand-rolls orientation; two
agents spawned by two different operators don't share a starting frame.
`ao session bootstrap` is the operational primitive that closes the gap.
Tiny (~270 LOC including helpers), fail-open, deterministic.
## Files
- New: `cli/cmd/ao/session_bootstrap.go` + `_test.go` (8 cases)
- New: `schemas/session-bootstrap.v1.schema.json` (draft-07)
- New: `skills/session-bootstrap/SKILL.md` +
`skills-codex/session-bootstrap/SKILL.md` (mirrored)
- Catalog: `skills/SKILL-TIERS.md`, `skills/using-agentops/SKILL.md`,
`skills-codex/using-agentops/SKILL.md`
- Regenerated: `cli/docs/COMMANDS.md` (sub 196→197, all 269→270),
`registry.json` (cli_commands 173→174),
`PRODUCT.md`/`docs/ARCHITECTURE.md`/`docs/SKILLS.md` (count sync 79→80),
`evals/agentops-core/cli-command-surface-{matrix.json,fixtures/cli-command-surface-smoke.sh}`
(fixture bump)
## Verification
```
cd cli && go build ./... && go test ./cmd/ao/ -run TestSessionBootstrap -count=1
# 8 passed
bash evals/agentops-core/fixtures/cli-command-surface-smoke.sh
# cli-command-headings: top=73 sub=197 all=270 / cli-help-matrix-ok
bash tests/docs/validate-doc-release.sh
# PASS: doc-release gate succeeded
```
Closes-scenario: soc-vuu6.25#ao-session-bootstrap
Bounded-context: BC5-Runtime
Evidence: cli/cmd/ao/session_bootstrap.go
Evidence: cli/cmd/ao/session_bootstrap_test.go
Evidence: schemas/session-bootstrap.v1.schema.json
Evidence: skills/session-bootstrap/SKILL.md
|