Files
boshu2__agentops/docs/evolve-setup.md
T
Bo 81c2f8ee27 chore(docs): drop dead ao evolve refs from agent-facing docs (ag-354d #doc-refs) (#736)
## What
Drops dead `ao evolve` command references from agent-facing docs. The
`ao evolve` CLI was deleted in #724 (ag-llni); these docs still pointed
agents at it.

- `AGENTS.md` / `CLAUDE.md` / `README.md` / `docs/dependencies.md`: the
substrate-loop line `` `ao rpi`/`ao evolve` loop `` → keeps the **live**
`` `ao rpi` `` and drops the **dead** `` `ao evolve` ``.
- `README.md` quickstart: removed the dead `ao evolve --max-cycles 1`
example (loop is now the `/evolve` skill; `ao rpi phased` already covers
terminal lifecycle).
- In-session skill refs (`/rpi`, `/evolve`) preserved — those exist.

## Scope (ag-354d slice 1 of N)
Agent-facing docs only. **Excluded:** gate-protected plan docs
(`docs/reference/agentops-domain-evolution-{bdd,plan}.md`, hexagonal-map
— `check-agentops-domain-evolution-plan.sh` requires the literal);
obsolete runner scripts (coupled, separate slice); cron-template
(already done in #724).

## Gate
`markdownlint`: 0 errors on all 4 files. The 5 local pre-push-gate reds
(`test-fixture parity gc-stale-worktrees`, `worktree
disposition`/canonical-root-dirty, `corpus freshness` 7d snapshot,
goals-validate, CMDAO-surface) are **pre-existing/non-diff** — same set
SageHarbor classified in PR #730/#69; a docs-only change touches none of
those surfaces. CHANGELOG-sync + link-integrity passed.

Closes-scenario: ag-354d#doc-refs
Bounded-context: BC5-Runtime
Evidence: README.md
2026-06-05 02:51:40 +00:00

2.4 KiB

Setting Up /evolve

Bootstrap with ao goals init — it interviews you about your repo and generates mechanically verifiable goals. Or write them by hand:

# GOALS.md

## test-pass-rate
- **check:** `make test`
- **weight:** 10
All tests pass.

## code-complexity
- **check:** `gocyclo -over 15 ./...`
- **weight:** 6
No function exceeds cyclomatic complexity 15.

Migrating from GOALS.yaml? Run ao goals migrate --to-md. Manage goals with ao goals steer add/remove/prioritize and prune stale ones with ao goals prune.

/evolve measures them, picks the worst gap by weight, runs /rpi to fix it, re-measures ALL goals (regressed commits auto-revert), and loops. It commits locally — you control when to push. Kill switch: echo "stop" > ~/.config/evolve/KILL

Built for overnight runs. Cycle state lives on disk, not in LLM memory — survives context compaction. Every cycle writes to cycle-history.jsonl with verified writes, a regression gate that refuses to proceed without a valid fitness snapshot, and a watchdog heartbeat for external monitoring. If anything breaks the tracking invariant, the loop stops rather than continuing ungated. See skills/SKILL-TIERS.md for the two-tier execution model that keeps the orchestrator visible while workers fork.

Maintain over time: /goals shows pass/fail status, /goals prune finds stale or broken checks.

Pairing GOALS.md with PROGRAM.md

Use GOALS.md for strategic fitness and PROGRAM.md for operational control.

  • GOALS.md answers what good looks like.
  • PROGRAM.md answers what the autonomous loop may touch, how one experiment is bounded, which validations decide success, and when to stop or escalate.
  • /evolve now loads PROGRAM.md before cycle 1, filters out-of-scope work, and uses the program's validation and decision policy in its cycle keep/revert gate.

Initialize the operational contract with:

ao autodev init
ao autodev validate

This split keeps repo goals stable while allowing the autonomous runtime policy to evolve independently. See Autodev Program Contract for the required sections and semantics.

See Also