Skip to content

v0.21.0 — Task-altitude planning (from real-session dogfood)

Choose a tag to compare

@lancegui lancegui released this 13 Jun 15:58
· 111 commits to main since this release

Reviewing the user's actual analysis sessions gave a sharper diagnosis than any eval: causal-powers plans at the study altitude (estimand / PAP / model card) but hand-waves at the task altitude"merge these two messy sources", "diagnose why this number is off" get a dive, not a roadmap-you-agree-to-first. On a real co-located-coordinate bug the agent dove into record-dumping and the user had to interrupt to impose an order; the project had zero analysis-plan.md. Full write-up: docs/2026-06-13-task-altitude-rung-and-dogfood.md.

Task-altitude planning rung (carried by skill bodies, card as backstop)

  • wrong-number-debugging: REPRODUCE now ends by stating the diagnostic roadmap and getting a nod before running scans; LOCATE executes the agreed roadmap.
  • analysis-craft: a multi-step build/refactor gets a numbered roadmap confirmed before coding — an approved upstream study design does not waive the build steps.
  • data-preparation: fires for an ad-hoc mid-analysis merge/reconcile; plan agreed before executing.
  • card + gateway: "always a written plan" reframed to two altitudes, same write → agree → loop → checkpoint-on-deviation pattern, same couple-of-steps threshold so trivial edits aren't taxed.

Measured

  • Viz-trigger validation (the gate): eval-triggers --live --competitors, haiku — question-framing won 17/19 build-from-data cases against the full menu incl. superpowers:brainstorming (all 5 viz cases won; 2 losses to the causal-powers gateway, in-family), negatives 20/20 clean. The v0.19.0 viz broadening is validated and the precision boundary held.
  • pressure-roadmap-first scenario, card-alone haiku: 0/1 — re-confirming that card text alone doesn't change a weak model's behavior (v0.20.0 redux). The rung is delivered by the skill bodies (which the user's real opus/fable sessions load); body-level validation needs the full-plugin arm.

Also

  • Lesson-nudge recurrence (stop-gate): the lesson gate re-fires as new debugging accumulates without a lesson (capped 2/session); escape hatch is one line to LESSONS.md — the lesson or a no-lesson: <why> note — so a silent skip becomes a recorded decision. Motivated by the live ledger (5 debugging stops, 0 lessons). Per-obligation markers now independent.
  • Re-trigger context cost: re-trigger now means re-apply the discipline (always) vs reload the body (only when scrolled out/compacted).

What's validated in production: the discipline fires in real sessions (checkpoints / identification / debugging), the Stop-gate shipped in 0.20.0 is firing live, and docs/LESSONS.md is compounding.

Update: /plugin update causal-powers@causal-powers + restart.