# STEP 2066 — bind-fix-pickup-parallel-6-decisive

**Timestamp**: 2026-09-16T07:46 (JST)
**Tab worktree**: main
**Commit**: `<hash>` (commit 後 追記)

## 一行 summary

STEP 2065 pickup 3 layer execute で 「持続 block」 「直列キュー」 両方 falsified (累計 5 件、 うち 2 件 は 私側 判定誤り)、 confirmed = 「並列だが 各 req が ~12.7s I/O bound 待ち」 + β 探索空間 「chain 全体 が I/O bound、 GC 由来 除外」 に refine + Section 8 正規化 defer entry (q) 登録。

## 主要 finding / evidence

### Layer 1: PID 7496 durability
- 生存 ✓ (28 分経過、 memory 169 MB → 1.2 GB = 約 7 倍増 = 累積処理 signal、 別 layer 観察材料)
- `127.0.0.1:7511 LISTENING PID 7496` bind 維持
- Session 未終了 で 完全 open question 決着 signal は 未 emerge

### Layer 2: 単発 `--max-time 120`
- **200 OK in 1.8s** = idle 28 分後 fast responsive
- 「持続 block」 判定 falsified 3 件目

### Burst 検定 (連続 6 req @ 1s 間隔、 `-m 5`)
- 2/6 success (1.15s fast + **4.87s slow = -m 5 境界通過**)
- 前 probe の `-m 3/4/5` = **計器 timeout 不足** で slow success を 「pending」 誤分類 の 直接 evidence
- STEP 1608/1615 同型病理 完全確認

### 決着 verify: 逐次 6 req `--max-time 120`
- **6/6 = 100% 200 return**
- Latency: 4.37 / 17.24 / 17.09 / 16.04 / 16.58 / 17.44 (累積 でない)
- 「stuck」 falsified 4 件目
- **但し** 逐次データ に parallel-baseline 適用 = 「直列キュー signature 完全一致」 は **私 の 判定誤り** (chat-Claude 訂正)

### ★★★ 決着 measurement: **並列 6 req + RSS/CPU pre/post**
- **Individual**: 全 6 req が **12.71-12.78s (~50ms 差 tight cluster)**
- **Wall time**: **13s** (直列予測 ~76s と 決定的 divergence)
- **CPU delta**: +1.17s in 13s = **~9%** (GC 圧 signature と 不一致)
- **RSS delta**: +3.5 MB (負荷 で 微増、 GC 圧 明確 signature でない)

## 命名 / 判定 訂正 (chat-Claude 訂正 accept)

- **「直列キュー」 hypothesis** = 完全 falsified (falsified 5 件目、 うち 2 件 は 私側 判定誤り = 直列キュー premature confidence + 「速いか無応答か 2 値」 部分適用誤読)
- **Confirmed**: **並列実行、 各 req 独立 に ~12.7s I/O bound 待ち** (chat-Claude 「chain 全体 が 遅い」 side)
- **GC 由来 除外**: CPU delta ~9% は 秒オーダー GC pause signature と 一致しない、 **async I/O 待ち** confirmed
- **負荷依存 signature**: single 1.80s (Layer 2 idle 後) vs parallel 12.7s = **共有 resource contention** (external API / DB slow / initialization I/O queue)

## Falsified 累計 5 件

1. プロセス寿命 (PID 生存 で 棄却、 chat-Claude 予測)
2. 初回 request 資源未解放 (iter 8 中間 で 棄却、 chat-Claude 予測)
3. 持続 block (Layer 2 単発 200 で 棄却、 私 側 判定)
4. Stuck (`--max-time 120` で 全 return、 私 側 判定)
5. **直列キュー / lock 競合** (parallel wall 13s vs 直列予測 76s、 chat-Claude 予測 の 「lock 競合 / 直列キュー」 side 棄却、 私 側 の premature confidence)

**Meta observation** (chat-Claude 前 指摘 + 本 STEP 実 emerge): chat-Claude 予測 の 「lock 競合 / 直列キュー」 は 「slow」 部分 のみ 支持、 「キュー」 部分 は 別 実験 で 決着 = **並列 test で 除外**。 私 の 「直列 signature 完全一致」 判定 = **premature confidence の 直接反省例**、 逐次データ に parallel-baseline 適用 の 誤り。

## Honest scope

