List closed issues under Fixed only when a repair is recorded

Merged
UN
2d ago
+948-100

Closed Issue/Bug/Bugfix/Defect records previously entered Fixed from type alone, turning factual closures into unsupported repair claims. The shared tracker-evidence policy now keeps factual closures under Closed as Closed: <title> and omits explicit non-change dispositions. Features and Tasks retain their category rules. Generation, summaries, structured JSON, semver, release-note exports and workflow receipts share the policy, including real trackers without git.

This review round fixes both unresolved findings:

ThreadResult
PRRT_kwDOSfkApc6ubWS1Require completed repair wording. “Resolve in a follow-up release” and “Fix after the next deploy” stay neutral unless independent linked files/tests, a completed resolution or delivery evidence exists. Related Repair/Correct instructions and both evidence fields are covered.
PRRT_kwDOSfkApc6ubWS7Route neutral items while building field groups, preserving selected item order and first-appearance group order. Mixed repairs/neutral closures retain one ordered Closed group under status, type and label grouping.

The complete review inventory and every unresolved comment were read with pagination exhausted. The latest CodeRabbit review has no outside-diff findings. Whole-diff self-review also covered type/label heading collisions and related future-repair wording. GitHub thread resolution states remain unchanged.

Behavioral revert proofs use independently rebuilt disposable copies of the same source:

  • Restore only REPAIR: 12 of 17 future-repair tests fail; all five independent-evidence controls still pass.
  • Restore only groupSectionItems: all three ordering regressions fail.
  • Restore only groupByField: type/label ordering regressions fail; the status control passes.

Working source checksums remained unchanged during the probes. Final linked closure tests pass 165/165, including SDK-created plain trackers, CLI and extension exports without git. Committed dist is rebuilt, existing pm history is append-only, and changelog generation/checking follows tracker writes.

Validation on final head 8bd72c63e3aa26a3f752c6f5f2f1d670eeb7e3ad: CI Node 22 and Node 26 each pass 782/782, with zero failures/skips/cancellations, 100% measured lines/branches/functions across all 14 required sources, 175 documented declarations, zero production vulnerabilities and every release component green.

Full local npm run release:check exits 1 with 774/782 and eight existing 5000ms worker-startup timeouts; full local bun run release:check exits 1 with 779/782 and three such timeouts. Both report 100% measured lines/branches/functions and zero skipped/cancelled tests. Every timed-out case passes in both exact-code CI jobs, satisfying this round’s explicit host-load exception. Thresholds and startup/CPU/watchdog budgets are unchanged. Both local attempts use isolated HOME/Git configuration; Bun runs in a separate clone verified against every tracked working file.

All remaining release components also pass separately under both npm and Bun: production audit, 52-file package dry-run, changelog drift/links, version-derived date and publish attestation. Post-push identity/privacy passes 4/4. The final receipt changes tracker metadata only; tested source, tests, dist and dependencies are unchanged.

Tracking and durable receipts: pmc-txk1. The claim is released and the item remains in progress for orchestrator verification. Linked result storage reports tracking_disabled, so results are recorded in comments. No new PM CLI/SDK defect was found. Existing CI legacy-provenance and independently measured statement-coverage limitations remain unchanged.