Skip to content

docs(orchestrator): thin the skill to deltas + bindings (D-H9) - #1460

Merged
artyhoo merged 6 commits into
stagingfrom
docs/orchestrator-rewrite-deltas-bindings
Aug 18, 2026
Merged

docs(orchestrator): thin the skill to deltas + bindings (D-H9)#1460
artyhoo merged 6 commits into
stagingfrom
docs/orchestrator-rewrite-deltas-bindings

Conversation

@artyhoo

@artyhoo artyhoo commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Thins .claude/skills/orchestrator/SKILL.md (512 → 474 lines) to deltas + bindings over the superpowers stack it composes — the /arch model. Umbrella orchestrator-rewrite, decision D-H9, single stage, one PR.

Rigor label (L0): research-grade — the target ships at env depth to every consumer, so a named cold review is the merge contract, not a courtesy.

The removed-slice ledger

The ledger is the acceptance basis and ships in-repo at .claude/orchestrator-prompts/orchestrator-rewrite/report.md — one row per removed or collapsed slice, old §/lines → upstream owner → delta re-homed at <file:line> | none. Every slice of the 512-line baseline was classified three ways before anything was cut: 17 DELTA · 10 RE-DESCRIPTION · 9 MIXED.

Every RE-DESCRIPTION claim carries the upstream file:line it re-describes, read from the installed superpowers 6.2.0 tree rather than recalled (T3).

Measured magnitude — the prep's «roughly halve» did not hold

git diff --numstat origin/staging: 168 deletions, 134 insertions, 512 → 478 lines (−7%). The prep-doc row quoted in the kickoff §1 expected «could roughly halve it».

It did not, and the gap is the finding rather than a shortfall to close by cutting further:

  • Re-description was ~33% of the body, not ~50%. The remaining ~355 lines classify as DELTA against superpowers 6.2.0 — slice by slice, each with the upstream file:line that would have owned it if one existed.
  • Collapsing a slice is not free: 134 lines were added — the expanded authority header carrying five upstream bindings, the thin-wrapper paragraph, and three T16 divergence notes that existed nowhere before.
  • Reaching «half» would have to come out of the DELTA column (quota zones, the decision matrix, Phase 4.5, the token budget), none of which has an upstream owner. That is exactly the hazard the kickoff names as T-OR-A, and P-1 makes the verdict evidence-based rather than a quota.

Falsifier, stated so it can be checked: wrong if a reviewer names a DELTA-classified slice and produces the upstream file:line that already owns it. Each row is independently checkable. It fired once: «Batched questions» was carried as a project norm although subagent-driven-development/SKILL.md:151-153 already owns it. The body now binds it rather than claiming it; every other DELTA row survived the challenge.

Three T16 divergences, now stated instead of implied

Places where our vocabulary matches upstream but the problem class does not — so the slice stayed a DELTA rather than collapsing to a binding, and the body now says why:

  1. Model selection. Upstream prices per token and prescribes «the least powerful model that can handle each role»; this skill allocates a fixed subscription pool whose Opus half is not scarce — the opposite default, from different economics.
  2. Parallel dispatch. Upstream bans parallel implementer dispatch outright (shared workspace); here the parallel units are independent umbrella batches in their own worktrees, gated by the file-lock matrix. Both statements now appear in the body so the divergence cannot read as an oversight.
  3. Worktree consent. Upstream asks the user before creating a worktree; here isolation for a cross-session dispatch is the default. Only the consent default is overridden — Step 0 detection is adopted by pointer.

Repairs found while classifying

  • The Phase 0 handoff pointed at superpowers:executing-plans, which itself says to use subagent-driven-development when subagents are available. Re-pointed, with executing-plans named as the no-subagent fallback.
  • Phase 4.5 cited «Superpowers anthropic-best-practices» as a skill. No such skill exists — it is a bundled file inside writing-skills. Citation corrected.
  • The body taught a bare git worktree add recipe. Upstream orders native worktree tools first and names bypassing them «the feat: audit fixes Phase 1+2+3 (R2/R11 drift, manifest SSOT, depcruise integration) #1 mistake»; the recipe is removed and the ordering is now followed.

