Skip to content

research(M-A Stage 1): orchestrator skill per-H2-section audit vs 7 companions - #254

Merged
artyhoo merged 1 commit into
stagingfrom
research/orchestrator-skill-audit
May 26, 2026
Merged

research(M-A Stage 1): orchestrator skill per-H2-section audit vs 7 companions#254
artyhoo merged 1 commit into
stagingfrom
research/orchestrator-skill-audit

Conversation

@artyhoo

@artyhoo artyhoo commented May 26, 2026

Copy link
Copy Markdown
Owner

Summary

Stage 1 R-phase of the m-a-full-satellite-transition umbrella. Audits all 25 H2 sections of ~/.claude/skills/orchestrator/SKILL.md against the 7-companion integration matrix (PR #252) and classifies each as REPLACE-WITH-COMPANION / KEEP / HYBRID-WRAPPER.

Deliverable: docs/meta-factory/research-patches/2026-05-27-orchestrator-skill-audit.md (336 lines)

Distribution (§2 table, 25 sections):

  • KEEP: 10 (niche content no companion covers — quota monitoring, Phase -1 cold-review, Phase 0 discovery, communication, triggers, anti-patterns)
  • HYBRID-WRAPPER: 12 (our orchestration frame + delegate inner-loop to companion — bootstrap, Mode A/B, three-ways, in-session isolation, phases 2/3/4, queue mode, auto-trigger, walkthrough, verification)
  • REPLACE-WITH-COMPANION: 3 (fully covered — cross-session worktree, «Что сделано» status H2, walkthrough summary)

Stage 4 action list (§4): 13 actions categorized as High-confidence REPLACE (3) / HYBRID-WRAPPER rewrites (7) / KEEP confirmations (3).

§1.7 Forward-check applied

  • Complies with no-paid-llm-in-ci.md §1: research-only markdown, no CI API calls.
  • Complies with doc-authority-hierarchy.md §2–§3: patch carries Authoritative-for + NOT authoritative-for header.
  • Complies with build-first-reuse-default.md §1: all 25 classifications cite BFR verdict (REPLACE=ADOPT, HYBRID=ADAPT, KEEP=KEEP-NARROW).
  • Complies with phase-research-coverage.md §1.7: this PR body carries §1.7 H3 headers per principle 13 requirement.
  • Primary input: 2026-05-27-universal-satellite-integration-matrix.md (PR research(universal-satellite): R-phase per-companion capability + integration matrix #252) cited per §1.12 verify-against-SSOT discipline.
  • T16 walk (ai-laziness-traps.md §2): each section's companion match verified against matrix §1.x evidence, not by name similarity — e.g. §6 Cross-session worktree: Superpowers upstream problem class = worktree-per-session isolation; our problem class = same; match confirmed via matrix §1.2 «Worktree-per-parallel-session».
  • Universal-satellite non-negotiable honored: no section classified as «pick one companion as default»; all HYBRID-WRAPPER sections specify multi-companion delegation patterns (e.g. §14 Phase 3 delegation references AI-Factory aif-implement OR Superpowers SDD OR OhMyOpencode Atlas).
  • T19 cold-QA performed on deliverable before PR open: caught MD040 error (line 120, missing language specifier on fenced code block) + §0 count discrepancy (9/10/6 vs actual 10/12/3) — both fixed before commit.

§1.7 Backward-check applied

  • No existing rule superseded or modified. Research-only patch.
  • No .claude/rules/*.md edited (research-only stage constraint honored).
  • No ~/.claude/skills/orchestrator/SKILL.md edited (research-only; Stage 4 I-phase makes substrate edits).
  • No install.sh / README.md / CLAUDE.md edited.
  • Prior-art escape hatch in commit: Prior-art: skipped — research-only patch documenting per-H2-section audit; no new capability/dependency added (≥20 chars, specifies why per CLAUDE.md escape-hatch requirements).
  • Patch does NOT pick a single companion as default — universal-satellite vision preserved throughout.
  • Patch is append-only to docs/meta-factory/research-patches/ (folder-level authority per doc-authority-hierarchy.md §5).
  • Worktree isolation: committed from harness-managed worktree agent-afd692bd0d4d8fba7 per parallel-subwave-isolation.md §1 — no git worktree add run by worker (harness manages).

Scope

In scope (Stage 1 only): research patch documenting per-H2 classification.
Out of scope (later stages): SKILL.md edits (Stage 4), install.sh updates (Stage 5), README/CLAUDE.md updates (Stage 6).

Test plan

  • markdownlint-cli2 v0.22.1: 0 errors (verified by pre-commit hook)
  • All 21 principle tests pass (vitest run principles/)
  • 191 audit-ai-docs tests pass
  • Pre-push hook: zizmor + skill-drift-check + rules-table PASS
  • Orchestrator/maintainer reviews §2 classification table for any disagreements
  • Orchestrator validates Stage 4 action list (§4) against their umbrella plan before proceeding to I-phase

… vs 7 companions

All 25 H2 sections of ~/.claude/skills/orchestrator/SKILL.md classified against
7 companion findings from PR #252 matrix. Distribution: 10 KEEP / 12 HYBRID-WRAPPER /
3 REPLACE-WITH-COMPANION. Stage 4 (I-phase trim) actions itemized in §4 (13 actions).

Prior-art: skipped — research-only patch documenting per-H2-section audit; no new capability/dependency added
@artyhoo
artyhoo merged commit 502a90b into staging May 26, 2026
22 checks passed
artyhoo added a commit that referenced this pull request Aug 18, 2026
…ws, routing bindings (#1462)

* feat(arch): frontier pacing delta in §1 — ADAPT of grill-me/grilling (SSOT #253)

Two deltas over the wrapped brainstorming loop: batch prerequisite-settled
questions per round (dependent ones stay serial), and enumerate-before-done —
the dialogue closes only when every design decision is answered or an explicit
operator fork. Superpowers 6.2.0 verified to lack the mechanism (grep over the
whole installed plugin: 0 hits; brainstorming pins one-question-per-message).

Prior-art: prior-art-evaluations.md#253 (grill-me/grilling, ADAPT — only the tree/frontier mechanic transfers; recommendation-per-question and probe-don't-ask already exist as H1 + T8/T20).

* feat(arch): grilling becomes the questioning engine — SSOT #253 lifted ADAPT→ADOPT

Operator-ratified design session (D1-D4): the compressed frontier-pacing
paraphrase measurably lost upstream's non-blocking probe rule (same-day cold
review vs the raw upstream text), so /arch §1 now consumes the grilling skill
AS IS via the mattpocock-skills companion plugin (MIT, versioned, precedent
#64 brainstorming) and keeps only a thin binding: brainstorming collision
resolution, probe routing (T20/§1.5), AskUserQuestion as the round carrier
(added to allowed-tools), and the spec's live decision register as the tree
surface. Register format lands in the spec-template obligation; SSOT #253
revisit triggers gain a named recording surface + a vendor-copy fallback arm.

Prior-art: prior-art-evaluations.md#253 (grill-me/grilling, ADOPT — companion plugin consumed AS IS; paraphrase channel measured lossy, hence the lift from ADAPT).

* feat(arch): §2 no-rerank rule — the two altitudes are never merged into one list

Adopted from mattpocock code-review's two-axis separation (one axis must not
mask the other) during the 2026-08-17 plugin sweep; the §2 seats already
report independently, this pins that their findings are presented side by
side and never reranked across altitudes.

Prior-art: prior-art-evaluations.md#253 (mattpocock-skills plugin sweep; doc-only edit, no new capability).

* docs(arch-prep): three-stack skill harmonization — collision map + raw ownership idea

Prep-doc for a future /arch design session: enumerates all three skill
populations (ours 16, superpowers 6.2.0 14, mattpocock-skills 1.2.3 35 — all
35 read in full), maps collisions per capability area (sharpest: Matt tdd vs
SP TDD contradict on refactor placement and seam scoping; diagnosing-bugs vs
systematic-debugging claim the same trigger space), lists the six available
resolution mechanisms with two unknowns (per-skill disable, routing
precedence) as probes, and drafts a one-owner-per-area map plus a live
decision register the design session starts from.

Prior-art: prior-art-evaluations.md#253 (grilling ADOPT — this prep extends the same three-stack comparison to the full plugin; doc-only, no capability).

* docs(arch-prep): §1.5 dependency edges — collision risk weighted by our hard references

Measured map of what our machinery hard-references upstream (grep over
skills/rules/agents/CLAUDE.md/templates): SDD is the most-referenced upstream
and crosses the shipped axis (tier-home.md); requesting-code-review is the
highest-risk collision zone because dispatcher/harvest contracts name it while
Matt's code-review claims the same trigger space; TDD/debugging collisions
carry routing risk only (zero hard edges from us). Also: D-H4 recorded as
answered (parallel commit 09569a3 landed mid-session), §7 gains the
re-probe-before-edit note.

Prior-art: prior-art-evaluations.md#253 (same three-stack comparison; doc-only edit).

* docs(arch-prep): DeepWiki pass on both satellites + our-side thinning audit

Per-repo DeepWiki interrogation folded in: (a) the measured routable surface
is exactly 11 mattpocock skills (user-invoked ones never enter the router —
his collision policy is the user/model-invoked split, confirmed live in this
session's skill listing); (b) Matt's refactor-out-of-loop is a June-2026
behavioral measurement («agents essentially never performed it»), not
doctrine — D-H2 needs our own corpus check; (c) TDD edge CORRECTED: SDD's
implementer-prompt.md:36 says bare «TDD», so the collision is
transitive-contract grade, not routing-only; (d) superpowers documents
Project > Personal > Plugin per-skill shadowing — new mechanism 7, P1
narrowed. New §4.5: our 16 skills audited — nothing deletable, orchestrator
is the one THIN candidate (D-H9); D-H10 TDD shadow, D-H11 domain-modeling
pairing added to the register.

Prior-art: prior-art-evaluations.md#253 (same three-stack comparison; doc-only edit).

* docs(arch-prep): slash-only planning skills evaluated as adoption candidates + 4 raw ideas

Operator correction folded in: «no collision» ≠ «no value» — the user-invoked
planning skills get per-skill adopt/adapt verdicts (wayfinder ADAPT strongest;
to-tickets ADAPT mechanizable; to-spec one section; implement REJECT; triage
two residues). New §4.6 carries four raw ideas for the design session: (1) the
decision map as the multi-session layer over /arch — D4's register lifted to
wayfinder shape, map-location sub-fork included; (2) kickoff Blocked-by edges
with a pipeline-computed frontier; (3) seams-first Testing-seams slot in the
spec template, unlocking the seams half of D-H2; (4) glossary SSOT as a
term-ownership generated index — the CONTEXT.md-free adaptation that makes the
grilling+domain-modeling pairing adoptable (D-H11 re-opened from defer).
Register grows D-H12-D-H14.

Prior-art: prior-art-evaluations.md#253 (same three-stack comparison; doc-only edit).

* docs(arch): three-stack skill harmonization — design spec + continuation handoff

Interview phase complete (frontier empty): P-1..P-6 operator premises,
15-area ownership map ratified (D-H1), decision register D-H0..D-H16 with
falsifiers, mechanism set (prune script, CONTEXT.md rule+test, claim
reorder, Blocked-by frontier, seams slot, aif plugin), probe register
P1/P2a-c/P5-pending/P6, routed-work inventory for §3 exit routing.

Awaiting §2 cold two-altitude review (this session's next step).

* docs(arch): harmonization spec v2 — round-1 cold-review dispositions landed

Both §2 seats returned REVISE (9 + 8 findings). All round-triggering
findings repaired in place: §1 restated as two declared lanes (TD-F1);
prune radius narrowed to 2 machine-globally-justified items per the
operator's F7 answer + --check pre-push drift detector (TD-F2/F7);
D-H17 completes the ownership map to all 11 model-invocable skills
(TD-F3); setup run re-bucketed attended (TD-F4); D-H5 claim mechanics
specified with real machinery + P4 restored (TD-F5, B-M1/M2); §5.6
non-target named (B-M3); /vitest transfer dissolved (B-M4); D-H7/D-H8
counter statuses corrected (B-M5); D-H13 adopts incumbent 'Depends on'
spelling (B-M6). New: P-7 premise + D-H18 consumer-axis contour routed
out via chip. Full dispositions: §9 v2 entry.

* docs(arch): harmonization spec v3 + SSOT #253 counter arm + REJECT rows #254-257

Round-2 delta review (both seats REVISE; all round-1 closures confirmed):
- --check channel corrected: owner:'maintainer' section in the pre-push.ts
  section registry (the file ships to consumers but maintainer sections
  never compose on a consumer layout, fail-closed) — .husky/pre-push is
  an exec dispatcher with no sections (convergent TD/B finding).
- D-H16 build item DISSOLVED: aif container mounts the host
  ~/.claude/plugins read-only (docker-compose.override.yml), so the
  plugin is already visible in-container and the prune/--check cover it
  by construction (measured round-2).
- 'counter armed' made true instead of re-worded: D-H7/D-H8 arm +
  observation No.0 appended to SSOT #253; REJECT rows #254-257 added
  (Matt implement, ADR dir, severity-less review model, total-sweep
  pruning). Spec SS8 item 5 DONE in-session.
Dispositions: spec SS9 v3 entry.

* docs(arch): harmonization contour GO — round-3 record + routed in-session edits

Round 3 (targeted delta): both cold seats GO. Spec header → REVIEWED-GO;
§9 round-3 entry (one TD MINOR accepted as recorded limit: container
premise rests on untracked local docker-compose.override.yml — covered
by D-H16 falsifier).

Routed §8 item 2 small edits, per spec:
- arch/SKILL.md §1: Testing seams slot added to the spec-template
  obligation (D-H14; seams-first adopted WITHOUT Matt's refactor placement)
- ai-doc/SKILL.md: skill-authoring ownership note (standard=ours,
  process=SP writing-skills, writing-for-agents=REFERENCE)
- rule-tests/SKILL.md: tautological-test anti-pattern REFERENCE note
  (D-H2 transfer (b))

* docs(arch): close harmonization contour handoff — full tail executed

Review GO (3 rounds), exit routing done (3 chips + in-session edits),
SSOT appends landed. Handoff retained as closure record; residue =
operator actions (spec SS8 item 1) + chip-routed umbrellas.

* docs(arch): consumer-axis satellite harmonization — design v1 + round-3 handoff

Round-2 /arch contour (D-H18): interview closed, D-C1..D-C8 ratified with
falsifiers; three-class collision model (factory CI / install-time census /
informed consent); detect+declare+prescribe mechanism recorded. Cold review
and exit routing DEFERRED behind the operator-mandated round-3 top-down
creative re-examination (P-C3) — handoff written for the fresh session.

* docs(arch): harmonization round 3 — registers amended, injected-context bindings land

Round 3 (D-C8, operator-mandated P-C3) executed per the handoff's membrane
phase order. Operator-axis spec v4: D-H15 SUPERSEDED — the prune apparatus
(script / wizard / --check pre-push section / gate P5) dissolved, replaced
by CLAUDE.md routing bindings (repo section + ~/.claude/CLAUDE.md
machine-global half, written in-session with live operator approval) +
meta-kickoff.template.md binding line (D-H10 fallback promoted to primary);
D-H8 gains a frontmatter-neutering ladder step. Round-2 spec v2: D-C1
re-cut to the thin form (static census prose + known-pair presence check;
inventory-join engine not built), D-C9 fourth-stack admission boundary
added (knowledge-work trio stays on SSOT #235). Round-3 handoff closed
with the continuation-state staleness correction; keen-shannon merged in
(3ae6981) so both specs live on one branch.

* docs(arch): P7 recorded — fresh-session bindings probe 2/2 vs P2 baseline

Both P2-class triggers flip with the CLAUDE.md bindings in context
(headless claude -p, fresh sessions reading the worktree CLAUDE.md from
disk). Method finding recorded: in-session subagent probes are invalid
for mid-session binding edits — subagents inherit the parent's
session-start CLAUDE.md snapshot (measured via a failed in-session probe
plus its diagnostic follow-up).

* docs(arch): round-3 review R1 — both seats REVISE, dispositions landed

Convergent BLOCKER fixed: the meta-kickoff.template.md binding line
REMOVED — .claude/skills/pipeline/ ships to consumers via GETFF_SKILLS_ENV
(setup.d/lib.sh:59) at the default env profile, so carrier #3 breached the
operator-axis membrane while buying no coverage; its removal restores all
8 install fingerprints to the baseline blob. §5.1's «no mechanical channel
at all» premise corrected (config layer only; frontmatter + a possible
Skill-matched PreToolUse hook priced — P8 records the hook UNVERIFIED:
guide claims no Skill matcher, live harness observation contradicts). P7
restated honestly (1 measured flip + 1 post-only confirmation). SSOT #253/
#257 got dated supersession notes (no prune ever executed). Five residual
prune assertions re-cut. Consumer spec: population corrected — TWO shipped
cc-plugin rows (superpowers + ast-grep, the latter disabled on the
operator's own machine); presence check re-keyed on installed_plugins.json
+ enabledPlugins; D-C5/D-C6 aligned; class-2 own-skills half recorded as
prose-only limit. ESCALATED to operator: ast-grep shipping fate (ESC-1) +
the detection-wire fork (TD-M2/P8). ~/.claude/CLAUDE.md section relocated
to file end (orphaned AIF bullet restored to its heading).

* docs(arch): round-3 review R2 — residuals closed, operator answers landed

Both R2 seats REVISE with a convergent root cause: R1 edited the surfaces
findings argued FROM, not every surface repeating the claim. Closed: §1
premise re-cut to config-layer wording; §1 scope guard now names the
pre-round-3 routed edits as verified degrade-safe REFERENCEs; sixth prune
assertion re-cut (D-H16); handoff header unmerged label; D-H15
exclusivity hedge; consumer D-C1/§7 re-keyed on installed_plugins.json +
enabledPlugins; both §8 inventories carry the escalations. Operator
answers recorded live: ESC-1 → retro-census BOTH shipped rows, keep
ast-grep on a clean census; P8 → VERIFY via the settings.json hand-off
(§8 item 7). Review round cap (2 REVISE) reached — residual state
surfaced in §9 instead of a third cold round.

* docs(kickoffs): round-3 exit routing — two build umbrellas authored

consumer-satellite-contract (thin form: retro-census of BOTH manifest
rows per the answered ESC-1, D-C2 principle test, AGENTS.md.template
section + parity line, install-registry-keyed presence check) and
skill-harmonization-mechanisms (CONTEXT.md pointer-rule test, four-part
claim machinery closing probe P4, Depends-on frontier). Both carry
host-verify contracts and the PR-pause note: they become dispatchable
only when the spec branch merges to staging.

* docs(kickoffs): declare the effort-worthiness L0 rigor label on both round-3 kickoffs

Principle 40 (`packages/core/principles/40-kickoff-rigor-label.test.ts`) requires every
post-cutoff kickoff to carry a `Rigor label … L0 …` line with a legal value. Both
round-3 kickoffs were authored without it and failed the gate at push time.

- skill-harmonization-mechanisms → `build-and-verify`: all three surviving stages are
  factory-internal and reversible, each with a live RED/GREEN seam proof.
- consumer-satellite-contract → `research-grade`: S3/S4 touch consumer-shipped
  surfaces (AGENTS.md.template, ./setup), which effort-worthiness §1 reserves for the
  research-grade contour.

Prior-art: skipped — mechanical gate compliance on two doc files, no new capability

* docs(arch): P8 CONFIRMED live — detection wire v0 declared; kickoff L0 labels

The operator-registered log-only PreToolUse Skill hook fired on a forced
model-invoked skill in a fresh headless session (JSON with tool_name=Skill
+ the skill name in tool_input). The guide-agent's 'skill loading bypasses
the tool pipeline' claim is falsified — the P6 failure class again.
Measured boundary: user-typed slash commands bypass the Skill tool
(invisible to the wire, irrelevant: misroutes are model-invocations).
TD-M2 closes — the log IS the v0 misroute detection wire feeding the D-H7
counter; spec §6 P8 + D-H8 + §8 item 7 updated. Both kickoffs gained
effort-worthiness L0 rigor labels (parallel session's edit kept as-is).

* test(install-sh): regenerate baselines for the three edited shipped skills

The branch edits `.claude/skills/{ai-doc,arch,rule-tests}/SKILL.md` — all three are
shipped artefacts, so their fingerprints move in every stack baseline that carries
them. Captured with `SNAPSHOT_MODE=capture bash tests/install-sh/snapshot.sh`.

Diff reviewed before committing (round-3 R1 precedent: an unreviewed template edit
turned 8 fingerprints stale): exactly three payload paths changed hash — rule-tests
(22 occurrences), arch (16), ai-doc (16) — and every fingerprint file is 1:1 on line
count, so no payload entered or left any stack.

Prior-art: skipped — snapshot regeneration after a shipped-file edit, no new capability

---------

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant