ADR 0003/0004: enforced verification ledger + measured 3-way benchmark#5
Conversation
Implements ADR 0003 (verification / maker-checker integrity) and ADR 0004 (orchestration-value evidence), plus the two-axis agent model. Two axes - agents are work modes, domain skills are capability: - Purify builder/planner/librarian/verifier into domain-neutral work modes; move coding capability into coding domain skills (frontend-change, debug-fault, plan-architecture, make-code-change). - Shared domain-neutrality denylist guards bundled agents (test) and custom agents (doctor). ADR 0003 - verification integrity: - doctor warns when a loop maker and verifier resolve to the same model. - Default post-execution verification (verification.default_check, opt-out): builder emits a verification-status ledger; orchestrator routes a verifier pass for unverified file changes. - doctor custom-agent neutrality check. - Warn-vs-block policy documented. ADR 0004 - orchestration value: - providerProfile metrics dimension (native / same- / mixed-provider). - benchmark-summarize CLI + committed 2026-05-23 fixture; scripts/ extract-benchmark-metrics.ts for DB -> metrics JSONL. - Fix trace worktree keying; add trace-check --require-evidence. - Harder execution-quality benchmark suite with runnable prompts. Verification: bun test (156 pass), bun run build, git diff --check clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Capture the maker's "Verification status" block from task output as a verification-report trace event, and make trace-check fail when a maker reported file changes with status unverified and no verifier delegation followed in the same session (ADR 0003 D2/D4, non-loop path). verification-skipped with a reason stays an operator opt-out. Also warn at agent-definition load time when a custom agent leaks domain capability (ADR 0003 D3), instead of only in doctor. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Six live opencode runs (native / same-provider / mixed-provider x two exec tasks), extracted into a committed fixture and reproduced by a regression test. Same-provider orchestration was +85-146% tokens with no quality gain; mixed-provider matched native cost on exec-coding-001 (cheaper-same-quality). Native caught the planted defect, and builder self-verified in every orchestrated run, so no verifier pass was triggered - the follow-up task for deceptively-green suite design is recorded in ROADMAP. Fix extract-benchmark-metrics taskID regex so multi-segment ids like exec-coding-001 no longer truncate to coding-001. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Add GitHub Actions CI (bun test, build, git diff --check). - Lead README with the maker/checker ledger and measured benchmark numbers; flip the doc-positioning test to protect the new order. - Track bun.lock instead of package-lock.json (project is bun-based). - Replace the collected loop-engineering/llm-wiki essays with a design-influences index carrying repo mappings and claim boundaries. - Drop the vestigial package.json directories field, set author. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Code Review — PR #5 (
|
Summary
Lands ADR 0003 (enforced verification & maker/checker integrity) and ADR 0004 (orchestration-value evidence), then closes the loop with a live measured benchmark run and an evidence-first repositioning.
Verification (ADR 0003)
Verification status:block as a newverification-reporttrace event (non-loop path).trace-checknow fails when a maker reported file changes with statusunverifiedand noverifierdelegation followed in the same session;verification-skippedwith a reason stays an operator opt-out.doctor.Benchmark (ADR 0004)
opencode runexecutions (native / same-provider / mixed-provider × 2 exec tasks), fixturetests/fixtures/orchestration-benchmark/2026-07-04-exec-quality-3way.jsonl, reproduced by a regression test.cheaper-same-quality). No verifier pass was ever triggered because the maker self-verified — follow-up task for deceptively-green suite design recorded in ROADMAP.extract-benchmark-metrics.tstaskID regex (exec-coding-001no longer truncates tocoding-001).DX / hygiene
bun test,bun run build,git diff --check).bun.lockinstead ofpackage-lock.json; collected essays replaced bydocs/design-influences.md(repo mappings + claim boundaries);package.jsoncleanup.Verification
bun test: 162 pass, 0 failbun run build,git diff --check: passbun install --frozen-lockfile: pass (CI parity)🤖 Generated with Claude Code