Skip to content

docs(epic): record the completed state of review-residuals-2026-09-08 - #837

Merged
drmoisan merged 1 commit into
mainfrom
docs/epic-review-residuals-2026-09-08-final-status
Sep 10, 2026
Merged

drmoisan merged 1 commit into
mainfrom
docs/epic-review-residuals-2026-09-08-final-status

Conversation

@drmoisan

Copy link
Copy Markdown
Owner

Suggested title

docs(epic): record the completed state of review-residuals-2026-09-08

Summary

Why

epic-status.md is a generated projection of the epic checkpoint, regenerated at every
merge_status transition, every wave transition, and at final integration-PR completion. The final
transition is the integration PR's own merge, whose commit SHA does not exist until that PR merges.
The closing entry therefore has to land afterwards, in its own commit.

What Changed

  • Marks the epic complete, with the integration PR number, merge commit, and merge timestamp.
  • Records the real CI gate. PR fix(epic): clear the eight review residuals left by the bugs-2026-09-06 run #836 targets main, so it is the first pull request in the epic to
    receive CI automatically, and all five required checks passed at head 86caef4a: actionlint,
    build-analyzers, build-nullable, format-check, mstest-coverage.
  • States the gap that made that necessary: .github/workflows/ci.yml triggers pull_request only
    on [main, development], so every child PR, being based on the integration branch, received
    zero automatic runs. Dispatched integration runs were the compensating gate throughout. No
    workflow file was edited to obtain a trigger.
  • Distinguishes the one cancelled intermediate run as superseded rather than failed: ci.yml
    declares a ref-keyed concurrency group with cancel-in-progress, and the superseding run covered
    a strict descendant of the cancelled run's head.
  • Adds the acceptance-criteria summary: 141 of 141 checked across the eight spec.md files.
  • Lists the nine worktrees left on disk for reclamation.

Verification

Documentation only. No code, test, or build-configuration file is touched.

The figures are transcribed from artifacts/orchestration/epic-orchestrator-state.json, which
validates against its schema with require_complete, and were verified against main at
0f0fd830 after the epic merged.

One correction is recorded in the document rather than quietly fixed: an earlier
acceptance-criteria pass counted every checkbox in each spec.md and reported 150 of 183. That
denominator was wrong because it swept in checkboxes outside the Acceptance Criteria section. The
committed figure uses Get-NamedSectionCheckboxCount from
.claude/lib/requirements/GeneratedDocumentCounters.psm1, the counter the
acceptance-criteria-tracking skill mandates, which scopes to the Acceptance Criteria heading
and stops at the next equal-or-shallower heading.

Backward Compatibility / Migration Notes

None. No runtime behaviour, public API, or build configuration is affected.

Risks and Mitigations

Negligible. The only risk is documentary inaccuracy; the figures are sourced from the validated
checkpoint and from gh queries against merged pull requests rather than from agent reports.

Review Guide

Read the header block and the CI Gating section of epic-status.md. The remainder of the file is
unchanged from what merged in #836.

Follow-ups

Unchanged from #836:

  1. Four out-of-scope defects to file through the promotion lifecycle: GetTableInViewAsync
    returning null on timeout; QfcHomeController.CreateCancellationToken() having no production
    caller; two undisposed cancellation token sources; and ProgressTrackerAsync being dormant.
  2. Issue Feature: csharp-analyzer-stack-hardening #181 remains open by design. Feature 826 was authorized to promote RS0030 but not to
    break the build to do so, and delivered the reachable subset instead.
  3. Nine worktrees to reclaim with scripts/bash/cleanup-worktrees.sh.

GitHub Auto-close

None.

The epic merged to main as PR #836, commit 0f0fd83. This closing entry could
not ride in that pull request, because a generated projection cannot record the
merge commit of the pull request that carries it.

Records the real gate: PR #836 targets main, so it is the first pull request in
the epic to receive CI automatically, and all five required checks passed at
head 86caef4. Also distinguishes the cancelled intermediate run, which was
superseded by a dispatch against the final tip rather than failed.

Adds the acceptance-criteria summary: 141 of 141 checked across the eight
spec.md files. Counting uses the section-scoped counter the tracking skill
mandates; an earlier pass counting every checkbox in each spec.md reported
150 of 183 on a denominator that swept in non-acceptance-criteria sections.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01URyGon15RvDXcUEo96tvyh
@drmoisan
drmoisan merged commit 0b15c34 into main Sep 10, 2026
5 checks passed
@drmoisan
drmoisan deleted the docs/epic-review-residuals-2026-09-08-final-status branch September 12, 2026 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant