chore(orchestrator): closure-sweep — C3 n/a-done.md fix + 18 verified umbrella closures (28 false-opens cleared) - #561
Merged
Conversation
…R: n/a' priority-score.sh completion-detector C3 only tagged DONE when it parsed a numeric '- Final PR: #<num>'. Stale/superseded closures from the 2026-06-05 sweep carry '- Final PR: n/a', so ~10 already-closed umbrellas stayed false-open. done.md existence alone proves closure (ADAPT Cline #77); tag done_pr=n/a so the filter drops them. Regression test: done-md-completion-filter Case 3b (n/a done.md -> status=DONE).
… backfill (closure-sweep 2026-06-16) Each done.md cites its verified closing PR (branch/title-confirmed, false matches dropped): guard-liveness cluster (#458/#460/#463/#475/#476/#489), dispatcher-skill #403, dispatcher-ux #407, goal-drift-audit #433, narrow-b-benchmark #210, defer-reflex-detection #232, memory-coverage-audit #126, meta-orchestrator-bundle-autonomous #247, mutation-discipline-stage-c-meta-launch #378, aif-handoff-as-runtime-bridge #283, aif-skills-delivery-rphase #396, channel-earliness-audit #181, ai-doc-audit-version-reconcile #423. Clears 18 false-opens; +10 via the C3 fix = 28 total. 51 residue left open (no evidence).
artyhoo
enabled auto-merge (squash)
June 16, 2026 12:43
4 tasks
artyhoo
added a commit
that referenced
this pull request
Jun 16, 2026
…sures (deliverable-exists) + tail-verify kickoff (#565) * chore(orchestrator): closure-sweep round 2 — close 46 verified historical umbrellas (done.md backfill) Deep-pass on the 51 residue the round-1 sweep (#561) left (no done.md, no clean PR-match): - 14 meta-launch dispatch records closed by parent/umbrella DONE or own state.md - 32 closed by DELIVERABLE-EXISTS evidence (research-patch / shipped rule / hook / principle file cited per done.md), corroborated by closing PR where found - left 5 genuinely OPEN (no deliverable): h10-verdict-gate-research, meta-orch-channel-discipline, phase-10-foundations-audit, shipped-skill-sync, worktree-env-skills-test-flakiness Method: deliverable-exists, NOT noisy name/text-match (gh full-text gave ~16% false positives). Spot-verified cited deliverables exist; planner-completeness silent-drop caught + closed. * docs(orchestrator): kickoff for consumer-findings tail-verify (F6/F7/F8/F10) Handoff for a fresh session: verify the 4 timeliner findings the closure-sweep could not map to a dedicated issue, re-check they still reproduce, file only genuinely-untracked ones. Carries §5 AI-traps enumeration (principle 12).
This was referenced Jun 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closure-sweep that fixes the source of the
/pipelineno-arg noise (per the operator's directive), in two parts:priority-score.sh's completion-detector C3 only tagged an umbrella DONE when it parsed a numeric- Final PR: #<num>. Stale/superseded closures from the 2026-06-05 sweep carry- Final PR: n/a, so ~10 already-closed umbrellas stayed false-open.done.mdexistence alone proves closure (ADAPT Cline docs(research): cross-worktree gitignored coord-doc sync — verdict ADAPT #77) → now tagged DONE (done_pr=n/a).done.mdfor 18 historical umbrellas whose closing PR was branch/title-confirmed (the hash-suffixed branches likeguard-liveness-gate-42acedare exactly why C1's exact-match missed them).Net: 28 false-opens cleared (18 backfilled + 10 unblocked by the C3 fix). 51 residue left open (no completion evidence — a deliberate per-umbrella deep-pass, not mass-closed, to avoid false-closure).
What changed
.claude/skills/pipeline/helpers/priority-score.sh(C3 block ~L222):done.mdexistence ⇒ DONE;done_pr=n/awhen no numeric PR.packages/core/hooks/done-md-completion-filter.test.ts: newCase 3bregression —n/adone.md ⇒status=DONE done_pr=n/a basis=done-md.done.mdunder.claude/orchestrator-prompts/*/, each citing its verified closing PR + merge date.Verification
npx vitest run hooks/done-md-completion-filter.test.ts hooks/priority-score-branch-matcher.test.ts hooks/priority-score-synthetic.test.ts→ 34/34 (incl. new Case 3b; Case 3 numeric path unchanged).meta-orchestrator-refactor→test(pipeline): Stage 6 behavioral eval gate — disciplines preserved (closes meta-orchestrator-refactor) #399 (branchpipeline-stage6-eval),qloop-ux-probe→fix(principles): isolate p13 fixtures (kill p10↔p13 race) + exempt qloop-ux-probe (p12) #353 (branchprinciple-test-isolation),slow-test-triage→refactor(audit-ai-docs): DI execSync for warm-path probeR4 tests + testTimeout 120s ceiling #233 (genuinely-open — scan still slow this session),recommendation-laziness-discipline→docs(rules): recommendation-laziness-discipline Class C — mechanism layer for §1.12 (I-phase Sub-wave D) #215 (parent/child collision).done.md; 51 residue have none and stay open.done.mdfiles trackable (negate-exception per SSOT Wave 10.3 — port §1.7 discipline trailer to TS; delete legacy shim #116); markdownlint clean.Scope / capability-commit
Not a capability commit — a ~6-line detector fix + a test for an existing capability + data (
done.md). No new dependency, no new ≥50/80-LOC module underpackages/. NoPrior-art:trailer required.§1.7 Forward-check applied
Checked the disciplines this change interacts with before shipping:
no-paid-llm-in-ci.md— C3 stays deterministic file-presence (zero gh/LLM cost); the n/a branch adds no network call. Verdict: complies. Evidence:.claude/skills/pipeline/helpers/priority-score.sh:222.dual-implementation-discipline.md—priority-score.shcarries@cc-only-rationale(in-session!shellhelper, no portable equivalent fires at the same moment); unchanged by this edit. Evidence:.claude/skills/pipeline/helpers/priority-score.sh:64.build-first-reuse-default.md— REUSE: the C3 layer is an existing ADAPT of Cline docs(research): cross-worktree gitignored coord-doc sync — verdict ADAPT #77 committed-markdown; this corrects its parse, builds nothing new. Evidence:.claude/skills/pipeline/helpers/priority-score.sh:219.§1.7 Backward-check applied
Swept existing artefacts under the changed detector + the done.md convention:
packages/core/hooks/done-md-completion-filter.test.ts— the paired-negative contract (Case 3 numeric / Case 4 no-done.md) still holds; Case 3b extends it for then/apath rather than superseding. Evidence:packages/core/hooks/done-md-completion-filter.test.ts:273.CLAUDE.md«Umbrella closure convention» — the 18 done.md follow the binding schema verbatim (# <u> — DONE/- Final PR:/- Closed:/- Summary:). Evidence:.claude/orchestrator-prompts/goal-drift-audit/done.md:1.n/adone.md (e.g.c1-chain-review,strategic-clarity-dialogue) are now correctly detected by the fixed C3 — no rewrite of those files needed. Evidence:.claude/orchestrator-prompts/strategic-clarity-dialogue/done.md:2.Follow-up (not in this PR)
51 umbrellas remain false-open with no completion evidence (a mix of genuinely-open + historical-without-a-traceable-PR). Closing them needs a per-umbrella deep-pass (read each state.md/kickoff/git history) — larger effort, deliberately deferred to avoid false-closure.