Skip to content

chore(hygiene): retroactively verify + sync every issue's AC checklist against shipped code (fresh context per issue) #1284

Description

@mfittko

Problem

Issue AC checklists have drifted out of sync with reality: merged/closed issues carry unchecked - [ ] acceptance-criteria items despite their work having shipped (root cause + convention fix tracked in #1283). A blanket flip is unsafe — some AC items may not actually be satisfied by what shipped. We need a genuine retroactive verification, not a rubber-stamp.

Task

Sweep every issue (all closed/merged first; then open where an AC checklist exists), processing them one at a time in a fresh-context loop — one independent reviewer per issue, no shared/cross-issue context — and for each issue:

  • Read the issue's AC checklist.
  • Verify each AC item against the actually-shipped code and the merged PR(s) for that issue.
  • Check off (- [ ]- [x]) ONLY the items genuinely satisfied, via scripts/github/edit-issue.mjs.
  • Leave any unsatisfied AC item unchecked and record it (with the reason) for follow-up, rather than checking it.

Acceptance criteria

  • A driver enumerates the target issues (closed + merged first) and processes them strictly one-by-one, each in fresh context (independent subagent), with no cross-issue context bleed.
  • For each issue, every AC item is verified against shipped code / its merged PR; satisfied items are checked, unsatisfied items stay unchecked.
  • The sweep emits a summary: per issue, which ACs were checked, which remain unsatisfied (with reasons), and any follow-up tickets warranted.
  • No blind/bulk flipping — every check is backed by a verification step.
  • All issue-body edits go through edit-issue.mjs.
  • npm run verify unaffected (this is a data/hygiene sweep, not a code change) — or, if a driver script is added, it ships with a test.

Non-goals

  • Fixing unsatisfied ACs (each becomes its own follow-up).
  • Re-refining or rewriting issue scope.

Notes

Follow-up to #1283. On 2026-07-09 the ACs of #1116#1118 were bulk-flipped on the assumption they were satisfied (they had cleared the full gate pipeline); this task replaces that assumption with per-issue verification across the whole issue history.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions