Skip to content

research(aif-handoff-bridge): Sub-wave B2 — Variant B' (hybrid CC-hook + aif-handoff MCP) REFERENCE - #275

Merged
artyhoo merged 1 commit into
stagingfrom
research/aif-handoff-bridge-variant-b-prime
May 29, 2026
Merged

research(aif-handoff-bridge): Sub-wave B2 — Variant B' (hybrid CC-hook + aif-handoff MCP) REFERENCE#275
artyhoo merged 1 commit into
stagingfrom
research/aif-handoff-bridge-variant-b-prime

Conversation

@artyhoo

@artyhoo artyhoo commented May 29, 2026

Copy link
Copy Markdown
Owner

Summary

Sub-wave B2 R-phase patch evaluates Variant B' (hybrid) of the aif-handoff-as-runtime-bridge umbrella per kickoff §6 SW-B2 (added 2026-05-29 post-Stage-1, after maintainer surfaced gap in original Variant B framing). B' is the hybrid where we build a small fs-watcher on OUR side (CC PostToolUse hook OR standalone Node/bash watcher) that calls aif-handoff's existing handoff_create_task MCP — explicitly distinct from SW-B's REJECT of native upstream fs-watcher.

Verdict: REFERENCE — design-vocabulary for dispatch-trigger optimisation of Variant A; not actionable standalone.

  • CC PostToolUse hooks expose a purpose-built mcp_tool hook type for already-connected MCP servers (code.claude.com/docs/en/hooks.md fetched 2026-05-29) — T-AIF-BRIDGE-B'-1 evades.
  • aif-handoff MCP server runs standalone without coordinator daemon for task creation (DeepWiki ×2 phrasings) — T-AIF-BRIDGE-B'-3 evades.
  • 4 sub-options fit <100 LOC: Option (a') = 0 LOC bash (mcp_tool config), (a) = ~25 LOC bash + curl, (b) = ~15 LOC chokidar Node, (c) = ~10 LOC fswatch bash.

BUT: B' inherits all 3 of SW-A's ADOPT-blockers verbatim (PLAN.md disk coupling, WebSocket-broadcast no-topic-filter, autoMode Reviewer ↔ reviewer-discipline.md §2 conflict — DN-1=B-constrained applies). B' optimises only the dispatch trigger; the load-bearing blockers persist.

Falsifier: B' upgrades to ADOPT VOCABULARY iff Sub-wave D greenlights Variant A AND DN-1=B-constrained adopted. Comparison table vs A and B in §6 (Sub-wave D input).

Test plan

  • R-phase only — no code, no skill edits, no SSOT row landings (output = single markdown research-patch per kickoff §11)
  • Own cold-QA before handoff (T19) — file:line citations re-verified; SKILL.md substrate-purity ref corrected :338:441 (drift since SW-A); inject-matching-rule.sh §2.1 content-read claim corrected to accurate parse-only-not-content shape
  • CI green at push (153 passed / 4 skipped / 21 test files / 22.86s); markdownlint <600 LOC enforced
  • §1.7 PR-body discipline applied below (CI gate WILL NOT fire on research-patches/** per dispatch instruction — pre-flight grep is the only programmatic check; H3 headers + word «applied» verified)

§1.7 Forward-check applied

  • build-first-reuse-default.md §1 (verdict ladder): B' = REFERENCE — fs-watcher mechanism reuses existing CC hook precedents (SSOT #20 ADOPT for CC hooks API; .claude/hooks/inject-matching-rule.sh:80 precedent for path-scoped Edit|Write); aif-handoff MCP standalone-callability verified via dual-DeepWiki triangulation. BFR §3 6-layer search applied to this patch itself (§7 of the patch; §10 self-application).
  • no-paid-llm-in-ci.md §1: All evidence via DeepWiki MCP (subscription-bundled), WebSearch (harness-included), WebFetch (harness-included), gh CLI (free), local Bash grep. Zero API-billed calls.
  • reviewer-discipline.md §2: This patch does NOT pick project strategy. Where verdict touches Variant A or B' together (the «greenlight both» question), patch surfaces it as a Sub-wave D input — see §6 synthesis observation at docs/meta-factory/research-patches/2026-05-29-aif-handoff-bridge-variant-b-prime-hybrid.md#§6 (line 433).
  • ai-laziness-traps.md §3: T1 / T3 / T7 / T11 / T12 / T13 / T15 / T16 / T17 / T19 / T20 + domain T-AIF-BRIDGE-B'-1..5 all enumerated and walked at ...variant-b-prime-hybrid.md §7 line 464.
  • doc-authority-hierarchy.md §3: Header carries Status + Class (N/A — research-patch) + Authoritative-for + NOT authoritative-for (patch lines 5-6).
  • dual-implementation-discipline.md §2: Patch is markdown-only artefact under §2 (i) markdown-only carve-out — rule does not apply at R-phase layer.
  • DECISION=C invariant: §4 criterion 2 verified HARD-requirement satisfied across all 4 sub-options (patch lines 309-334).
  • CLAUDE.md PR strategy: Strictly within Sub-wave B2 scope. No drive-by edits to SKILL.md, SSOT, install.sh, or any non-research-patches file. One file, one commit.

§1.7 Backward-check applied


Prior-art: SSOT #20 (CC hooks API, ADOPT) + SSOT #27/#28/#30/#43/#44/#46/#67/#80 (aif-handoff rows reviewed). New row proposed at slot #85 (next-available per grep on prior-art-evaluations.md).

…k + aif-handoff MCP) REFERENCE

Verdict per BFR-default §1: REFERENCE — design-vocabulary for dispatch-trigger
optimisation of Variant A; not actionable standalone.

Key findings (2026-05-29 evidence):
- CC PostToolUse hooks expose a purpose-built `mcp_tool` hook type for
  already-connected MCP servers (code.claude.com/docs/en/hooks.md fetched
  2026-05-29) — T-AIF-BRIDGE-B'-1 evades via different shape than originally
  framed.
- aif-handoff MCP server runs standalone without coordinator daemon for task
  creation (DeepWiki ×2 phrasings: «MCP server can be invoked statelessly from
  an arbitrary process» + «MCP HTTP daemon runs independently») —
  T-AIF-BRIDGE-B'-3 evades.
- 4 sub-options each fit <100 LOC bridge target: Option (a') = 0 LOC bash
  (mcp_tool hook config), Option (a) = ~25 LOC bash (command hook + curl),
  Option (b) = ~15 LOC chokidar Node, Option (c) = ~10 LOC fswatch bash.

BUT: B' inherits all 3 of SW-A's ADOPT-blockers verbatim (PLAN.md disk coupling,
WebSocket-broadcast no-topic-filter, autoMode Reviewer vs reviewer-discipline.md
§2 conflict — DN-1=B-constrained applies). B' optimises only the dispatch
trigger; the load-bearing blockers persist. Comparison table vs A and B in §6.

§4 5-criteria: PASS-PASS-PARTIAL-PASS-INHERITED. Match ~35%. Atomicity
INCONCLUSIVE/MITIGABLE (chokidar awaitWriteFinish for Option b; empirical for
hooks).

Falsifier: B' upgrades to ADOPT VOCABULARY iff Sub-wave D greenlights A AND
DN-1=B-constrained adopted.

T-discipline applied per kickoff §6 SW-B2: T1 / T3 / T7 / T11 / T12 / T13 / T15
/ T16 / T17 / T19 (own cold-QA before push) / T20 + T-AIF-BRIDGE-B'-1..5.

Prior-art: SSOT #20 (CC hooks API, ADOPT) + SSOT #27/#28/#30/#43/#44/#46/#67/#80
(aif-handoff rows). Additive note to SSOT #44 proposed (no verdict change).
Proposed new SSOT row at next-available slot #85.
@artyhoo
artyhoo merged commit b08cd87 into staging May 29, 2026
22 checks passed
artyhoo added a commit that referenced this pull request May 29, 2026
…verdict (DEFER-all-with-updated-triggers) (#281)

Cross-variant synthesis consolidating Sub-waves A/B/B'/C (merged PRs #267/#268/#275/#276). Per-variant verdicts re-derived independently per T15: A=REFERENCE (28%), B=REJECT (~5%), B'=REFERENCE conditional ADOPT VOCABULARY (~35%), C=REJECT (~22%). Cross-variant recommendation per kickoff §6.5: DEFER all variants with updated SSOT «Trigger to revisit» fields.

Includes 20-cell comparison table (4 variants × 5 criteria, file:line citation per cell), 4-row T16 problem-class match table, DN-1 (B-constrained) + DN-2 (B' is operative B-path) reflections, hook-discipline (Decision 10) analysis (no equipoise → recommend on clearly-better evidence; DECISION-NEEDED NOT warranted), consolidated SSOT additive notes for #27/#28/#30/#44/#67/#80, proposed new SSOT row #85 (next-after-#84 verified).

Prior-art: prior-art-evaluations.md#27, #28, #30, #44, #67, #80 (existing aif-handoff entries, additive-note-only — no verdict changes); SSOT row #85 PROPOSED, not landed.
artyhoo added a commit that referenced this pull request May 29, 2026
…DONE (#283)

Per umbrella's post-GO directive (Phase -1 Stage 3 close-review GO 2026-05-29 on
PR #281 SW-D synthesis), update wave-sequencing-plan.md §0 to reflect umbrella
closure:

- Row update: stale 🟡 «Sub-wave A + B R-phase done / synthesis pending» →
  ✅ DONE 2026-05-29 with verdict DEFER ALL. Full per-variant scoring
  (A REFERENCE 28% / B REJECT ~5% / B' REFERENCE 35% conditional / C REJECT 22%)
  + 3 ADOPT-blockers shared across A/B'/C + 6 evidence PRs (#267/#268/#269/
  #275/#276/#281) + SSOT additive notes status (proposed, not landed).
- Renamed row to canonical umbrella name (`aif-handoff-as-runtime-bridge`).
- «What actually remains» — remove the umbrella entry; add to deferred-decisions
  parenthetical at bottom of the line.
- Plan revision history — add this PR.

No verdict changes to any other §0 row. No edits outside §0. Broader 40+ UNTRACKED
PRs in §0 (recordkeeping debt per state.md Decision 2) stay deferred — out of
scope for this umbrella's closure per CLAUDE.md PR strategy.

Prior-art: skipped — recordkeeping update for completed umbrella, no capability
commit, no new dependency, no new file ≥50 LOC. Per CLAUDE.md capability-commit
definition, this is a docs-edit grade change.
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