v0.4.1 — the onboarding overhaul
Patch release: the adversarial onboarding loop ran to zero verified P0/P1 — this ships it, plus the credibility hardening that followed an external review.
Onboarding overhaul
- Scaffolder: absolute
aesop_root, real NEXT-STEPS guidance (actual port + absolute paths) (#407, #413) aesop doctor: config-structure validation, placeholder-URL warning, skills-copy check, Node/Python version checks (#407)- Setup docs truth-sync: CONFIGURE field names match generated output, Claude Code install steps, env-var reference, backlog format (#405)
run-watchdog.sh --oncenow ends with an explicitWATCHDOG SMOKE: PASSED/FAILEDverdict + honest exit codes (#406)reproducedegrades gracefully in fresh scaffolds; config~expansion (#413)
Dashboard
- Cost view: per-wave / per-agent / per-model spend breakdown with expandable model mix (#402)
CI & test hardening
- PowerShell syntax gate (#401) ·
workflow_dispatchon main-full (#399) · self-updating test-count gate--fix(#403) · frontier-slice test depollution (#400) - Git-identity poisoning root-caused + runtime tripwire (the "Test User" ghost is dead) (#412)
- Wave-manifest preflight lint (
wave_manifest_lint.py) — file-ownership disjointness + prompt sanity before dispatch (#409) - Wave quality scorecards from ledger telemetry (
wave_scorecard.py, StateAPI-conformant) (#408)
Honesty & measurement
- Pre-registered equivalence protocol (
bench/EQUIVALENCE-MARGIN.md, committed BEFORE results) (#410) - Judgment-v3 ceiling addendum: our own pre-declared ceiling rule disqualifies the 39/39 headline as an equivalence claim — it is a sufficiency floor; the frontier discrimination slice exists because the protocol caught our own number (#414)
- Wave-24 boundary named: cheap models hold on scored bounded judgment, break on open-ended selection — the verification layer is the mitigation (#414)
- License history disclosed: MIT until 2026-07-17, PolyForm Strict 1.0.0 since (#414)
self_statscounts squash merges via gh (268 → 387 merged PRs); single stats source +verify-stats.sh(#398, #411)- 4o-mini worker-seat metrics: 5/5 on bounded tasks at $0.00066 total — seam proven under load, wave-scale explicitly unproven (#404)
Full changelog: CHANGELOG.md ([0.4.1] section; late-merging items above are canonical here).