Verification (host, not container)

All of kickoff §6.1 ran on this host:

  • npx vitest run packages/core/principles/{09,14,15}-*.test.ts46/46 pass. Principle 14 caught a defect introduced by this very change (a link to an out-of-repo ~/.claude/... path read as a broken internal ref); fixed, then green.
  • SNAPSHOT_MODE=compare15 pass / 0 fail on the current head. This took two commits and the first one was wrong: baselines were captured, then the pre-commit shipped-format gate reformatted two markdown tables in the skill, and the baselines were never re-taken — so they recorded the pre-Prettier delivered hash (9059fd7c…) while the file installs as 76a07b50…. CI caught it as install-sh battery (shard C) red on 8 of 15 stack/mode pairs. Fixed in 5f4d935605; capture is only valid after the last content-changing step, which for a shipped markdown file includes the format gate.
  • grep -n "Principle-test allowlist probe" → line 239. The anchor CLAUDE.md:134 names by heading survives.
  • make self-auditEXIT=0, 423 principle tests pass, 1 skipped.

Review status — round 1 ran, and it was not a formality

Two cold seats (artifact paths only, no authoring dialogue), each handed the ledger, both bodies, and told to re-derive the consumer list by grep rather than trust the kickoff's snapshot.

Seat 1 — slice loss (the kickoff §3 merge contract): VERDICT: GO. 0 BLOCKER, 0 MAJOR, 7 MINOR. It enumerated 25 consumer surfaces and verdicted 25 CLEAN, 0 GAP — no live consumer depends on text that existed only in a removed slice. All six named deltas survived, and ### Principle-test allowlist probe still resolves from CLAUDE.md:134.

Seat 2 — document quality: VERDICT: REVISE. 4 MAJOR + 3 MINOR, and its MAJORs were defects in the ledger, not in the skill — which is the outcome that justifies the round:

