v0.17.5 — Backlog checklists maintained as work progresses
Added
-
Backlog checklists are now maintained as work progresses (
skills/common/backlog-checklists.md,
new shared contract). The backlog family advanced status labels, progress comments and the
manifest, but nothing ever flipped a markdown checkbox on the tracked items — and GitLab/GitHub
render a task list as a progress counter, so a delivered Issue left its acceptance criteria and its
box in the parent's task list unticked, under-reporting real progress to everyone reading the Epic.
Two checklists, each with one exclusive owner:- Child task list (Epic
## Sub-Epics, Sub-Epic## Issues) →/architect:merge-issue, and
only when that child actually reachesdone, since merging is what establishes it. - Acceptance criteria (Issue
## Acceptance Criteria) →/architect:implement-backlog
(implemented) then/architect:review-issue(verified).
Rules the whole family follows: tick on evidence, never on intent; edit the body in place,
flipping only the[ ]→[x]marker (never regenerate a body frombacklog-manifest.json, which
would discard human edits); idempotent re-runs; unticking allowed when a review or revert disproves
a criterion, with a stated reason; skip entirely on the GitLab native-Epic / GitHub sub-issue path,
where the parent carries links instead of a task list;--dry-runedits no body. - Child task list (Epic
Changed
/architect:export-backlogauthors both checklists as unticked- [ ]boxes — one per
criterion, one per child — and ticks nothing itself. A Given/When/Then scenario now goes inside a
single box: a criterion written as prose can never be ticked by the downstream skills./architect:implement-backlog(Step 7) ticks the acceptance criteria its committed code
satisfies (commit/test/doc as evidence) and names every box it left unticked in the same progress
comment. It leaves the parent's task list alone — an Issue is not done until its PR/MR merges./architect:review-issue(Step 5) reconciles the checklist against the review verdict before
raising the PR/MR: confirmed criteria ticked, refuted ones unticked with the reason on the Issue,
and anything still open surfaced in the PR/MR body./architect:merge-issuereports unticked acceptance criteria at the Step 2 confirmation
gate — deliberately not as a preflight check, so the "every preflight must pass" invariant stays
absolute — and Step 4 ticks the Issue's box in its Sub-Epic, plus the Sub-Epic's box in the Epic
when that Sub-Epic completes. Criteria the user waived are recorded in the merge comment, never
ticked to look complete./architect:deliver-backlogstates that checkboxes are output, not resume input: stage
selection still readsimpl.statusand the tracker labels, and a mismatched box is a defect for
the owning skill to fix.