STEP 1856 · 2026-09-07 · design v0.1 の Phase 1b

Template-heavy domain family Phase 1b — 5 external fetch + word-level axis + v0.2 threshold (13 domain 6/13 match)

STEP 1854 Phase 1a の honest finding 「v0.1 char-level heuristic は word-level 主張 の 意味論 誤転写」 に 応答。 word-level axis (Bw + Dw) 追加 + 5 external domain fetch + v0.2 signature (Bw ≤ 4 AND Dw > 0.10) 実装。 v0.1 の 0/13 → v0.2 の 6/13 match、 うち 4/6 が 意味的 Voynich-like (chess / esperanto / markdown / structured_log)、 2/6 は FASTA tokenizer artifact false positive。 test 38/38 PASS。

1. Phase 1b で 何を したか

  1. word-level axis 追加: wordTokenize (Unicode-aware [\p{L}\p{N}]+) + wordNgramUniquenessDecay (Bw) + wordTemplateRatio (Dw)
  2. 5 external domain fetch: Esperanto Wikipedia real (315 KB) / NCBI DNA (23 KB) / UniProt Protein (14 KB) / Chess PGN hardcoded (28 KB) / markdown proxy (69 KB) = 449 KB total
  3. v0.2 Voynich signature: Bw ≤ 4 AND Dw > 0.10 (藤本さん note 「4 語 で 決まり文句 消失」 の 直接数値化)
  4. 13 domain 総合 実測 + CSV v0.2 出力 + analysis README v0.2

2. 実測 結果 (13 domain × 17 axis)

domainsourceBw ↓NDw @n2char zstd bpcv0.1v0.2
chess_pgn_famoushardcoded30.3302.61noYES ★
dna_ncbiNCBI real10.1434.28noYES*
esperanto_wikipediaWikipedia real30.3232.72noYES ★
hash_sha256_seqsynthetic10.1004.09nono
json_schema_instsynthetic70.7980.69nono
markdown_proxy_latex_likerepo30.3232.72noYES ★
numeric_id_seqsynthetic10.1000.45nono
protein_uniprotUniProt real10.1434.15noYES*
regex_patternssynthetic110.2920.33nono
structured_logsynthetic30.7171.60noYES ★
uuid_v4_seqsynthetic20.1004.15nono

意味的 Voynich-like (repeated word patterns at short range) / YES* tokenizer artifact false positive (FASTA sequence に space なし → 全体 1 word)

3. 主要 finding

3.1 v0.2 signature は 意味論 的 動作 (4/6 真陽性)

3.2 false positive 2/6 = tokenizer artifact (honest finding)

DNA / protein の FASTA sequence は space 分離 が なく wordTokenize全体 を 1 word として 扱う。 word-level uniqueness trivially high。 v0.2 tokenizer の 既知限界、 domain-aware handling (sequence domain には residue-level or fixed-window tokenize) が v0.3 送り

3.3 弁別性 evidence: json_schema は 高 template でも no match

json_schema (Bw=7, Dw=0.798) が v0.2 no match = 「値 variety 高い + template structure 反復」 pattern を 過度信号化 しない。 v0.2 signature が 「word 反復性」 に 特化 する ことで、 char-level template だけ の domain と 区別 可能。

3.4 Voynich EVA 直接 anchor 未達

public URL 3 全 404 (dolven/hunterowens/anonymous gist)、 Latin Wikipedia substitute batch は rate limit + title 不整合 で partial fail。 v0.2 threshold は 「Voynich note 主張 (4 語 で 消える) を そのまま 数値化」 の tentative、 real Voynich EVA text で anchor 較正 は Phase 1c 送り

4. Honest scope (Phase 1b の 5 限界)

5. Failure mode dataset entry (STEP 1854 に 追加 3)

  1. sequence domain tokenizer artifact: natural language 前提 word tokenizer は FASTA など space なし domain で 意味不明化
  2. external fetch rate limit: Wikipedia batch 20 title で 発火、 sleep 1s 挿入 でも fail continue
  3. domain axis 直交性 未 formal: v0.2 signature は 「word 反復性」 特化、 「structural template」 (json) は 捕まえない (弁別性 だが 完全網羅 では ない)

6. Phase 2 candidate

Phase 3 prototype 対象 1 domain 選択 の 短リスト:

藤本さん explicit go 待ち: どの 1 domain を Phase 3 実装 対象 に する か。

7. v0.3 送り 事項 (6 項)

  1. domain-aware tokenizer (sequence domain 対応)
  2. Voynich EVA 直接 fetch (別 URL 探索 / 藤本さん 手元 / Zenodo)
  3. cmix binary 統合 (WSL build or Windows binary)
  4. english_baseline 差替 (実 English)
  5. v0.3 threshold refinement (real Voynich anchor 較正 + additional axes)
  6. tokenizer artifact 明示検知 (sequence domain 自動判定 + CSV warning)

8. 再現

npx tsx scripts/domain-family/generate-samples.ts       # synthetic 8 domain (seed 20260907)
npx tsx scripts/domain-family/fetch-external.ts         # external 5 domain (network 要)
mkdir -p data/domain-family/samples-combined
cp data/domain-family/samples/*.txt data/domain-family/samples-combined/
cp data/domain-family/samples-external/*.txt data/domain-family/samples-combined/
npx tsx scripts/domain-family/characterize.ts \
  data/domain-family/samples-combined \
  data/domain-family/results/characterization-v0.2.csv   # 13 domain 実測
npm run test:step1854                                    # 38 assertion

9. 関連 STEP

10. 詳細参照