Commit Graph

7 Commits

Author SHA1 Message Date
Boden Fuller 1bd6153062 docs(goals): encode the agent-ergonomic ao CLI contract as a directive
The agent-ergonomics pass landed conventions (capabilities/robot-docs
introspection, --json everywhere, error-teaches, flag-typo hints) but
nothing in the repo's guiding contracts pointed future autodev/evolve
cycles at them. Add GOALS.md Directive 13 codifying the contract, and a
PROGRAM.md decision-policy line so a slice that touches an `ao` CLI
surface is held to it.

Mirrors the directive shape of GOALS.md #12 (convention directive with a
Steer line). Introspection surfaces: 0 → 2 documented as standard.
2026-05-17 01:12:36 -04:00
Boden Fuller 4c0fe25dc0 docs(autodev): encode operating-loop doctrine into PROGRAM.md contract
Reframe the autodev contract around the operating loop: BDD-shaped
intent, vertical slices mapped to one Given/When/Then, first-failing-test
discipline, the 7-row conflict-free wave check, bounded-context and
domain-purity rules, and ratchet-gated capture. Adds a domain/ports/
adapters go test to the validation bundle.
2026-05-16 07:25:36 -04:00
Boden Fuller 56b9c88407 fix(test): add git show mock to pre-push BATS test 5
The --scope head default (5dbe1e6d) uses `git show --name-only`
instead of `git diff --name-only`. The test mock only handled
diff, causing a false-negative on go build failure detection.
2026-05-04 22:14:31 -04:00
Boden Fuller a154b6ffa3 feat(nightly): add RPI auto prompt brief 2026-05-01 09:24:20 -04:00
Boden Fuller 034ee9c0a0 feat(overnight): register external watchlist generator + PROGRAM.md scope (RFC 0001 Proposal 2 Wave 3)
Wire the Wave 2 generator into the INGEST stage's parallel finding-generator
fanout. The existing runFindingGenerator wrapper already enforces the
2-minute per-source budget (RFC §253) via context.WithTimeout; no new
machinery needed.

Changes:
- cli/internal/overnight/ingest.go: append the external-watchlist generator
  to findingGenerators(). Reuses defaultFindingGeneratorTimeout (2 min) and
  the existing goroutine-per-generator fanout.
- PROGRAM.md: add .agents/dream/external-watchlist.yaml to Mutable Scope
  when Dream is the active command, making the operator-managed source's
  ownership explicit alongside the broader .agents/** rule.
- cli/internal/overnight/stages_test.go: update GeneratorSidecarCount
  assertion in TestRunIngest_FindingGeneratorEmitsRealSidecarCandidates
  from 1 to 2 (mine-findings + external-watchlist soft-success when no
  watchlist.yaml exists).

Verification:
- cd cli && go test ./internal/overnight/... ./internal/rpi/... -> all PASS
- bash scripts/check-contract-compatibility.sh -> 0 failures
2026-04-26 19:55:39 -04:00
Bo 1bd2f0824c feat(dream): record finding generator sidecars
Merge the Dream mine-findings generator sidecar prototype from RFC 0001.
2026-04-26 16:10:01 -04:00
Boden Fuller 553211dabe docs: add autodev program contract 2026-04-11 17:37:54 -04:00