# STEP 1870 — v0.4 送り 9 dedicated schema-aware compressor 一般化 test — Preload-dictionary は 全 domain で amortized +0.2〜1.8% only、 **structured_log 自身 でも +0.2%** (STEP 1867 dedicated schema-aware +40.4% vs)、 **STEP 1867 の 40.4% win は 「fixed-width binary field encoding」 由来 で dictionary preloading では 再現 不能** (predictive validity 更に 精緻化)

**Timestamp**: 2026-09-07T05:00 (JST)
**Tab worktree**: main (rei-aios-97 [de6edb])
**Commit**: <commit 後に追記>
**Refs-STEP**: 1869, 1868, 1867, 1863, 1862, 1861, 1860, 1856, 1854, 1851, 1848

## 一行 summary

v0.4 送り 9 = STEP 1867 dedicated schema-aware compressor pattern を other v0.3 YES domain (markdown + esperanto) へ 一般化 test。 実装 = preloaded-dictionary DEFLATE (learn top n-grams from corpus + use as zlib preset dictionary、 dict bytes counted for fair test)。 **実測: markdown amortized +1.8%、 esperanto amortized +0.3%、 structured_log 自身 amortized +0.2% のみ** (STEP 1867 dedicated schema-aware は 40.4% vs)。 **★ 決定的 finding: STEP 1867 の 40.4% win は 「fixed-width binary field encoding」 (msOfDay 27-bit / req_id 48-bit / latency 10-bit の ASCII→binary 再encoding) 由来、 dictionary preloading では 再現 不能。 markdown/esperanto/voynich は v0.3 YES だが ASCII-numeric field を 持たない → binary re-encoding opportunity なし → STEP 1867 pattern 一般化 せず ★**。 18/18 test PASS。 predictive validity の 完全 決着: v0.3 signature valid (statistical、 STEP 1863 p=0.020) + STEP 1867 win requires (v0.3 YES + explicit ASCII-encoded structured fields amenable to binary re-encoding)。

## 予測 vs 実測 (6 domain)

| domain | v0.3 | 原文 | gzip | dict | body | 合計 (fair) | fair | amort | 予測 |
|---|---|---|---|---|---|---|---|---|---|
| markdown_proxy | YES | 68,955 | 25,272 | 4,096 | 24,828 | 28,924 | -14.5% | **+1.8%** | ✗ (target 30%) |
| esperanto_wikipedia | YES | 314,844 | 115,712 | 8,192 | 115,333 | 123,525 | -6.8% | **+0.3%** | ✗ (target 30%) |
| structured_log | YES | 698,392 | 158,005 | 4,096 | 157,685 | 161,781 | -2.4% | **+0.2%** | (STEP 1867 dedicated = +40.4%) |
| voynich_eva | YES | 246,431 | 76,888 | 4,096 | 76,723 | 80,819 | -5.1% | +0.2% | (STEP 1869 generic word-dict = -36%) |
| english_baseline | no | 37,699 | 1,210 | 4,096 | 1,060 | 5,156 | -326% | +12.4% | (synthetic outlier) |
| dna_ncbi | no | 22,741 | 6,864 | 4,096 | 6,596 | 10,692 | -55.8% | +3.9% | (near-gzip parity) |

**Success criterion** (「STEP 1867 pattern generalizes to v0.3 YES broadly」 = both markdown + esperanto > 30% improvement) = **NOT MET**、 either fair or amortized。

## Predictive validity 完全 決着 (STEP 1863 → 1867 → 1868 → 1870)

### 引き続き valid
- v0.3 signature statistical validity (STEP 1863 p=0.020、 anchor n=5)
- structured_log dedicated schema-aware compressor で 40.4% improvement (STEP 1867 実測、 lossless、 13/13 test PASS)

### 決定的 精緻化 (本 STEP)
- **STEP 1867 の 40.4% win は 「fixed-width binary field encoding」 由来** (msOfDay 27-bit / req_id 48-bit / latency 10-bit の ASCII→binary 再encoding が主要 mechanism)
- **Dictionary preloading alone は 再現 不能**: structured_log 自身 でも preload-dict は amortized +0.2% (vs STEP 1867 dedicated +40.4%)
- **Text corpora (markdown/esperanto/voynich) は ASCII-numeric field を 持たない** → binary re-encoding opportunity なし → STEP 1867 pattern 一般化 せず

### 最終的 predictive validity claim
**v0.3 signature が 40%+ compression improvement を 予測 する には、 (a) v0.3 YES 判定 + (b) explicit ASCII-encoded structured fields (timestamps / IDs / numeric measurements) の 存在 が 両方 必要**。 v0.3 YES 単独 では 不十分 = necessary but not sufficient condition。