Finding The defect Fix
MAJOR ~13 baseline citations read 11 low — they were relative to a sed window starting at line 12. Row 6 cited :111, a decision-matrix row, for a restatement that sits at :122. every baseline citation re-measured against git show origin/staging:… and rewritten
MAJOR four references/ citations hit the wrong section of the right file (glossary.md:37-39 for the depth-2 limit is ## See also) re-measured: glossary.md:36, :28-32, rationale.md:42-44, :34, :36
MAJOR two counts were estimated, not counted — one Recovery row was removed, not two; two anti-pattern bullets, not four counted mechanically
MAJOR the authority header claimed «authoritative for the Mode A/B dispatch vocabulary» while the same header disclaimed «dispatch-channel definitions — glossary.md» header now owns the choice rule; glossary.md owns the definitions, and the relationship to pipeline/SKILL.md:382 is stated explicitly
MINOR ×3 Mode B condition list omitted the Opus-pool-under-load case the quota table requires; the header omitted verification-before-completion; one ledger row's citations supported a narrower claim than the row made all three fixed

Both seats also caught that the T16 model-tier note attributed «prices per token» to upstream — subagent-driven-development/SKILL.md:181 argues the opposite («turn count beats token price»). Reworded to upstream's actual argument.

Round 2 — the scoped re-review of those fixes: VERDICT: REVISE, 10 of 13 ADDRESSED. No test, snapshot, anchor or frontmatter breakage; all three misses were again in the ledger, and they are the interesting kind:

  • Row 13 still carried the −11 numbers as second-hand copies inside another row's justification cell. Round 1 had corrected the rows those numbers belonged to and never searched for their mentions elsewhere — the fix was right and incomplete in the same move.
  • Row 8 claimed consumers cite the whole -1 … 4.5 ladder; its two citations evidence «Phase -1» only. Claim narrowed to what the evidence supports.
  • Three removals had no row at all (the Agent({…}) example, the mid-batch bash block, ### Restoring WIP) while the ledger's header promises a classification of every slice. Added as rows 21a/21b/21c — and 21a records the one removal in the whole rewrite with no surviving verbatim form.
  • Two MINORs the round-1 fix itself introduced: narrowing glossary.md:5-11 to :5-9 dropped the Reviewer role at :11, and one bullet carried two different residue figures.

All fixed in 1964985b4e; the skill body is untouched in that commit, so the fingerprints stay valid — verified (compare 15/15), not assumed.

Round 3 — the re-review of round 2: 4 of 5 ADDRESSED, 77 citations resolved (57 baseline line numbers + 20 repo-local), zero baseline citation failures. The header's promise — a classification of every slice — was confirmed by walking every deletion hunk of git diff -U0 origin/staging.

The single miss is the sharpest finding of the three rounds, because the previous round's fix invented it: new row 21a claimed the JavaScript example was «the ONE removal with no surviving verbatim form». False, and falsifiable in one command — grep -c 'Batch A' over the new body returns 0, so the parallel-dispatch sketch (baseline 333-337) has none either, nor does the push/PR block (386-392, grep -c 'git push -u' → 0). Both were already recorded under rows 14 and 16, so nothing was missing — the superlative simply claimed one notch more than the evidence carried. The same fix also left 130-145 and 143-154 overlapping, so three lines were at once «kept in substance» and «gone without a trace»; the coherent range is 130-141. Fixed in 187ce0be84.

Then I re-derived the corrected claim myself rather than shipping it on the reviewer's authority (b428b4ac4a). All eight fenced blocks in the baseline were tested line-by-line against the new body: the claim holds — exactly those three have zero surviving lines — but the wording invited reading «a survivor» as «fully preserved», which is false for three of the other five. The per-block counts are now in the ledger (249-260 3/4, 286-292 4/4, 347-350 2/2, 376-380 2/3, 398-401 1/2), so the sentence is checkable instead of trusted.

Root cause of the last two stale citations, recorded because it generalises: the first reading of references/rationale.md in this umbrella came from the primary checkout, which carries an untracked pre-authority-header copy of that file (git status there reports ?? …/references/rationale.md) two lines shorter than the tracked one. Reading a file from the primary checkout while working in a worktree can hand you different bytes than the ones under review.

Review loop closed here, deliberately. Three rounds ran; each found less than the one before (4 MAJOR → 3 misses → 1), the last finding was a superlative rather than a substantive error, and the merge-contract seat (slice loss, kickoff §3) returned GO in round 1 with the skill body unchanged in every commit since. A fourth cold round would re-check numbers that were just swept mechanically — effort without goal progress (effort-worthiness.md §1).

Merge gate. Green CI is not sufficient by the kickoff's own terms: this needs a live operator GO. Not self-merging.

Observations (surfaced, not acted on — kickoff §7 anti-scope)

Re-deriving the consumer class by grep found two surfaces the kickoff's §3 snapshot did not name. Both are other owners' artefacts, so they are reported rather than edited:

  1. agents/orchestrator-worker-discipline.md:10 and its shipped twin packages/core/templates/shared/skill-context/aif-orchestrator-discipline/SKILL.md:8 route «the FULL orchestrator workflow (quota zones, queue-mode anti-collusion, Phase -1 dual-reviewer)» to «the meta-orchestrator skill (operator-side)» — i.e. to pipeline. Quota zones and Phase -1 live in this skill, not in pipeline. Pre-existing imprecision, unchanged by this PR; worth a one-line repointing by its owner.
  2. setup.d/10-skills.sh:82 describes this skill's content as «Mode A/B, Queue mode, quota zones, Phase -1 cold kickoff read». That enumeration is still accurate after the rewrite — recorded so a future thinning pass knows the manifest comment tracks the delta list.

A third note, on this PR's own shape: the ledger ships as report.md because .gitignore:16 ignores .claude/orchestrator-prompts/*/* and report.md is an already-negated durable-artefact name whose comment describes exactly this class («population enumeration + per-verdict evidence»). Using it avoided editing shared .gitignore state for one file.

§1.7 Forward-check applied

Checked against the disciplines this change is scoped by. Doc-authority (doc-authority-hierarchy.md:1): the rewritten body keeps its Authoritative for: / NOT authoritative for: header and the latter is where the five upstream bindings now live, which is the /arch pattern at .claude/skills/arch/SKILL.md:24; principle 09 green. Build-first-reuse (build-first-reuse-default.md:1): the whole change is REUSE in the strict sense — it deletes our restatements and points at upstream owners; no new capability, no dependency, no module, so the Prior-art: trailer takes the escape hatch with a stated rationale. No-paid-LLM-in-CI (no-paid-llm-in-ci.md:1): the review layer is session-read cold agents, zero CI inference. Language discipline (language-discipline.md:1): body English-only, frontmatter trigger words (category-3 match-data) untouched — principle 22 green. Attention-is-not-a-mechanism (attention-is-not-a-mechanism.md:1): the acceptance layer is the ledger plus a named cold protocol, not «a reviewer will read the diff»; and the one anchor an external doc names by heading is checked by a grep in the kickoff's host-verify block, not by memory.

§1.7 Backward-check applied

Class of this change = prose slices removed from a shipped skill body on the grounds that an upstream skill or a sibling reference already owns them. Surfaces where that class occurs, each verdicted rather than recapped:

  • .claude/skills/orchestrator/references/* (10 files, 1210 lines) — GAP-FOUND and closed by design: phase-minus-1.md:4 declares itself NOT authoritative for the subagent-implementation table and points back at the body, so that table was deliberately kept; deleting it would have left the pair ownerless. glossary.md:3 and rationale.md:3 claim the role/channel definitions and the incident history, so the body's duplicates of those collapsed to pointers.
  • .claude/skills/pipeline/**SWEPT-CLEAN: pipeline/SKILL.md:382 names this skill as the SSOT for «Mode A / Mode B», and that vocabulary survives with definitional force; references/output-format.md:495 records a falsifier that fires if this skill gains a structured-args parser — it did not, the natural-language payload contract is untouched.
  • .claude/skills/{dispatcher,aif-doctor,night-mode}/**SWEPT-CLEAN: their references are wrap-never-fork boundary statements (dispatcher/SKILL.md:412, aif-doctor/SKILL.md:227) and a superset-context pointer (night-mode/SKILL.md:66); none quotes removed text.
  • CLAUDE.mdSWEPT-CLEAN with a live check: CLAUDE.md:134 names the Phase -1 «Principle-test allowlist probe» heading; it is still at orchestrator/SKILL.md:239.
  • agents/** + packages/core/templates/shared/skill-context/**GAP-FOUND, out of scope: the two mis-routed pointers in the Observations above. Pre-existing, not caused here, owned elsewhere.
  • tests/install-sh/baselines/*SWEPT-CLEAN: all eight npm-stack fingerprints carrying this skill were recaptured and re-compared green in the same commit.

Sibling skills were checked for the same class and deliberately not touched: arch/SKILL.md is already thin (the model this PR follows), and thinning pipeline or night-mode is a different umbrella with a different owner.

Fidelity verdict

FIDELITY: skipped — Tier-2 kickoff carrying no bridge-profile marker: the D-H9 design ratified the direction but not a per-slice keep/remove map, so no plan-complete substrate exists for a fidelity audit to compare against. The equivalent assurance is the kickoff §3 cold slice-loss review against the shipped ledger.

Rewrite `.claude/skills/orchestrator/SKILL.md` to the `/arch` model: every slice
that an upstream superpowers skill (or this skill's own references/ file) already
owns collapses to a binding; only project deltas keep prose.

Method: three-way slice classification (DELTA / RE-DESCRIPTION / MIXED) over the
512-line baseline, each RE-DESCRIPTION claim carrying the upstream file:line it
re-describes, read from superpowers 6.2.0 rather than recalled. The per-slice
disposition is the deliverable's spine and ships as
`.claude/orchestrator-prompts/orchestrator-rewrite/report.md`.

Measured: 157 deletions / 119 insertions, 512 -> 474 lines. The prep-doc expected
"roughly halve"; it did not hold, and the ledger records why — re-description was
~31% of the body, and collapsing a slice costs added binding lines. Deltas were
not cut to reach a number (kickoff P-1, T-OR-A).

Three T16 divergences from upstream are now stated in the body instead of being
silently implied: the model ladder (subscription pool vs per-token pricing), the
parallel-batch gate (independent worktrees vs SDD's in-plan ban), and
worktree-by-default (vs upstream's consent step).

Repairs found while classifying: the Phase 0 pointer routed to `executing-plans`,
which itself defers to `subagent-driven-development` when subagents exist; the
Phase 4.5 provenance cited a skill name that does not exist; and the body taught a
bare `git worktree add` recipe that upstream names as the "#1 mistake" when a
native worktree tool is available.

All six named deltas survive, including the "Principle-test allowlist probe"
heading that CLAUDE.md:134 names by name. Install fingerprints recaptured in the
same commit.

Prior-art: skipped — doc-only rewrite of an existing skill body plus the snapshot
regeneration it forces; no new capability, no new dependency, no new module.
Test added 5 commits August 18, 2026 03:23
The previous commit captured baselines, then the pre-commit shipped-format
gate reformatted two markdown tables in `.claude/skills/orchestrator/SKILL.md`,
and the baselines were never re-taken. They therefore recorded the pre-Prettier
delivered hash (9059fd7c…) while the file installs as 76a07b50…, so
`install-sh battery (shard C)` went red on 8 of 15 stack/mode pairs while a
local compare run before the reformat had been green.

Order matters: capture is only valid after the LAST content-changing step.

Verified on the host after this commit: `SNAPSHOT_MODE=compare` → 15 pass /
0 fail, and `prettier --check` on the skill is clean, so the two cannot
disagree again for this diff.

Prior-art: skipped — regenerated snapshot baselines only, no capability, no
dependency, no new module.
…ee body defects

Two cold seats reviewed the rewrite. The slice-loss seat returned GO with zero
BLOCKER/MAJOR (25 consumer surfaces enumerated by grep, 25 CLEAN, all six named
deltas and the CLAUDE.md:134 anchor intact). The doc-quality seat returned REVISE,
and its MAJORs were defects in the ledger, not in the skill.

Ledger (`.claude/orchestrator-prompts/orchestrator-rewrite/report.md`):

- ~13 baseline citations were relative to a `sed` window starting at line 12 and
  therefore read 11 low — row 6 cited `:111`, a decision-matrix row, for the Step-0
  restatement that actually sits at `:122`. Every baseline citation is re-measured
  against `git show origin/staging:…` and rewritten. Rows 9-21 were already correct.
- Four `references/` citations pointed at the wrong section of the right file
  (`glossary.md:37-39` for the depth-2 limit is `## See also`; the real line is `:36`).
- Two counts were estimated rather than counted: one Recovery row was removed, not
  two; two anti-pattern bullets, not four.
- The summary counts did not match the rows beneath them; recounted, with the
  row-vs-slice distinction now stated.
- The diff numbers are re-taken at the head under review (168/134). The two earlier
  readings are recorded rather than quietly replaced, because each was stale for a
  different reason worth knowing.

Skill body (`.claude/skills/orchestrator/SKILL.md`):

- The authority header claimed «authoritative for the Mode A/B dispatch vocabulary»
  while the same header disclaimed «dispatch-channel definitions — glossary.md». It
  now owns the choice rule; glossary.md owns the definitions.
- The Mode B condition list omitted the Opus-pool-under-load case that both the quota
  zone table and the decision matrix require, so the anti-pattern pointing at that
  list pointed at an incomplete one.
- The model-tier divergence note attributed «prices per token» to upstream;
  `subagent-driven-development/SKILL.md:181` says the opposite («turn count beats
  token price»). Reworded to what upstream actually argues.
- The slice-loss seat's one falsifier hit: «Batched questions» was carried as a
  project norm when SDD:151-153 already owns it. Now bound, not claimed.
- Restored two normative details the collapse had dropped: that an embedded
  self-review does not count as one of the two Phase -1 reviewers, and the two
  project-specific PR-open details upstream does not carry.

Snapshots recaptured AFTER the format gate this time, per the previous commit's
lesson. Host: compare 15/15, principles 423 pass, `make self-audit` exit 0.

Prior-art: skipped — review-round corrections to a doc rewrite plus the snapshot
regeneration it forces; no new capability, dependency, or module.
…ed as copies

The scoped re-review of round 1 verdicted 10 of 13 findings ADDRESSED and 3 not,
with zero test, snapshot, anchor or frontmatter breakage. All three misses, and
both MINORs the round-1 fix itself introduced, were in the ledger:

- Row 13 still carried the −11 window-relative numbers as SECOND-HAND COPIES inside
  another row's justification («the matrix (94-103)», «the blockquote (82-88)»).
  Round 1 corrected the rows those numbers belonged to and never searched for their
  mentions elsewhere. Re-measured to 103-114 and 93-99.
- Row 8 claimed consumers cite the whole `-1 … 4.5` ladder; the two citations
  evidence «Phase -1» only, and one path lacked its directory. The claim is narrowed
  to what the citations support and the paths are complete.
- Three removals had no ledger row at all — the `Agent({…})` JavaScript example, the
  mid-batch bash block, and `### Restoring WIP` — while this file's header promises a
  classification of every slice. Added as rows 21a/21b/21c; 21a records the one
  removal with no surviving verbatim form.
- Narrowing `glossary.md:5-11` to `:5-9` in round 1 silently dropped the Reviewer
  role at `:11`. Restored, with each role's own line named.
- One bullet carried both «~355» and «~344» for the same residue; 512 − 168 = 344.

Notes-lane items fixed in passing: the `rationale.md` opusplan citation overran into
the next heading (`:23-24`, not `:20-26`), and the frontmatter key lines were wrong
(`description:` is at `:3`).

The skill body is untouched this round, so the install fingerprints from the previous
commit remain valid — verified rather than assumed: `SNAPSHOT_MODE=compare` 15 pass /
0 fail, principles 423 pass.

Prior-art: skipped — review-round corrections to a documentation ledger; no new
capability, dependency, or module.
… invented

The scoped re-review of round 2 resolved 77 citations (57 baseline line numbers,
20 repo-local) with zero baseline failures, and confirmed the header's promise —
a classification of every slice — by walking every deletion hunk of
`git diff -U0 origin/staging`. One finding stood, and it was introduced by the
round-2 fix itself:

- Row 21a claimed the JavaScript example was «the ONE removal with no surviving
  verbatim form». False, and falsifiable in one command: `grep -c 'Batch A'` over
  the new body returns 0, so the parallel-dispatch sketch (baseline 333-337) has no
  verbatim survivor either, and neither does the push/PR command block (386-392,
  `grep -c 'git push -u'` → 0). Both were already recorded under rows 14 and 16 —
  nothing was missing — but the superlative claimed one notch more than the evidence
  carried. Corrected to «one of three», with both counter-examples and their probes
  named.
- The same fix left an internal contradiction: the kept-slice row for the
  `isolation: "worktree"` mandate spanned 130-145, overlapping the 143-154 block
  21a declares removed, so 143-145 were at once «kept in substance» and «gone
  without a trace». The coherent range is 130-141 (`:141` is the «May be skipped»
  clause; `:143` opens the fence).
- Two citations into `references/rationale.md` were off by a line or two. Root
  cause worth recording: the first reading of that file in this umbrella came from
  the PRIMARY checkout, which carries an untracked pre-authority-header copy
  (`git status` there reports `?? …/references/rationale.md`), while the tracked
  copy that ships is two lines longer. Reading a file from the primary checkout
  while working in a worktree can hand you different bytes than the ones under
  review. Re-measured against the worktree copy: `:8-17` and `:4`.
- Ledger row order restored (21a-c had been inserted after 22a/22b).

Skill body untouched again this round, so the fingerprints stay valid — verified,
not assumed: compare 15 pass / 0 fail, principles 423 pass, report.md 219 lines
against the 600 ceiling, Prettier clean.

Prior-art: skipped — review-round corrections to a documentation ledger; no new
capability, dependency, or module.
…ot a reviewer's

Round 3 recorded «every other removed block has a verbatim survivor» on the
re-review's authority. Re-derived it here instead: all eight fenced blocks in the
baseline were tested line-by-line (comments stripped) against the new body. The
claim holds — exactly the three named blocks have zero surviving lines — but the
wording invited reading «a survivor» as «fully preserved», which is false for
three of the remaining five. The per-block counts are now stated (249-260 3/4,
286-292 4/4, 347-350 2/2, 376-380 2/3, 398-401 1/2) so the sentence is checkable
rather than trusted.

Skill body untouched; fingerprints unaffected. report.md 219 lines, Prettier clean.

Prior-art: skipped — precision edit to a documentation ledger; no new capability,
dependency, or module.
@artyhoo
artyhoo merged commit ce90c0d into staging Aug 18, 2026
54 checks passed
@artyhoo
artyhoo deleted the docs/orchestrator-rewrite-deltas-bindings branch August 18, 2026 06:59
artyhoo added a commit that referenced this pull request Aug 18, 2026
) (#1461)

The single-stage D-H9 umbrella merged as #1460 (squash ce90c0d) without its
closure marker. This writes it per the umbrella closure convention
(docs/meta-factory/operational-conventions.md §1), which priority-score.sh Layer
C3 reads to tag the umbrella status=DONE done_pr=1460 basis=done-md.

Body records the measured result rather than the plan: 512 → 478 lines, not the
predicted «roughly halve»; re-description was ~33% of the body. Also carries the
two out-of-scope pointers #1460 surfaced (agents/orchestrator-worker-discipline.md
and its shipped twin mis-route quota zones + Phase -1 to the pipeline skill) and
the worktree-vs-primary-checkout method note.

Prior-art: skipped — docs-only closure marker for an already-merged umbrella, no new capability, no dependency, no module.

Co-authored-by: Test <test@example.com>
artyhoo added a commit that referenced this pull request Aug 18, 2026
…ers (#1463)

Both twins routed «quota zones, queue-mode anti-collusion, Phase -1
dual-reviewer, cross-umbrella priority» to a single «meta-orchestrator skill
(operator-side)». Three of those four live in the `orchestrator` skill, not in
`pipeline`: quota zones (.claude/skills/orchestrator/SKILL.md:16,41,55),
queue-mode anti-collusion (:423,:427 + references/queue-mode.md), the Phase -1
A/B dual-reviewer split (:241). Only cross-umbrella priority is `pipeline`'s
(.claude/skills/pipeline/SKILL.md:21,573) — and `pipeline` explicitly disclaims
Queue-mode ownership at :384. The label was also stale: the skill was renamed
meta-orchestrator → pipeline.

A worker following the old pointer looked for quota zones and the Phase -1
protocol in the skill that does not carry them. Surfaced as an out-of-scope
observation by PR #1460 (D-H9 rewrite), which could not edit other owners'
artefacts; this is that separate owner commit, invited by the maintainer.

Both files edited identically — they are @dual-pair twins
(aif-orchestrator-discipline).

Prior-art: skipped — doc-only pointer correction in two twin markdown files, no new capability, no dependency, no module.

Co-authored-by: Test <test@example.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant