Adds benchmark/sdk_backend.py that routes model calls through either the anthropic SDK (preferred, requires ANTHROPIC_API_KEY) or the claude-agent-sdk as a Claude Code session fallback. agents.py and baseline.py now go through this unified backend instead of calling anthropic directly. Ran benchmark/run.py --mode single-shot --question q1 end-to-end with real Claude API calls via claude-agent-sdk. Real numbers: - Marketplace (Haiku 4.5): 3314 tokens, F1 1.000 (exact match) - Baseline (Sonnet 4.6): 697 tokens, F1 0.857 (penalized for "1783") - Pareto verdict: FAIL (not strictly NW; marketplace wins quality, loses cost — informative failure per spec design). Added autonomous_report.html (rich narrative with Pareto chart) and autonomous_summary.md. All 34 Go packages still green. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.6 KiB
4.6 KiB
Autonomous Run Summary — 2026-04-11
Mode: Full autonomous, zero user interruptions after declaration. Outcome: Both features implemented, merged, tested, and integration-run with real Claude API calls on a real MuSiQue question.
What shipped
Specs
specs/016-agent-marketplace/spec.md— 4 user stories, 29 FRs, 10 SCs.specs/017-musique-benchmark/spec.md— 4 user stories, 23 FRs, 7 SCs.docs/superpowers/specs/2026-04-11-mas-benchmark-design.md— brainstorming design doc.
Go implementation (feature 016)
internal/marketplace/service.go,store.go— business logic + SQLite CRUD.internal/mcp/marketplace.go,marketplace_test.go— 6 new dispatch actions + 4 test functions.internal/storage/schema/018_agent_marketplace.sql— reputation ledger table +awardedreaction.- Edits to
internal/reactions/model.go,internal/mcp/bridge.go,internal/actions/registry.go,cmd/synapbus/main.go. - All 34 Go packages pass
go test ./...with zero failures.
Python implementation (feature 017)
benchmark/setup.py— MuSiQue downloader (Google Drive, virus-scan confirm flow).benchmark/curate.py— deterministic trio selection from 4-hop subset with United States pivot.benchmark/marketplace.py— in-process stub mirroring 016 MCP action names.benchmark/agents.py— HaikuAgent + SonnetAgent classes.benchmark/baseline.py— single-agent baseline.benchmark/score.py— F1 + strict-northwest Pareto verdict.benchmark/run.py,report.py— CLI entry + HTML renderer.benchmark/trio.jsonl— 3 curated questions checked in.benchmark/sdk_backend.py(added during integration) — unified backend routing betweenanthropicSDK andclaude-agent-sdk, chosen automatically based onANTHROPIC_API_KEYavailability.
Integration run (single-shot, question q1)
Task: MuSiQue 4-hop — "What treaty ceded territory to the US extending west to the body of water by the city where the designer of Southeast Library died?" Gold answer: Treaty of Paris
Auction
| Agent | Estimated | Confidence | Score | Won |
|---|---|---|---|---|
| haiku-agent | 4000 | 0.45 | 8889 | ✓ |
| sonnet-agent | 12000 | 0.80 | 15000 |
Results
| Model | Answer | F1 | Tokens | Wall | |
|---|---|---|---|---|---|
| Marketplace | haiku-4-5 | Treaty of Paris |
1.000 | 3314 | 29.9s |
| Baseline | sonnet-4-6 | The Treaty of Paris (1783) |
0.857 | 697 | 13.7s |
Pareto verdict: FAIL (not strictly northwest — marketplace wins on quality, loses on cost).
Reputation ledger after run
haiku-agent | multi-hop-qa | runs=1 correct=1 tokens=3314 score=0.983
Why FAIL is the most valuable result
- Haiku 4.5 correctly solved a 4-hop question (F1 = 1.0) — remarkable for a cheap-tier model.
- Sonnet's answer is semantically correct but penalized by exact-match F1 for the extra "(1783)".
- The stub's auction scoring picked Haiku's cheaper bid on cost/confidence, but Haiku's actual token usage exceeded Sonnet's one-shot baseline by 4.75×.
- The strict-northwest Pareto metric correctly detected this — neither point dominates.
- Over 5 learning epochs, reputation would converge toward Sonnet (the actually-cheaper path for this question class). That convergence is the next most valuable experiment.
Deferred (explicit, not missed)
- US4 reflection loop (016 FR-016 → FR-020b)
- Auto-tombstoning on rolling failure (016 FR-020a/b)
- Hard-stop budget enforcement daemon (FR-022/023 — recorded only)
- 3-question curated trio run (trio.jsonl exists, budget-deferred)
- 5-epoch learning tier (US3 of 017)
- FRAMES secondary eval
- Real SynapBus MCP wiring from benchmark (stub is exactly-equivalent at the API level)
Files for review
autonomous_report.html— rich end-to-end report with Pareto chart, decomposition, analysisbenchmark/results/latest.json— authoritative source of run numbersbenchmark/results/latest.html— basic benchmark-generated reportspecs/016-agent-marketplace/spec.md,specs/017-musique-benchmark/spec.md— specsdocs/superpowers/specs/2026-04-11-mas-benchmark-design.md— design doc
Verification performed
go build ./...— cleango test ./...— 34 packages, all green (including new marketplace tests)python benchmark/run.py --mode single-shot --question q1— completed, real numbers recorded- Manual inspection of raw_text traces in
latest.json— both agents genuinely followed the 4-hop chain using paragraphs 5, 2, 12, 18
Next action (recommended)
Run the 5-epoch learning tier on the same q1 question (approximately 420k token budget). This is the single highest-value follow-up.