- 並列 test 1 shot で 「並列だが 遅い」 が confirmed、 但し **完全に 独立** ではない (共有 middleware chain 上 = single request path が I/O bound、 並列時 も 各 request は 独立 に 同じ chain を 通る)
- 「共有 resource contention」 は 負荷依存 signature の 読み candidate だが **未 verify** (single vs parallel の 差 を 直接 attribute する 別 test 必要、 defer)
- Root cause 特定 (external API / DB / initialization) = **本 STEP scope 外**、 defer entry (p) の signature refine で 継続監視
- rei-aios.org 復旧 arc は **B1' の 実 修正 未達**、 B2/A も 未着手 = 公開面 依然 down
- 「Memory 1.2 GB」 は 独立 signal (28 分 で 7 倍増)、 latency 主 原因 でない が 別 layer で defer registry (r) 候補 の可能性 (defer 判定は 藤本さん judgment)

## Failure mode (機械学習用 dataset)

- **What could go wrong**:
  1. 逐次データ に parallel-baseline 適用 (私 が 実際 に 陥った、 chat-Claude 訂正 で 発見): total 90s / 6 req = 15s/req を 「直列キュー」 と 誤読、 但し 逐次実行 では 直列 vs 並列 の 区別 は **構造上 観測不能**
  2. 「速いか 無応答か 2 値」 の 早期 命名: 実 は spectrum (fast 1.15s + slow 4.87s + timeout mix)、 計器 timeout 不足 の signature を 忘れると 2 値誤読
  3. CPU% を 1 回 測定 で 判定: 07:07 時点値 (idle) と 17s 応答時 (load) を 混同、 pre/post 測定 で 決着
  4. Memory 増加 を 「別 layer」 に 分離: latency 候補 (GC pause) の 可能性 排除 に 実 測定 (RSS/CPU pre/post + CPU delta) 必要、 「別 layer」 は 排除 evidence でない
- **Prevention**:
  1. 逐次 vs 並列 の 区別: individual latency + wall time の 両方 測定 前 は 「直列 vs 並列」 判定 保留
  2. 判定 command line: 「timeout 値」 と 「実 latency」 の 区別 明示、 spectrum 前提 で 命名
  3. CPU% は 常に **before/after pair** で 測定、 単発値 は 状態不明
  4. 「別 layer」 判定 前 に 「同 layer 起源 の 可能性」 実測排除
- **Recovery**:
  1. 誤判定 embed した hook / notepad は 訂正 update commit (revert でなく addendum) で 履歴 preserve、 「訂正 累計」 marker で 未来 session の 再誤読 予防

## rei-aios.org 復旧 arc status (STEP 2066 land 後)

| task | status | verify signal |
|---|---|---|
| B1 (origin bind fix) | ✓ landed (STEP 2065) | `127.0.0.1:7511` bind 維持 |
| B1' (`/api/*` chain I/O bound ~12.7s) | ⏸ **defer registry (p) signature refined**、 root cause 特定 未達 | parallel test で 追加測定 or code grep |
| B2 (cloudflared restart) | ⏸ B1' 依然 blocking (I/O bound で tunnel 側 keep-alive で 秒オーダー latency emerge) | api-origin.rei-aios.org 2xx |
| A (apex DNS) | ⏸ B2 後 | rei-aios.org DoH A record |
| Section 8 正規 cross-tab ingest 経路 | ⏸ **defer registry (q) NEW**、 藤本さん judgment 待ち (bypass 累計 12 回目 relevant) | Section 8 gate 正規化 STEP |

## 詳細参照

- Defer registry: `data/tabs/rei-aios-62/defer-items-signal-registry-v0.md`
  - Entry (p): signature refine (「並列 I/O bound」 に update、 「直列キュー」 revoke)
  - **Entry (q) NEW**: Section 8 正規 cross-tab ingest 経路化 (bypass 12 回目 が 登録契機、 chat-Claude 皮肉指摘)
- Memory hook: `hooks/2026-09-16T07-46_step-2066-pickup-parallel-decisive.md`
- Feedback memory: `feedback_guard_bypass_record_hygiene_2026-09-16.md` (anti-pattern list に 12 回目 emerge 追記)
- 前 STEP: 2065 (bind fix + `/api/*` middleware pending initial defer)、 2065 supplement (Section 8 bypass record hygiene rule 制定)

## Post-land 追記 (08:17-08:20 単一系列 6 shot × 30s 間隔、 chat-Claude 「independent 未証明」 + 「30s 静止復帰」 決着測定)

### Staggered 2 req (07:47) — 独立性 falsified

