Skip to content

v0.20.0 — The ranked-next adoptions, executed and measured

Choose a tag to compare

@lancegui lancegui released this 12 Jun 22:42
· 112 commits to main since this release

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 on question-framing and structural-estimationboth 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-review triggered 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 without result-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.jsonl audit trail.
  • Injection hardening: plan-resume excerpts 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.