research(companion-reuse): Sub-wave A — aif-handoff autoQueueMode deep-dive - #249
Conversation
…ueMode deep-dive Re-evaluates autoQueueMode LOGIC as standalone sub-component (separate from full Kanban runtime SSOT #67 which keeps its REJECT verdict). Proposes new SSOT row at [next-available-slot] placeholder for autoQueueMode-specifically. Corrects T16 muddied-scope-on-DeepWiki-probes trap from initial 2026-05-23 R-phase sweep; verdict under corrected within-one-project disambiguation. Prior-art: prior-art-evaluations.md#67 (full Kanban runtime, REJECT — preserved as-is); new-row proposal at [next-available-slot] (autoQueueMode-LOGIC standalone, verdict ADOPT VOCABULARY + REFERENCE, match score ~45%).
…rch patch Principle 10 requires <!-- scope:... --> on first line of every research patch. Caught by pre-push hook (10-research-patch-annotation.test.ts). Prior-art: skipped — fix only, no new capability; adds scope annotation missing from prior commit
Review finding — orchestrator self-audit (post-aggregate, 2026-05-26)MAJOR: «zero-infra» axis in SSOT #67's REJECT rationale weakens under satellite-positioningPer SSOT #67 rejection cites three axes (line 135):
The autoQueueMode LOGIC sub-component evaluation in this Sub-wave A is correct under «zero-infra-on-our-side» interpretation. But the broader SSOT #67 REJECT verdict for the full Kanban runtime warrants re-evaluation under satellite-positioning: a CC-native slash-command wrapper around aif-handoff Kanban (passing Docker+PG burden to the satellite-host) might re-classify from REJECT to ADAPT. This is out of scope for Sub-wave A's amendment (which keeps #67 REJECT preserved as-is per kickoff §3 «No re-litigating R-phase verdicts that already shipped to staging — only AMENDMENTS with corrected match-scores»). But it's a real finding for a separate future R-phase umbrella « Optional: AI-agnostic vs CC-session-bound framingPer Orchestrator self-audit (T19 own-cold-QA-before-handoff applied to aggregate). Sub-wave A's autoQueueMode-specific evaluation stands; broader #67 re-evaluation tracked as separate future umbrella. |
…provenance repair (principle-11 F1 staging red) (#1375) ## Summary Two concerns, one invited scope: (1) NEW project skill `.claude/skills/reviewer/SKILL.md` — the interactive review-session protocol, until now living only in the operator's personal `~/.claude/commands/reviewer.md` where repo machinery cannot see or update it (the #1374 severity-contract change had to be hand-patched into it the same day — the incident this closes; in-repo, a project skill takes precedence over the same-named personal command per the documented skill-over-command rule). (2) SSOT entry #249 — provenance repair for `.claude/rules/effort-worthiness.md`: principle 11 F1 is red on staging because the #1374 squash rebuilt the introducing commit from a PR body that omitted the `Prior-art:` line (the #1094→#1097 class); the verbatim-path SSOT match fixes F1 for every subsequent PR. ## Changes - NEW `.claude/skills/reviewer/SKILL.md`: three modes + verification-vs-synthesis economy split adapted 1:1 from the operator command; verdict grammar bound to `reviewer-discipline.md` §6 (Failure-scenario, ESCALATED, notes lane, zero-finding legitimacy); explicit subordination to the cold agents it does not replace and an explicit not-a-registry-role note (seat-lifecycle.md §1 three-roles cut respected — no seat-lifecycle edit). - `.claude/skills/arch/SKILL.md:91`: stale «pending as of 2026-08-10» claim about the operator's global `/reviewer` resolved (hand-apply done same day; in-repo invocations now load the project skill). - `docs/meta-factory/prior-art-evaluations.md`: entry #249 (REFERENCE) — registers the §8 item-5 per-family consult (Conventional Comments, Google eng-practices, Bezos Type-1/2, CBR, WIP limits, ADR/spec-kit/Kiro) already folded into the rule's §4, and records the detector-disagreement root cause (pr-body-prior-art's diff detector calls new rule-markdown non-capability while F1 counts it) with a widening trigger. - Deliberately NOT changed: `setup.d/10-skills.sh` — consumer delivery of the reviewer skill is routed to advisor-pattern §8 item 9 (consumer-delivery stage with its own review), with an env+ tier recommendation (pairs with arch/pipeline at that profile). ## Prior-art consult Prior-art: skipped — project-internal interactive-review skill adapting the operator's own global /reviewer command into the repo; subordinates to reviewer-discipline.md §6 (severity contract SSOT) and to the cold agents it does not replace; no new capability, no packages/ code - [x] PR range is non-capability (one new skill markdown + one SSOT row + one line edit; zero `packages/` files, zero dependency changes); the trailer line above is carried in the PR body so it survives the squash into the introducing commit (the exact #1094→#1097 / #1374 lesson this PR also repairs). - [x] SSOT touch: entry #249 appended (append-only register; capability-commit-author write access per the ownership table). - [x] Cold `agents/capability-reuse-auditor.md` pass run before handoff (source-before-shape Layer B): verdict THIN-ADAPT → GO, 12-candidate overlap set, trailer↔body consistent per clause; its one notes-lane finding (sibling §6 digest cross-pointer) applied in-branch. ## Test plan - [x] §1.7-свод lands in squash-body (`gh pr merge --squash --body "$(gh pr view <N> --json body -q .body)"`) - [x] `npm run --prefix packages/core test:principles` — 41 files green locally after #249 (principle 11 F1 was the one red: 14/14 after; principles 09/14/15 cover the new skill dynamically, 46/46) - [x] `bash scripts/check-skill-drift.sh` — PASS (0 errors); doc-authority hook smoke on the new file — exit 0 - [x] Pre-push full substance sweep green at push time - [x] Manual smoke: `.claude/skills/reviewer/SKILL.md` paired-negative sections present (`## Without this skill` / `## With this skill`); frontmatter description carries concrete RU+EN triggers per skill-description-quality.md §2 ## Provenance n/a — dialog-invited repo-skill addition + CI-red repair; no stage kickoff, no dispatch substrate. ## Review findings Cold capability-reuse-audit (agents/capability-reuse-auditor.md, dialogue-blind on the just-authored file + intended trailer): verdict THIN-ADAPT, overall GO. Overlap set = 12 candidates (SSOT #64/#231/#236/#249 + aif-review family; skills/agents siblings; upstream Superpowers requesting-code-review + SDD). Key clears: the PR #858 class does not recur (the SDD executor/dual-reviewer loop is not re-described; spawning subagents without approval is forbidden by the skill's Hard bounds); subordination lines verified per file:line for all four owners named in the header. One notes-lane finding, fixed same round per the §6 contract: the repo now holds two §6 digests (this skill + agents/reviewer-discipline.md) — a cross-pointer with a drift rule was added to the skill's See also. Coverage honestly partial (headers-only for the non-overlapping skill/agent tail; effort-worthiness.md body unread by the auditor). ## Fidelity verdict FIDELITY: skipped — dialog-invited non-stage PR (repo-skill addition + staging F1 repair); no kickoff/spec basis to audit against; cold reuse-audit GO recorded under Review findings. ## Parked questions - Consumer tier for the reviewer skill: recommendation env+ (contour surface, pairs with arch/pipeline in setup.d/10-skills.sh:120-122); decision + consumer-generic rewording (the skill's Origin references the operator's home path) belong to advisor-pattern §8 item 9 — recorded in the memory card as an item-9 input. - SSOT #249's «Trigger to revisit» carries the detector-widening trigger: a second squash-trailer F1 incident → widen pr-body-prior-art's detector to F1's artifact classes (rule/skill/agent markdown). ## §1.7 Self-discipline check (REQUIRED if PR touches discipline-bearing files) ### §1.7 Forward-check applied New skill checked against every active layer: channel selection per rule-enforcement-channel-selection.md — on-demand skill load at the review-ask trigger, not always-on (description triggers per skill-description-quality.md §2, RU+EN); doc-authority header present with subordination lines (principle 09 dynamic skill enumerator green, packages/core/principles/09-doc-authority-hierarchy.test.ts); paired-negative sections present per packages/core/principles/15-skill-paired-negative.test.ts:50; provenance per principle 11 F1 — the `Prior-art:` trailer lives in this PR body (squash-safe) AND the artifact has SSOT keyword coverage, while the F1 red this PR repairs is closed by the verbatim path in docs/meta-factory/prior-art-evaluations.md entry #249; language-discipline — repo artifact in English; seat-lifecycle NOT extended — the three-roles cut at .claude/rules/seat-lifecycle.md:42 is respected by an explicit not-a-registry-role subordination line instead of a paths: edit; source-before-shape §1 — SSOT + .claude/skills/ + agents/ grepped before the body was written, and Layer B (agents/capability-reuse-auditor.md) run before handoff with verdict THIN-ADAPT/GO. ### §1.7 Backward-check applied Class = artifacts carrying the interactive-reviewer protocol or a §6 severity-contract digest. Surfaces enumerated (grep over .claude/skills/**, agents/**, setup.d/, plus the out-of-repo command): ~/.claude/commands/reviewer.md — out-of-repo sibling, hand-patched to §6 grammar 2026-08-10, now shadowed in-repo by this skill (skill-over-command precedence), SWEPT-CLEAN; agents/reviewer-discipline.md:37 — sibling run-moment §6 digest, GAP-FOUND (no cross-link between the two digests) → FIXED this PR (See-also drift rule in .claude/skills/reviewer/SKILL.md); .claude/skills/arch/SKILL.md:91 — stale «pending» claim about the global command, GAP-FOUND → FIXED this PR; .claude/rules/reviewer-discipline.md:56 — the operating SSOT itself, untouched by design (both digests subordinate to it); packages/core/templates/shared/skill-context/aif-review/SKILL.md + aif-orchestrator-discipline — shipped consumer surfaces, deliberately DEFERRED to advisor-pattern §8 item 9 (never a silent copy; ownership-table read-only for sessions); setup.d/10-skills.sh:108-127 — the delivery manifest, deliberately untouched, tier decision recorded as an item-9 input. No other surface in the class (agents/fidelity-auditor.md + agents/review-sidecar.md carry the cold-protocol grammar shipped by #1374, different altitude, already current).
Summary
companion-reuse-deep-dive: re-evaluatesautoQueueModeLOGIC as standalone sub-component, separate from full Kanban runtime (SSOT docs: post-1A follow-up (Class C reviewer-discipline, Q3/Q5, README absolutism) #67, REJECT — preserved as-is).roadmapAlias/phase:N/seq:NN) + REFERENCE (pool-slot-allocation algorithm as design precedent). Match score revised from ~22% (muddied-scope full-runtime) to ~45% (corrected sub-component scope).[next-available-slot](parallel sub-waves dispatched simultaneously; maintainer resolves number at merge).§1.7 Forward-check applied
build-first-reuse-default.md §36-layer search: 4 DeepWiki probes (within-one-project disambiguated) + WebSearch + SSOT consult (docs: post-1A follow-up (Class C reviewer-discipline, Q3/Q5, README absolutism) #67 + 8 other aif-handoff rows). No negative-existence claim.ai-laziness-traps.md §2 T16: explicit upstream vs our problem-class walk in §3 match table (9 dimensions scored).ai-laziness-traps.md §2 T20: verdict backed by DeepWiki probe outputs + SSOT cross-reference + falsifier in same section.no-paid-llm-in-ci.md §1: all research via DeepWiki MCP (free) + WebSearch. No API-billed calls.doc-authority-hierarchy.md §2-§3: patch carries Status/Date/Authoritative-for/NOT-authoritative-for header.§1.7 Backward-check applied
How to verify
docs/meta-factory/research-patches/2026-05-26-companion-reuse-aif-handoff-autoqueue.md— verified: file exists with<!-- scope:companion-reuse-aif-handoff-autoqueue -->on line 1, §0–§8 complete[next-available-slot]placeholder at merge — owner: maintainerScope-out