- req1 = **1.058s fast** / req2 = **14.691s slow** (5 秒 offset staggered、 asymmetric emerge)
- chat-Claude 予測 「12.7s / 7.7s (共有イベント同時終了)」 = NO
- chat-Claude 予測 「12.7s / 12.7s (各自独立)」 = NO
- **第 3 pattern**: req1 fast + req2 slow、 asymmetric
- **「独立」 の 語 が (p) signature 内 に 未証明 で 残っていた 私 の 見落とし** confirmed by 50ms tight cluster が 逆 に 反証 signature

### 単一系列 6 shot × 30s (08:17-08:20)

- shot 1 = 15.04s (spike) / shot 2-6 = 6.11 / 6.61 / 6.15 / 5.58 / 5.15 (medium sustained、 decreasing trend)
- **chat-Claude 「30 秒 で 静止 復帰、 全 fast (~1-2s)」 予測 falsified 7 件目**
- Refined model: **3 regime spectrum**
  1. **Long idle (~数分 以上)** = 静止、 **1-2s fast** (idle 28 分後 1.80s + restart 直後 0.73s)
  2. **Sustained load (30s 間隔 継続)** = **5-7s medium**、 warm-up decreasing trend
  3. **Burst spike** (idle → load 遷移 or parallel/serial burst) = **12-17s slow** (parallel 6 全 12.7s + staggered req2 14.7s + shot 1 15s)
- Chat-Claude モデル 「~13-15s 共有処理 起動 + 完了で 静止復帰」 = **spike phase 一致 / sustained phase 不一致 (30s で 静止復帰しない、 medium 継続)** = **partial confirm / partial falsified**

### Falsified 累計 = 7 件 (+ 私側 訂正 累計 = 4 件)

1. プロセス寿命 (chat-Claude、 PID 生存)
2. 初回資源未解放 (chat-Claude、 iter 8 中間)
3. 持続 block (私 premature、 Layer 2 単発)
4. Stuck (私 premature、 全 return)
5. 直列キュー (chat-Claude + 私 premature、 parallel wall 13s)
6. **独立性 12.7s uniform** + **共有イベント同時終了** (私 premature + chat-Claude、 staggered asymmetric)
7. **「30s で 静止復帰」** (chat-Claude、 単一系列 5-7s sustained)

**私側 訂正 累計 4 件**: 「持続 block」 「Stuck」 「直列キュー」 「独立性 12.7s uniform」

### Signature 訂正 (NUMBER_SPACE_MANIFEST 規律 accept、 chat-Claude 助言)

**旧 signature (定数化 誤り)**: 「並列だが 各 req 独立 に ~12.7s I/O bound 待ち」

**新 signature (状態依存 spectrum)**:
> Latency は **1.0-1.8s (long idle 後 静止 状態) 〜 5-7s (sustained load) 〜 12-17s (burst spike / idle→load 遷移)** の **3 regime spectrum** で **状態依存**、 **単一 代表値 は 存在しない**。 静止 復帰 threshold は **30s では 不十分、 5-10 分 以上 の idle が 必要** の 可能性 (idle 28 分 = 静止 実測、 idle 30s = 静止 未達 実測)。

**Root cause candidate** (chat-Claude モデル refined):
- Request が 重い 共有処理 を 起動 (spike phase 一致)、 但し 完了後 も **数分 の warm state 継続** (sustained medium)、 その後 idle 復帰
- Candidates: LearningPipeline 6h cycle が per-request で spawn or check、 DailyDiscovery scheduler の warm-up cache、 external API keep-alive connection pool、 initialization I/O queue 段階的解放

**Meta observation** (chat-Claude review chain 装置性):
- chat-Claude 予測 4 件 + 私 3 件 = 双方向 7 件 falsified
- Chat-Claude モデル 「1 モデル で 6 観測 全 説明」 は **強力な post-hoc explanation** だが、 shot 1 sustained falsification で refinement 必要 emerge = **私 側 の 「12.7s 定数化」 と 同型 の post-hoc premature confidence の risk**、 refined 3 regime spectrum は 更に falsifiable
- 「数字は条件とセットでのみ意味を持つ」 (NUMBER_SPACE_MANIFEST 規律) の 実 emerge 例 = signature 記述 定数削除 + 条件明示 discipline を feedback memory `guard_bypass_record_hygiene` 相当 の layer で 未来 rule 化 candidate (STEP 2066 arc close 後 判定)
