Skip to content

kaizen: re-triage should edit the issue Done-when, not just flip labels (stale body misleads non-sprint readers) #577

Description

@okalldal

Context

Surfaced in sprint 20260630-0c77248 (omnibus #573), on issue #230 (Semantic output C5 perf counters).

Problem

When the architect re-scopes an issue during re-triage — dropping needs-decision, re-adding
good-autonomous, and recording the new scope in a parked comment + the committed sprint plan —
the issue body's ## Done-when is left unedited. For #230 the body still listed all three original
assertions (including the unsatisfiable tree_nodes_built == 0 for a not-yet-built C3 backend), while
the binding re-scope (ship two assertions now, defer the zero-tree one to C8) lived only in the parked
memo + sprint plan.

This is handled correctly inside a sprint/start-sprint §3 says "classify from the label state +
resolving comments, not stale body text", and both the #230 worker and the verdict-only reviewer
reconciled body-vs-labels-vs-plan to recover the intended scope. But it cost the worker ~1 reconciliation
cycle, and a future non-sprint /next-task pick that reads the stale body at face value could
implement the wrong (over-scoped / unsatisfiable) done-when.

Done-when

  • A triage/re-triage discipline (in /triage and/or PRINCIPLES.md §6 issue-contract) states: when an
    issue is re-scoped, edit the body's ## Done-when (or add a dated **Re-scope (architect, <date>):**
    block at the top of the body) in the same action that flips the labels — so the body and the label
    state never disagree on the falsifiable done-when.
  • Optionally: a lightweight check/reminder that an issue moving off needs-decision back to
    good-autonomous had its body touched.

Files / blast radius

.claude/commands/triage.md (re-triage step), possibly lark-rs/docs/PRINCIPLES.md §6 (the issue
contract). Governance/process only — no code. Needs /triage to schedule (prio:* + status:triaged).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions