feat(meta-orchestrator): tri-layer classifier L2 jaccard REUSE + L3 done.md convention - #274
Merged
Merged
Conversation
… done.md convention Prior-art: REUSE dup-detect.sh jaccard logic (sub-shell call, extends #272 L1 branch-matcher; helpers/dup-detect.sh:62 untouched — Stage-4-owned per §6 Option B); ADAPT Cline Memory Bank committed-markdown pattern (prior-art-evaluations.md:145 SSOT #77, ~85% match on storage sub-pattern) for done.md convention; backed by #273 §4 binding verdict + §1.5c empirical 13% branch-match finding
artyhoo
added a commit
that referenced
this pull request
May 29, 2026
… markers + no-arg overview + integer-arg top-N (#277) Per #273 §3 binding verdicts (Stage 3 I-phase, meta-orch-no-arg-overview umbrella): - V1 arg-parser disambiguation: regex ^[0-9]+$ + pre-invocation guard (SKILL.md §0). - V2 parallelism-signal DECLARATIVE: kickoff §2 Parallel-with column → launch-table Parallel sibling + V3 overview markers (SKILL.md §3, ADAPT SSOT #68 OhMyOpencode Wave N). - V3 no-arg overview format: new ## §1A in output-format.md, Wave-style grouping, zero principle-18 churn (5/5 tests pass). - V4 integer-arg semantics: top-N after §2.5 completion-filter consuming #274 tri-layer matcher; N=0→V3, N>candidates→warn-and-emit, N=1=existing winner path (SKILL.md §2 Step 5). §1.7: forward-check applied — build-first-reuse-default §3 (V2 ADAPT SSOT #68, V3/V4 consume #274 tri-layer), phase-research-coverage §1.12 (every verdict backed by #273 §3 text), no-paid-llm-in-ci §1 (pure bash regex + markdown), doc-authority-hierarchy §3 (headers preserved), ai-laziness-traps T20 (pre-invocation guard tool-call backed); backward-check sweep — SKILL.md §0/§1/§2 existing flow preserved (V1 routes added ABOVE With-arg paragraph, V4 Step 5 added BEFORE §7.14 footer), output-format.md §1 F.3 dispatch format preserved verbatim (V3 SIBLING §1A added between §1 and §2), all 21 principle tests green (153 passed/4 skipped/0 failed), principle 18 zero-churn verified before push, Stage 2-extend #274 tri-layer (priority-score.sh:154-188 C1/C2/C3) CONSUMED by V4 top-N filter as documented downstream dependency. Prior-art: implementation per #273 §3 binding verdicts; V2 ADAPT SSOT #68 (OhMyOpencode Atlas/Prometheus declarative Wave N parallelism precedent); V3/V4 consume #274 tri-layer completion-filter (C1 branch / C2 jaccard / C3 done.md).
artyhoo
added a commit
that referenced
this pull request
May 29, 2026
…itted-marker convention (#278) Two-part atomic commit: 1. .gitignore exception for done.md — the «Umbrella closure convention» introduced in #274 (CLAUDE.md) specifies path .claude/orchestrator-prompts/<umbrella>/done.md and claims «ADAPT Cline Memory Bank committed-markdown sub-pattern (SSOT #77)», but .gitignore:7 ignores .claude/orchestrator-prompts/* — done.md cannot land without an exception. Adds 3-line nested-unignore: re-include subdirs, ignore their contents, exception for done.md. Verified via `git check-ignore`: done.md → exit 0 matched by negation rule; kickoff.md → still ignored. 2. done.md for meta-orch-no-arg-overview — recursive self-application of the closure convention on the umbrella that introduced it. Summary cites all 7 PRs of the umbrella (#264 probe / #266 P4 / #270 wave-plan §0 / #272 L1 / #273 R-phase verdicts / #274 L2+L3 + convention / #277 V1-V4 UX). Phase -1 self-criticism: this BLOCKER was not caught in my Phase -1 review of #274 (orchestrator session 2026-05-29). Future Phase -1 reviewer dimension needed: «cross-reference new-file paths against .gitignore». Prior-art: skipped — closure marker + .gitignore exception per existing convention; no new capability
artyhoo
added a commit
that referenced
this pull request
May 29, 2026
…-substituted template SKILL.md:523 used ```! (executable) fence around a code block that contains `<placeholder>` literals the rendering AI is supposed to substitute BEFORE invocation (per the prose immediately above the block at line 521). The executable fence caused CC's auto-mode permission classifier to reject the literal template at recursive acceptance test of the meta-orch-no-arg-overview umbrella (2026-05-29): Permission denied by auto-mode classifier. Reason: Command contains unfilled placeholder literals — running with unresolved template tokens has unverifiable effects on state files. Fix: change fence to ```bash (non-executable, AI uses as template + makes a separate Bash tool call with substituted values). Zero-LOC net change at the file scope (single fence character replaced); existing prose at line 521 already explains the substitution semantics, no NOTE needed. Pre-existing since F.3 helper-collapse PR #263 (2026-05-28); not Stage 3 work in #277 — surfaced only at recursive acceptance test of meta-orch-no-arg-overview post-#278. Phase -1 self-criticism: a reviewer dimension is needed — «scan !-blocks for unsubstituted <placeholder> literals before approving SKILL.md edits». Both the F.3 review and Phase -1 reviews of #274/#277 missed this; incident counter 1/3 toward codifying the dimension in ~/.claude/skills/orchestrator/SKILL.md. Prior-art: skipped — single-fence type swap, no new capability introduced
artyhoo
added a commit
that referenced
this pull request
May 29, 2026
…-substituted template (#280) SKILL.md:523 used ```! (executable) fence around a code block that contains `<placeholder>` literals the rendering AI is supposed to substitute BEFORE invocation (per the prose immediately above the block at line 521). The executable fence caused CC's auto-mode permission classifier to reject the literal template at recursive acceptance test of the meta-orch-no-arg-overview umbrella (2026-05-29): Permission denied by auto-mode classifier. Reason: Command contains unfilled placeholder literals — running with unresolved template tokens has unverifiable effects on state files. Fix: change fence to ```bash (non-executable, AI uses as template + makes a separate Bash tool call with substituted values). Zero-LOC net change at the file scope (single fence character replaced); existing prose at line 521 already explains the substitution semantics, no NOTE needed. Pre-existing since F.3 helper-collapse PR #263 (2026-05-28); not Stage 3 work in #277 — surfaced only at recursive acceptance test of meta-orch-no-arg-overview post-#278. Phase -1 self-criticism: a reviewer dimension is needed — «scan !-blocks for unsubstituted <placeholder> literals before approving SKILL.md edits». Both the F.3 review and Phase -1 reviews of #274/#277 missed this; incident counter 1/3 toward codifying the dimension in ~/.claude/skills/orchestrator/SKILL.md. Prior-art: skipped — single-fence type swap, no new capability introduced
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
Stage 2-extend of
meta-orch-no-arg-overviewumbrella: tri-layer umbrella-completion classifier extends L1 branch-matcher (#272) with Layer C2 jaccard REUSE + Layer C3 done.md convention. Closes the §1.5c empirical 13% branch-match coverage gap surfaced in PR #273 §4 verdict.dup-detect.sh:62via sub-shell call — adds ~4% additional coverage per §4 estimatedone.mdper umbrella — ADAPT Cline Memory Bank pattern (SSOT docs(research): cross-worktree gitignored coord-doc sync — verdict ADAPT #77, ~85% match on storage sub-pattern)packages/core/hooks/done-md-completion-filter.test.tsBacked by PR #273 §4 binding verdict (multi-signal classifier confirmed; §0.5 falsifier P2 closed for multi-signal interpretation). dup-detect.sh NOT modified (Stage-4-owned per §6 Option B — Stage 2 calls it via sub-shell only).
§1.7 Forward-check applied
build-first-reuse-default.md §3— C2 jaccard is REUSE (zero new algorithm code), C3 done.md is ADAPT Cline SSOT docs(research): cross-worktree gitignored coord-doc sync — verdict ADAPT #77. file:line:.claude/skills/meta-orchestrator/helpers/dup-detect.sh:62(jaccard source reused) +docs/meta-factory/prior-art-evaluations.md:145(SSOT docs(research): cross-worktree gitignored coord-doc sync — verdict ADAPT #77 row).phase-research-coverage.md §1.12— every verdict backed by research(meta-orch-no-arg-overview): Stage 0-remainder R-phase — full §1 checklist + Stage 3 UX design #273 §4 empirical 13% finding. file:line:docs/meta-factory/research-patches/2026-05-29-meta-orch-no-arg-overview-s0-remainder.md:84(«Match? ~15%. §1.5c empirical = 13% branch-matchable. NOT a problem-class fit as sole signal»).no-paid-llm-in-ci.md §1— all mechanism is deterministic bash (file-presence, sub-shell call, grep) + vitest. file:line:.claude/skills/meta-orchestrator/helpers/priority-score.sh:1(bash shebang; noclaude -pin changed code).doc-authority-hierarchy.md §2— CLAUDE.md edit adds section «Umbrella closure convention», preserves existing Authoritative-for header. file:line:CLAUDE.md:1(top-level header untouched) +CLAUDE.md:102(new section start).§1.7 Backward-check applied
priority-score.shC1 branch-matcher from feat(meta-orchestrator): branch-matcher для umbrella completion #272 preserved verbatim as completion-detection Layer C1; C2 + C3 are ADDITIVE filters layered after. file:line:.claude/skills/meta-orchestrator/helpers/priority-score.sh:158(C1 block start: «completion Layer C1 — branch-prefix match»).dup-detect.shNOT modified — called via sub-shell (approach a) frompriority-score.sh:109; dup-detect.sh callers unaffected (verified:grep -rn 'dup-detect.sh' .claude/skills/shows SKILL.md:173 unchanged). file:line:.claude/skills/meta-orchestrator/helpers/dup-detect.sh:62(jaccard source, untouched).CLAUDE.md:102(new section; existing PR-strategy / build-vs-reuse / Artifact Ownership sections verbatim preserved at lines 87/18/68).dup-detect-empty-arg.test.ts(feat(meta-orchestrator): Stage 4 P4 fix — bash-quoted helper invocations + dup-detect empty-arg #266) +priority-score-branch-matcher.test.ts(feat(meta-orchestrator): branch-matcher для umbrella completion #272) untouched — new test is separate file. file:line:packages/core/hooks/done-md-completion-filter.test.ts:1(new file; does not modify existing tests).progress.md/activeContext.md); ours = umbrella closure marker (singledone.mdper umbrella, machine-readable schema, written at last-stage merge). Match: ~85% on storage pattern (committed markdown as load-bearing state); diverges on update trigger (Cline = on-demand AI-signalled, ours = explicit at-merge convention). ADAPT verdict preserved from SSOT row docs(research): cross-worktree gitignored coord-doc sync — verdict ADAPT #77. file:line:docs/meta-factory/prior-art-evaluations.md:145.priority-score.sh:35,207to prevent naming collision with completion-detection layers. Narrow scope comment-rename; no logic changed.Test plan
npm run typecheckgreen (all workspaces)npm test— 1 pre-existing failure on staging (hooks/pre-push.test.ts— unrelated to this PR; verified pre-existing viagit stashbefore/after comparison); all other tests pass including new 6-case test