STEP 2119 は 2026-09-18〜19 の 2 domain 併走 arc: (1) STEP 1987 (MCP tool description collision) + STEP 1988 (end-to-end MCP invocation) の 2 test を GitHub Actions に wire、 tab 自己報告 ではなく 独立 CI reader が PASS/FAIL を 判定 する 体制の 構築。 (2) chat-Claude → tab の 一方向 relay 経路 について、 read capability probe (Phase 0/0.5) と 設計メモ (Phase 1、 実装せず) の 記録。
tsx subprocess で 実起動、 StdioClientTransport で connect、 listTools() + callTool() を JSON-RPC 経由で 呼出。 mock なし、 本物の invocation loop verify。.github/workflows/ci-mcp-tests.ymldb82f4206 (2026-09-18 STEP 2119、 rei-aios-bd tab)9eff44712 (2026-09-19 STEP 2128、 rei-aios-09 tab) — 自動 commit (site 再構築 等 public/**, data/**, dist-renderer/**, notes/**) では 発火しない、 src/mcp/** + test file + workflow yml + package(-lock).json + tsconfig.json のみ で 発火ubuntu-latest + Node 22 + npm ci --no-audit --no-fund。 rei-pl git dep は package.json + package-lock.json 両方 から runner 側で 削除 (private repo で CI runner が SSH access 不可、 かつ どちらの test も rei-pl 依存なし = src/mcp/ grep 実測 2026-09-18)workflow_dispatch (手動 trigger、 通常 push ではない)9eff447123b369a531a5490ce4fd26ba95dd8ac69eff44712) では 発火しなかった (commit message 本文 に 角括弧付き skip-ci literal 含有、 STEP 2129 rei-aios-09 で 診断済)。 workflow_dispatch で 手動 trigger して 発火※ fc0web/rei-aios は private repo のため run URL は 閲覧者から 開けない。 本 page には run ID と 実測結果のみ 記載。
push (branch 直 push で 発火、 PR 不要)ci-verify-1987-1988-broken-check (保持中、 削除は 藤本さん go 待ち)fe0131e6d (test/step1987-...ts に assert(false, 'STEP 2119 T1-d intentional-break') 1 行追加)※ 本 run も private repo run のため URL は 開けない。 CI が assertion failure を 検知して 正しく failure 判定 することを 実測 evidence として 確認。
| 項目 | 事前見積 | 実測 | 差 |
|---|---|---|---|
| 1 run 所要時間 | 1.5–3 min | 55s (PASS) / 48s (FAIL) | 見積過大、 実 ~50-60s |
| npm ci (warm cache) | 30–60s | 24s | 見積内 |
| STEP 1987 test | 3–5s | 1s | subprocess 不要 = 軽い |
| STEP 1988 test | 5–10s | 4s | 見積内 |
月間 quota 見積 (fc0web/rei-aios は private repo 実測、 GitHub Actions 標準ランナー 分数課金対象): paths filter (STEP 2128) 発火想定 = 月 ~112 push × ~1 min = ~112 min (Free 枠 2,000 min の ~6%)。
本 arc では PASS run = workflow_dispatch、 FAIL run = branch push (PR 未作成) の 2 run のみ。 main branch への 通常 push + 同時 PR trigger の 二重発火 は 本 arc で 発生条件が emerge していない = 観測データなし。 concurrency: group は 未追加 (paths filter 導入後は 自然減、 二重発火 の 実害 emerge 時 に 別 STEP で 追加検討)。
chat-Claude → 藤本さん → tab の 現状 手動 relay を、 tab-side の 機械的 read で どう補強できるかの 探索 arc。 Phase 1 実装は 現時点で 未 go (設計メモ のみ)。
本 tab (rei-aios-bd) から どの 経路が 読めるかを 実 tool 呼出 で 判定 (content 未読、 list only):
67cGkEJwMBiXGvk1mEpL4s の doc 名 + tab 名 + creator UUID 取得可、 本文未読)route_label + doc_id + version + sha256_snapshot + read_timestamp_utc + reader_tab + content_source + known_limitations[]
STEP 2126 (rei-aios-18 tab) で 「[via 藤本さん / orig: chat-Claude] marker が 付いたまま 届いた chat-Claude 文章を、 受け手 tab が 藤本さん 発言として 記録」 する 事例が 発生。 549 misattribution (人の 転記段階で label 消滅) と 発生箇所が違う 「読み手側 出所畳み込み」 pattern。
| pattern | 発生 stage | Phase 1 で 防げるか |
|---|---|---|
| 549 misattribution | 転記段階 (人の copy-paste) | ✅ 防げる (Phase 1 主目的) |
| STEP 2126 事例 | 読み手 tab の 引用段階 (認知 layer) | ❌ 防げない (label は 到達済、 引用側 認知 誤り は 別 layer) |
本 arc の 実行過程で 「T1-c/d + Phase 1 addendum」 の 依頼文 が rei-aios-bd tab に 2 経路で 到達した。 当初 私 (bd) は 「藤本さん側 で bd が 受け取っていないと 誤認された」 と 記述したが、 これは routing 誤認 ではなく 二重送信 であることが 藤本さん から の 訂正で 判明:
「誰かの誤認」 ではなく 「意図的 二重送信」。 open item (6) 「手動 relay の 到達確認 機構」 という 論点自体 は 有効 (routing verify の 一般問題 として 継承)、 但し 本 arc の 具体事例は 誤認 ではなく 送信 pattern の 記述として 保存。
ci-verify-1987-1988-broken-check の 削除 or 保持 (現在 保持中)| commit | 内容 | tab |
|---|---|---|
db82f4206 | workflow yml + package.json scripts + sidecar README (初 landed) | bd |
58f8e3a2a | Phase 0 notepad (chat→tab relay 3-category read probe) | bd |
d92c49740 | Phase 0.5 corrigendum notepad (rows 4/5/6 → 未判定、 Docs read 実測、 (c) 書換) | bd |
d5200d2b3 | Phase 1 設計メモ notepad (tab-side route label、 実装せず) | bd |
fe0131e6d | FAIL branch commit (test に intentional-break assert 1 行) | bd |
05cca4d21 | Phase 1 memo addendum notepad (STEP 2132、 STEP 2126 事例) | bd |
ci-mcp-tests.yml paths filter 追加 (90% quota 削減、 自動 commit で 発火しない)