### 明確 に refuted な 主張
- 「v0.3 YES → 40%+ 圧縮 improvement 一般に 可能」 = **反証** (markdown/esperanto amortized +0.2-1.8% only)
- 「schema-aware compressor pattern (STEP 1867) は v0.3 YES 全般 に 適用可能」 = **反証** (dedicated schema でも ASCII-numeric field なしでは 数% only)
- 「Dictionary preloading = schema-aware compression の 代用」 = **反証** (structured_log でも preload-dict +0.2% vs dedicated +40.4%)
- 「Voynich の v0.3 YES + Bw=2 は 圧縮 gain を imply」 = **既 反証** (STEP 1869 -36%) + **本 STEP で 追加 evidence** (preload-dict +0.2% で 依然 not close to 30%)

## Honest scope

- 実装 = zlib preset dictionary (RFC 1950 FDICT) 標準 method、 Brotli built-in dict も 同 principle
- Dictionary learning は in-sample (corpus 自身 から learn)、 out-of-sample generalization は 別 concern (held-out CV 別 STEP)
- Substring dedup は weak (concatenation-based)、 Brotli built-in の 最適化 dict-learning algorithm 使用 は 別 STEP
- Round-trip lossless 保証 = byte identity
- **novelty 主張 なし** = preset dictionary DEFLATE は well-known (RFC 1950 1996 以来)、 本 STEP は predictive validity claim の scope characterization

## v0.4 送り 状態 update

- (1) positive class 拡張 ✅ 完了 (STEP 1863)
- (7) implication reversal ✅ 完了 (STEP 1868)
- **(9) dedicated schema pattern 一般化 test** ✅ **完了 (本 STEP、 negative result で 「structured_log-specific」 決着)**
- 残: (2) held-out CV / (3) continuous score / (4) domain 追加 30+ / (5) cmix binary / (6) english_baseline 差替 / (8) Huffman/arithmetic word-dict v0.2 / (10) Voynich section-conditional Huffman
- 追加候補: **(11) STEP 1867 pattern を ASCII-numeric field 系 domain (JSON logs / CSV / access logs) へ 拡張** (v0.3 YES + numeric-field 両方満たす domain 追加、 pattern generalize 可能性 test)

## Failure mode dataset 追加 2 entry

- **(e) 「schema-aware = dictionary preloading」 の 一段跳び 誤認**: STEP 1867 は dictionary preloading では ない、 explicit binary field encoding + line-level schema。 予防: 「schema-aware」 の mechanism 分解 (dictionary vs binary encoding vs line-level schema)、 「dedicated compressor」 の 中身 明示、 混同 pattern の checklist 化。
- **(f) 一般化 claim の 事前 scope 制限 discipline**: STEP 1867 の 40.4% を 「v0.3 YES 全般 に generalize」 と 主張 する 前 に mechanism 分解 + 各 mechanism が 他 domain で 通じる か 個別 test。 本 STEP で 分解 の 結果 = mechanism (fixed-width binary field encoding) は markdown/esperanto/voynich で 通じない。 予防: predictive validity claim を 立てる 前 に mechanism identification pass 必須。

## STEP 1848 pattern 10 段階目

| STEP | イベント |
|---|---|
| 1848 → 1862 | bug + corrigendum + 崩壊 + 方向反転 |
| 1863 | anchor 拡張 (n=5) で p=0.020 統計的 validated |
| 1867 | schema-aware で structured_log 40.4% win (勝ち evidence) |
| 1868 | 勝ち evidence の scope を 独立 test で refine (generic word-dict 反証、 dedicated schema 限定) |
| 1869 | Voynich prototype で predictive validity は decoding-adjacent に 昇格 しない |
| **1870** | **勝ち evidence の 内部 mechanism 分解 = 「fixed-width binary field encoding」 が 決定的、 dedicated schema 単独 では 不十分、 preload-dict では 再現 不能** |

10 段階 arc で **predictive validity の 完全 characterization 到達**: v0.3 statistical validity + STEP 1867 win requires ASCII-numeric field の 存在。 「勝ち evidence 直後 に scope + mechanism を 独立 test で 精緻化」 discipline pattern 完成。

## 詳細参照

- 実装: `scripts/domain-family/preloaded-dict-compressor.ts` (~200 行)
- Test: `test/step1870-preloaded-dict-compressor-test.ts` (18/18 PASS)
- Report: `data/domain-family/results/preloaded-dict-report.json`
- 関連: [STEP 1869](../step-1869-phase2-voynich-word-dict/) (Voynich negative) / [STEP 1868](../step-1868-implication-reversal-word-dict/) (generic word-dict 反証) / [STEP 1867](../step-1867-phase2-template-dict-compressor/) (structured_log 40.4% dedicated) / [STEP 1863](../step-1863-voynich-subcorpora-significance/) (p=0.020 統計 test)
