Arc Close Negative-adjacent (documented) Contract C PASS 4 corrigendum 経由 SPK type 2/3 KILL 確定

Research Log 2026-09-08 — Ceres orbital stream compression arc close (STEP 1879 + 1881 + 1882)

藤本さん 24 tool 大量依頼 → Route 1 (ケレス pattern) 収束 → 3 STEP 実装 arc → Fujimoto 4 段 corrigendum で findings honest 化 → SPK/DE440 KILL の 「なぜ KILL か」 定量裏付け → 3 STEP arc pair formal close (Fujimoto 明示承認)。

Arc 一行結論 (statement of record)

精度を 一段上げる ごと に、 decoder バイト が data バイト の 節約 より 速く 増える。 この toy 規模 では、 物理 を 正しくする ほど MDL では 不利 に なる。 SPK/DE440 が 40 年 かけて 全 subsystem (Earth VSOP87 + planet ephemerides + light-time + aberration + relativistic + topocentric) を 実装した 理由 = 全部 揃わないと data 側 削減 が decoder を 追い越さない、 部分実装 は generic 圧縮 に 負ける

Arc scope (3 STEP)

STEPDateContentHead commit
1879 2026-09-08 JPL Horizons ephemeris で (a)(b)(c) 実施、 tautology STOP condition 発見 = データ生成過程 (DE440/441 積分) と 圧縮器 (Kepler+摂動) が 同一物理 で circularity、 契約 6 期間 split では 直らない。 headline は MPC real astrometry に 移行。 Prior-art audit 目的転換 = 「空白地帯探索」 → 「これは既知である の 正確記述」 2a78ce616 → 18ba45df6
1881 2026-09-08 MPC obs80 real Ceres 8,278 records (1801 Piazzi 発見当日 〜 2026)、 (a)(b)(c)(d) + (e) 部分実装。 field-byte breakdown 51.25%/48.75% (astro/non-touch)、 baseline 6 通り round-trip OK、 Kepler-only + null 多項式 + spline baseline + MDL 会計。 Kepler-only per-byte 圧縮率 10.75x (brotli 4.35x の 2.5x)、 MDL total 32 KB > brotli 16 KB (decoder overhead 敗北)、 null 破綻 (~78° RMS) + spline extrapolation 破綻 (3.26e22") で physics-built-in の 質的差 顕在化 85e258679 → 91628eefa
1882 2026-09-08 摂動 ODE (Jupiter/Mars/Sun) 操作的判定 + Earth 精度 (Meeus) + Lie 群 topocentric 予定。 実装 BUG 発見 = 時間 argument epoch/J2000 confusion (Jupiter が 200 年 time-shift 反対側 orbit で参照)、 判定 A 「NOT load-bearing」 誤読 誘発。 Bug fix + 再測定 で Jupiter LOAD-BEARING 確認 (test RMS 727" → 140"、 5x 改善)、 SPK/DE440 存在理由 と 完全一致。 4 段 corrigendum: (1) 論理矛盾訂正 (2) data provenance 明示 + Contract C PASS (3) STEP 1881 spline 遅延訂正 (int64 overflow) (4) 検査分解能 = 桁違い/2 倍 教訓 bc5408e3d → c99c15575

MDL 会計 定量結果 (astro subset test 68,754 B、 brotli baseline 15,820 B)

Stagedata Bparams Bdecoder BTOTALRMS arcsecMDL 逆転点 (raw)
brotli baseline (system tool、 decoder=0) 15,820 - 0 15,820 - -
STEP 1881 Kepler-only + rough Earth 6,394 48 25,791 32,233 726.7 ~188 KB
STEP 1881 null 6 params (2 次多項式) 9,509 48 25,791 35,348 263,516 -
STEP 1881 cubic spline (訂正済 unverified) 未検証 259,448 25,791 - 3.26e22 (overflow) 除外
STEP 1882 Kepler + Jupiter (bug-fixed、 corrected judgment A') 5,532 48 40,469 46,049 139.8 ~271 KB

Per-byte 圧縮率: Kepler-only 10.75x / Kepler+Jupiter 12.4x (data 側 は 13% 改善) / brotli 4.35x。 MDL total: bug-fixed 46 KB > brotli 16 KB = 2.91x LOSS、 decoder overhead 支配。 MDL 逆転点: 188 KB (STEP 1881 pre-bug-fix) → 271 KB (STEP 1882 post-bug-fix) = 精度改善で 逆転点 は 更に 遠退く。

Findings 主要 5 件

Finding 1 (STEP 1879): Horizons ephemeris は DE440/441 数値積分結果、 domain model (Kepler+摂動) fit の 対象 と 同一 物理式 で circularity。 tautology は 時間軸 (train/test) では なく データ の 出自 に あり、 契約 6 (期間 split) では 直らない。 in-sample validation の 変異版 (契約全遵守下 で 発現、 より 質が悪い)。
Finding 2 (STEP 1881): Cubic spline は train を 完全 fit (RMS 2.5e-4 arcsec = 数値ノイズ) するが test では 破滅的 extrapolation (3.26e22 arcsec)。 physics-built-in Kepler と 質的差 顕在化 = 「fit しか できない tool」 は extrapolation 用途 不適格。
Finding 3 (STEP 1881): Null 多項式 (RA/Dec 各 2 次 = 合計 6 params 等幅) は 190 年 Ceres で ~78° RMS = catastrophic failure。 Kepler+Jupiter を 使うと null RMS 比 = 1,882 倍。 「Kepler + 摂動 が load-bearing」 の 直接証明 = 契約 1 期待通り。
Finding 4 (STEP 1882 corrigendum 1): 判定 A 「Jupiter NOT load-bearing」 は 実装 BUG (epoch/J2000 時間 argument confusion、 200 年 time-shift) 由来 の 誤読。 Bug fix + 再測定 で Jupiter LOAD-BEARING 確認 (test RMS 727" → 140"、 5x 改善)。 SPK/DE440 が 40 年 かけて 全 subsystem 実装した 理由 と 完全 一致。
Finding 5 (arc close statement): 精度を 一段上げる ごと に decoder バイト が data 節約 より 速く増える。 STEP 1881 (25.8 KB decoder) → STEP 1882 bug-fixed (40.5 KB decoder) で MDL 逆転点 188 KB → 271 KB 更に 遠退く。 SPK KILL の 「なぜ KILL か」 定量裏付け = 部分実装 は generic 圧縮 に 負ける。

4 教訓 (未来 Claude 資産、 STEP 1882 由来 corrigendum 統合)

  1. 意味論 audit の 重要性 — 「Jupiter NOT load-bearing」 と 「Kepler-only truncation error が bottleneck」 は 論理矛盾 (Kepler-only truncation = 無視した摂動 = 主因 Jupiter)。 数値結果 に 引っ張られて 意味論チェック を 忘れると こうなる (Fujimoto 元指摘)。
  2. 説明が 数値的 に 足りない時 に 「まあ borderline」 で 止めない、 掘る — 0.328° Jupiter 位置誤差 は 500" 残差 の 説明 に 「小さすぎる」、 納得せず コード監査 → epoch/J2000 confusion BUG 発見。 意味論 audit のみ では 見つからない、 「借金残 → 数値的納得不足 → 掘る」 が 実効した 手順。
  3. 中間量 では なく 最終物理量 で 突合 する verification protocol — 加速度 / 力 / 内部状態 を 検証すると mechanism 依存 で 特定 bug pattern しか 拾えない。 Jupiter 位置 (最終物理量、 実測可能 quantity) を JPL Horizons 参照値 と 突合 すれば mechanism 非依存 で 頑健、 要素誤差 でも 時刻 bug でも 同じく 暴く (chat-Claude 一般則、 Contract 9 拡張)。
  4. 検査分解能 の 限界 = 桁違い vs 2 倍 — 桁違い不整合 (10^n) は 単位取り違え に 頑健、 分母確定 前 でも 掘る価値あり (STEP 1881 spline: 予想 29,504 B vs 観測 6,372 B = 5 倍ずれ → real bug int64 overflow)。 2 倍 程度 の 差 (log-scale ~1 level) は 単位曖昧性 そのもの が 2 倍、 指摘前 に 分母 確定 必須 (STEP 1882 Jupiter data: 予想 4.76 bit/record vs 観測 4.87 bit/record = 2.05 倍見えた が 単位混同、 per-residual で 揃えると 2.4% 一致 = no bug) (Fujimoto 自己経験 実例付き)。

Failure mode dataset 追加 3 件 (STEP 1876/1878 の 4 件 + 本 arc = 計 10 件)

Contract 遵守 最終状態

契約内容状態
1帰無モデル並走 (主 6 params 等幅 + 副 12 params 寛容)PASS
2幅 (容量) 揃えるPASS
3素のベースライン (cubic spline)PASS (訂正 = spline data 未検証、 params 単独 で 破綻主張)
4MDL 総記述長会計 (私 の code のみ計上)PASS (Fujimoto 分離指示 = codec-relevant 40.5 KB / experiment total 60.7 KB)
5I は棄却専用PASS (実測 のみ 判定)
6期間 train/test split (最初 に 固定、 動かさない)PASS (1801-1991 train / 1992-2026 test、 pre-registration commit)
7「全部使った」 narrative 禁止、 load-bearing のみ countPASS (load-bearing 実 = Kepler + Gauss + N-body Jupiter + residual coding = 4 個、 Mars = not load-bearing 実測)
8圧縮対象フィールド範囲 (headline = 全 record / 副 = astro subset 並記)PASS (STEP 1876 同型穴 予防)
9Phase 順序 依存 signal masking (chat-Claude 一般化)PASS (判定 A→B 実施、 bug fix で 判定反転 検出)
Cper-record round-trip 検証 (Fujimoto 追加要請)PASS (max abs error 0.005" = precision 0.01" の 半分 = worst case within tolerance)
Bself-contained decoder including external dep size意図的方法論選択 (未実施)、 baseline も 同 discipline で 対称

Honest scope (arc 全体 として 主張 しない こと)

教材価値 位置付け

3 STEP arc は SPK/DE440 の 「なぜ 40 年 かけて 全 subsystem 揃える 必要 が あった か」 の 定量裏付け:

Commit chain (git 検証可能)

2a78ce616  STEP 1879 pre-registration (Horizons attempt + tautology STOP + prior-art audit 目的転換)
18ba45df6  merge (autonomous cycles 統合)
85e258679  STEP 1881 (a)(b)(c)(d) 完了 (MPC obs80 fetch + baseline 6 通り + period split)
39787b20b  STEP 1881 pre-registration handoff
91628eefa  STEP 1881 (e) 部分実装 E1-E2-E4-E5 (Kepler fit + null + spline + MDL)
bc5408e3d  STEP 1882 pre-registration (E3 摂動 + Earth 精度 + E6 topocentric 予定)
9a306f8ed  STEP 1882 Phase 1+2a (buggy Jupiter finding、 corrigendum 対象)
55fe0a95b  STEP 1882 corrigendum 1 (BUG fix + Jupiter LOAD-BEARING 確認)
d8e287a46  STEP 1882 corrigendum 2+3 (data provenance + Contract C PASS + STEP 1881 spline 訂正)
c99c15575  STEP 1882 corrigendum 4 + formal close (Fujimoto 明示承認)

Cross-reference