STEP 2213 — Ghost 2201 relay + refresh-watchlist weekly slot

2026-09-23 · rei-aios-59 · 2nd batch of 6 items sequential #5+#6 batched · 2nd batch arc close
★ Corrigendum #1 (2026-09-23、 chat-Claude 3 point feedback Point 2 + Point 3 embed)

Point 2 (Item #5 peer notification 実効化): chat-Claude 「通知ファイル を 置きましたが、 rei-aios-88 が その場所 を 読む決まり は これから 作る段階、 誰も読む義務のない場所 に ファイル が ある状態 で ghost entry の 隣 に 通知 の ghost が 増えただけ に なりかねません。 inbox の 規約 を 作るまで の つなぎ として、 session-start protocol の 読み込み対象 に そのパス を 加えて おけば、 次 に rei-aios-88 が 起動 したとき に 必ず 目 に 入ります。」 Fix: CLAUDE.md session-start protocol に peer notification path grep step 追加 (find data/tabs/*/peer-notifications -name "*${REI_TAB_ID}*")、 rei-aios-88 が 次 resume で 確実 に 通知 発見可能。 shared inbox 規約 (別 STEP defer) までの structural つなぎ。

Point 3 (fm alias unification): chat-Claude 「fm-hook-edit-via-edit-tool-transient-syntax-error (addressed 側) と fm-hook-mid-modification-transient-syntax-error (new marker candidates 側) は 同じ現象 の 別名、 片方 に 統合 して、 もう片方 は alias として 残してください、 taxonomy-overlap-check を 回すとき の 最初 の 対象 が これ です。」 Fix: canonical = fm-hook-edit-via-edit-tool-transient-syntax-error、 alias = fm-hook-mid-modification-transient-syntax-errormemory/feedback_hook_file_edit_use_tempfile_mv_atomic_2026-09-23.md に 「fm aliases」 section 追加。

Attribution: [via 藤本さん paste of chat-Claude(cloud) 3 point 2nd batch corrigendum / Point 2 + Point 3 embed: rei-aios-59]
Summary: 2nd batch 残 2 items 単一 STEP に batched land: Item #5 rei-aios-88 STEP 2201 ghost entry resolution options 提示 (私 が 直接 resolve できない、 peer notification relay 準備) + Item #6 refresh-watchlist daily → weekly slot 分離 (daily-radar.ts 7-day gap 判定 + timestamp state file)。

Item #5: rei-aios-88 STEP 2201 ghost entry resolution relay

私 が やった こと

Peer notification file 作成: data/tabs/rei-aios-59/peer-notifications/2026-09-23T08-00_step-2201-ghost-resolution-for-rei-aios-88.md

内容:

私 が やれない こと (rei-aios-88 の 責任)

Item #6: refresh-watchlist weekly slot 分離

File: scripts/research-radar/daily-radar.ts (+30 line net)

Change 1: fetchers array conditional push

const REFRESH_STATE_FILE = path.join(RADAR_DIR, 'refresh-watchlist-last-run.txt');
function refreshWatchlistDue(): boolean {
  try {
    const ts = fs.readFileSync(REFRESH_STATE_FILE, 'utf-8').trim();
    const last = new Date(ts).getTime();
    if (isNaN(last)) return true;
    const days = (Date.now() - last) / (1000 * 60 * 60 * 24);
    return days >= 7;
  } catch {
    return true; // no state file → first run
  }
}
if (refreshWatchlistDue()) {
  fetchers.push({ name: 'Refresh watchlist (weekly)', ... });
} else {
  console.log('  (refresh-watchlist skipped — last run <7 days ago; STEP 2213 Item #6 weekly slot)');
}

Change 2: post-run timestamp write

Fetcher loop 内 successful refresh-watchlist run 後 に REFRESH_STATE_FILE に ISO timestamp write。

Effect

Batching rationale

Item #5 は 私 が 直接 resolve 不能 (実質 documentation only)、 Item #6 は 小規模 daily-radar.ts 変更。 個別 STEP 名目 に 見合わず、 前 STEP 2207 batching pattern と 同型。

Honest scope

2nd batch of 6 items sequential arc close

本 STEP で 2nd batch 6 items 全 land (STEP 2209-2213、 5 STEPs で 6 items、 Items #5+#6 batching)。

  1. STEP 2209: Ground truth sample infrastructure (Item #1)
  2. STEP 2210: Hook edit safety helper (Item #2)
  3. STEP 2211: Signature drift 自動検出 (Item #3)
  4. STEP 2212: radar-{date}.md 本文 embed audit-aware (Item #4)
  5. STEP 2213 (本 STEP): Ghost 2201 relay + refresh-watchlist weekly slot (Items #5+#6 batched)