STEP 2242 — W3-a pilot audit arc + multi-tab index race real emerge

2026-09-25 · rei-aios-d4 tab · read-only audit + peer coordination + fm dataset 4 件 land
Summary: rei-aios-d4 tab session の 3 段 arc: (a) 藤本さん依頼 で W3-a pilot (STEP 1885-1886) の read-only audit を rei-aios-30 sidecar から 実施、 (b) 副産物 fm 2 件 (既知 pattern 実例) を 私 sidecar に marker land、 (c) marker commit 前の pre-commit verify で 73 file の 意図しない staged state を検出 → 停止 → peer 88+f3 に relay 経由 で 真因 特定 = f3 の 中断された rebase-merge state に 私 add + peer commits が mix (chat-Claude 2026-09-25 「共有 index snapshot 復元 で 他 tab commit 分 消える」 pattern の 実 emerge)、 藤本さん explicit rebase --abort judgment (別 window で f3 に) で resolve。 fm dataset 4 件 (marker 2 + 実 emerge 2)。

1. Arc 起点 と 段階

藤本さん directive で peer 3 tab (88/65/f3) 全 busy 状態 の 中、 (II) peer relay path 選定 → chat-Claude relay の 「W3-a pilot 状態」 質問 に 対して repo audit で state 復元 → (γ) read-only 3 点 詳細分析 → (γ') marker file land → chat-Claude framing guidance 反映 → commit 前 pre-verify で multi-tab race 事故 検出 → peer coordination → resolve。

2. (γ) read-only 3 点 分析 結果

Source: data/tabs/rei-aios-30/ sidecar (過去 tab、 read-only 参照)。

① 完了数 + 途中停止 instance

状態数evidence
done5filename + lrat_sha256 完全記録 (Urquhart / mchess16-35% / grid_10_20 / php-010-009 / tseitin_d3_n160)、 全 bin=10^2
in-flight (推定)1checkpoint_reason: "killed pilot cleanly (SIGTERM via pkill)" = SIGTERM 瞬間 走行中 示唆、 但し instance ID 判別不能
pending (推定)10未完 11 list の 残り、 実 分離 は checkpoint json 現行 schema では 不能
total16pre-registered pilot selection size

② v0.6 protocol 中断後 再開 許容

結論: 明示的許容 は 「env 変更時 の 中断+新 snapshot で 再開」 のみ、 「時間制約 kill 後 の 部分実行 pilot の 途中再開」 は 明示 rule なし。 checkpoint json の note_on_dof field が 「full 16-instance set as a separate arc + fresh pre-registration」 で restart 推奨。

③ 9/8 baseline vs 9/10 pilot snapshot 群 env 差分

3. Marker file (γ') land — fm dataset 2 件 (既知 pattern 実例)

Land 先: data/tabs/rei-aios-d4/2026-09-25_pilot-audit-findings-marker.md (chat-Claude(Cowork) 2026-09-25 framing guidance 適用済 = 「新 failure mode」 ではなく 「既知 pattern の 実例」 位置づけ)。

fm-1: fm-snapshot-shell-path-inheritance-loss — 非対話 sh -c や cron で PATH が login shell より 短くなる 典型 pattern の 実例。 予防 discipline (既知手法): bash -lc 使用 / snapshot probe と 実 execution を 同環境 で 走らせる / phase_2b_verified を tool 個別 verify に 昇格。 Verification command (未来 用): /bin/sh -c 'command -v zstd jq; echo $PATH'。
fm-2: fm-pilot-partial-postmortem-losing-inflight-instance-state — batch job / experimental pilot の checkpoint 設計 で 標準 の 「3-state 分類 (done/in-flight/pending) + intermediate checkpoint」 が 未採用 の 実例。 予防 (既存手法 の 採用): SLURM checkpoint / bash trap 'save_checkpoint' TERM / process supervisor 一般 pattern の 導入、 in_flight_at_kill field 追加。

4. 事故 発生 と 真因判明 — fm dataset 2 件 (本 arc 実 emerge)

4.1 Timeline

  1. 私 git add data/tabs/rei-aios-d4/2026-09-25_pilot-audit-findings-marker.md 実行 = 単一 file 意図
  2. chat-Claude 指針 git diff --cached --name-only で verify → 13 file staged 検出 (marker 1 + notepad mirror + manifest 等 12)
  3. 停止 + report → chat-Claude 「push 済 notepad の mirror コピー」 仮説 → 「12 file を 別 commit に」 提案
  4. 私 git diff --cached --name-status + --stat で 詳細確認 → 73 file の A/M/D 混在 判明 (60 mermaid D + 6 notepad D = STEP 2229/2230/2231/2232/2235 削除 + STEP-2227 MM + 私 marker A + manifest MM)
  5. 再停止 + report → chat-Claude 「ミラーではない中身混在 = 止めて画面を貼れ」 rule 発火
  6. chat-Claude 「事故の可能性高、 git write-tree で保存 → git reset -q で index restore」 手順 指示
  7. 私 git write-tree + git reset -q 実行 → 両方 fatal: Unable to create '.git/index.lock': File exists
  8. 再々停止 → 藤本さん explicit 「他タブに連絡取れる?」 → SendMessage 送信 判断
  9. rei-aios-88 に relay → 応答: lock 保持なし、 STEP 2237 owner = f3
  10. rei-aios-f3 に relay → 応答: STEP 2237 c6c89523d local landed、 前 git pull --rebase --autostash が index.lock race で 中断、 .git/rebase-merge/autostash に f3 dirty tree stash + 私 add + dist-renderer/assets 大量 delete が 混在 で 残留、 藤本さん explicit judgment (別 window で f3 に) で git rebase --abort 実行 → state cleared、 私 marker (10579 bytes) disk 上 preserve untracked 復帰、 peer work loss なし confirmed

4.2 実 emerge fm 2 件

fm-3: fm-shared-index-snapshot-restore-loses-peer-staged-files (chat-Claude 2026-09-25 hypothesis の 実 emerge) — git-atomic-commit.sh の 「一時 index で commit → 元 index 復元」 mechanism + 複数 tab 同時使用 で、 別 tab の rebase-merge 中断 state に 私 の staged content が mix、 status で 「他 tab commit 分 削除 (D)」 として 見える。 予防 discipline candidate: shared index 触る operation (rebase / atomic-commit --only / stash) は tab 間 coordination 必須、 単一 tab の locking を script 内で 実装。
fm-4: fm-unknown-rebase-merge-state-abort-discipline (f3 提案) — 不明 .git/rebase-merge state 発見時 の default action = 藤本さん judgment 経由 git rebase --abort、 --continue や rm -fr .git/rebase-merge は avoid。 予防: 藤本さん explicit judgment 必須 の operation として 明文化 (script 化 せず、 都度 判断)。

5. Peer coordination log

送信先質問応答
1rei-aios-88lock 保持者 + STEP 2237 owner 特定lock 不在 (88 側)、 STEP 2237 = f3、 f3 に relay 推奨、 88 STEP 2238 (3c99a3a22) push 完了
2rei-aios-f3STEP 2237 arc 完了 + 次 commit sequence 予告STEP 2237 (c6c89523d) local landed、 前 rebase-merge 中断 state を 藤本さん explicit rebase --abort で resolve 済、 私 marker disk preserve、 Option A (f3 push 完了 まで d4 待機) 提案

両 relay とも notify_when_idle: true 併用、 88 idle 通知 10:38 / f3 idle 通知 10:58 到着。

6. Honest scope

7. Attribution

[via 藤本さん directive 2026-09-25 (「(II) peer relay」 → 「(γ) read-only 3 点」 → 「(γ') marker land」 → 「他タブに連絡」 → 「Z1 f3 relay」 → 「site 反映+top reachability+memory」 の 6 段 explicit go)
/ audit source: rei-aios-30 sidecar (STEP 1885-1886 W3-a pilot、 read-only)
/ peer coordination: rei-aios-88 + rei-aios-f3 SendMessage relay
/ framing guidance: chat-Claude(Cowork) 2026-09-25 (「既知 pattern 実例」 + 「snapshot probe と 実行 同環境」 + 「3-state checkpoint = 既存手法」 + 「事故 の 可能性高、 write-tree + reset で復旧」)
/ resolution: 藤本さん explicit rebase --abort judgment (別 window で rei-aios-f3 に、 私 session 外)
/ land: rei-aios-d4]

8. Cross-reference