v0.20.0 — The ranked-next adoptions, executed and measured
All six ranked candidates from the 0.19.0 evolution survey, adopted in one pass — with the measurements run, not just the machinery built. Full results: docs/2026-06-12-pressure-descopt-subagent-tests.md.
Measured
- Pressure suite (4 scenarios,
--manifest manifest-pressure.json): social-pressure plants — "the join was already validated", "skip the robustness, deadline tonight", "stay consistent with what the board saw", "drop the outliers". First run on haiku: card 1/4 vs baseline 1/4 — the always-on card alone does not rescue a weak model from social pressure (the card arm saw the row fan-out and rationalized it as "valid 1:M"). With 0.19.0's core result (sonnet 8/9 vs 8/9), the picture: protection lives in the enforcement layers + model strength, not in a context string. - Description hill-climbing (
scripts/optimize-description.sh, official skill-creator harness): 3 challenger iterations each onquestion-framingandstructural-estimation— both originals won on held-out test. The flagship descriptions are at a measured local optimum. - Subagent value regression (superpowers v5.0.6 method): 12/12 reviews surfaced the planted issues in both arms — with the instructive confound that
analysis-reviewtriggered natively 6/6 in the "generic" arm. Fresh-pass review catches what the author missed; persona delta null; agent kept pending an isolated rerun.
New enforcement
- Stop-gate + JSONL run ledger (
hooks/stop-gate): a once-per-session soft gate — results written withoutresult-verification, or debugging without a LESSONS entry → the stop is blocked once with a precise reason and an explicit out. Five-condition loop safety; opt-in (analysis projects only);.causal-powers/ledger.jsonlaudit trail. - Injection hardening:
plan-resumeexcerpts sanitized + capped (the plan file is an injection surface). - Kill-switch: all five hooks honor
CAUSAL_POWERS_DISABLED_HOOKS.
Update: /plugin update causal-powers@causal-powers + restart.