Skip to content

T-S27R-ensure-ready-plane-rework

Status: closed/done · Impact: high · Complexity: large

Stage 4 of D-S30G-task-state-plane-split. Readiness verification splits by plane: an unleased pass produces the single promotion commit (promotion IS the readiness claim), a leased pass writes lease gates only, and the fail path becomes lease-aware so it can never downshift live work. Must land BEFORE the stage-5 cutover.

LocationRole today
apps/sdlc/skills/task-ensure-ready/ensure_ready_mutate.tsPass: stamp readiness_verified_at, drop definition_gap; fail: downshift to planning/needs-definition unless in-progress*. Commits via --commit (current checkout) or --commit-on main (ephemeral worktree).
apps/sdlc/lib/model/entities/task/commits/lifecycle/template.etaCommit-subject literals; verify-ready’s doubles as probe-state’s resume signal.
apps/sdlc/skills/task-ensure-ready/SKILL.mdThe gate’s procedure; Steps 4/5 narrate the two commit paths.
apps/sdlc/skills/task-work/SKILL.mdStep 5a invokes the gate with --commit-on main.

Four behaviors, by plane:

  1. Unleased pass on planning/* → ONE commit: status: open/ready + readiness_verified_at (new promotion lifecycle action in template.eta).
  2. Unleased pass on an already-open/ready stamped task → no-op.
  3. Leased run (task-work Step 5a) → CAS-write lease gates; zero main commits. First gates writer: bump the control-plane minimum client version.
  4. Fail: preserve status when in-progress* OR an active lease exists (post-split a leased task reads open/ready; the old carve-out would downshift live work). --commit standalone refuses when an active lease exists.
  1. Add the promotion action to template.eta; keep verify-ready until stage 7 retires it.
  2. Rework ensure_ready_mutate.ts mode matrix (unleased pass/fail, leased pass/fail) incl. the lease discovery + CAS gates write.
  3. Update both SKILL.md files’ procedure prose and marker blocks.
  4. Bump the control-plane minimum client version.
  5. Tests per mode; regression: standalone fail against a leased task leaves status and stamp untouched.
LocationKindChange
apps/sdlc/skills/task-ensure-ready/ensure_ready_mutate.tsmodifyPlane-aware mode matrix; promotion commit; lease gates write.
apps/sdlc/lib/model/entities/task/commits/lifecycle/template.etamodifyNew promotion action.
apps/sdlc/skills/task-ensure-ready/SKILL.mdmodifyProcedure + markers.
apps/sdlc/skills/task-work/SKILL.mdmodifyStep 5a invocation + prose.
  • AC-1: A pass on a planning/proposed unleased task lands exactly one commit, flipping status to open/ready and writing the stamp.
  • AC-2: A pass during a leased run writes lease gates and lands zero commits on main.
  • AC-3: A fail against a task with an active lease does not change status and does not clear the promotion stamp.
  • AC-4: --commit refuses (distinct exit code + marker) when an active lease exists.

T-5G81-lease-payload-gates, T-2T0R-probe-state-inflight-lease-aware


← Back to Tasks