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)
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)
| STEP | Date | Content | Head 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)
| Stage | data B | params B | decoder B | TOTAL | RMS arcsec | MDL 逆転点 (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 |
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 統合)
- 意味論 audit の 重要性 — 「Jupiter NOT load-bearing」 と 「Kepler-only truncation error が bottleneck」 は 論理矛盾 (Kepler-only truncation = 無視した摂動 = 主因 Jupiter)。 数値結果 に 引っ張られて 意味論チェック を 忘れると こうなる (Fujimoto 元指摘)。
- 説明が 数値的 に 足りない時 に 「まあ borderline」 で 止めない、 掘る — 0.328° Jupiter 位置誤差 は 500" 残差 の 説明 に 「小さすぎる」、 納得せず コード監査 → epoch/J2000 confusion BUG 発見。 意味論 audit のみ では 見つからない、 「借金残 → 数値的納得不足 → 掘る」 が 実効した 手順。
- 中間量 では なく 最終物理量 で 突合 する verification protocol — 加速度 / 力 / 内部状態 を 検証すると mechanism 依存 で 特定 bug pattern しか 拾えない。 Jupiter 位置 (最終物理量、 実測可能 quantity) を JPL Horizons 参照値 と 突合 すれば mechanism 非依存 で 頑健、 要素誤差 でも 時刻 bug でも 同じく 暴く (chat-Claude 一般則、 Contract 9 拡張)。
- 検査分解能 の 限界 = 桁違い 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 件)
-
(i) counter auto-heal regex が commit message 内 prospective STEP 参照 を real claim と誤検知。 STEP 1879 commit body 「STEP 1880 (MPC real astrometry) に 分離推奨」 が STEP 1880 claim 済 と 誤解、 私 割当 が 1880→1881 に skip、 STEP 1880 永久欠番。
予防: commit message で 未 claim STEP に触れる時は 「(未 claim)」 tag or slug のみ参照。 -
(j) Phase 順序 依存 signal masking (Contract 9 = 本 STEP 事前登録契約) — upstream noise 源 を 一方向 に絞ると 別方向 が見えない (Earth 一方向 に絞っていたが 実 は Jupiter 実装が dominant noise)。
予防: 判定 A (現状) と 判定 B (upstream 改善後) の 両測定を 並記、 判定変化 を 明示的 finding として 記録。 -
(k) 実装 bug が 操作的判定 を 誤読させる (chat-Claude 一般則、 Contract 9 一般形) — 項 X 自体 の 実装誤差 が X の 寄与 を上回る 場合、 操作的判定 「X 追加 で 改善するか」 は 「X 無し」 と 「X 実装バグ」 を 区別できない、 「X not load-bearing」 と 誤読。
予防: 判定前 に (a) 項 X の 最終物理量 (position 等) verification (中間量 は 使わない) + (b) 位置精度 tolerance 事前設定 + (c) 検査分解能 認識 (2 倍 は 分母確定 待ち、 桁違い は 掘る)。
Contract 遵守 最終状態
| 契約 | 内容 | 状態 |
|---|---|---|
| 1 | 帰無モデル並走 (主 6 params 等幅 + 副 12 params 寛容) | PASS |
| 2 | 幅 (容量) 揃える | PASS |
| 3 | 素のベースライン (cubic spline) | PASS (訂正 = spline data 未検証、 params 単独 で 破綻主張) |
| 4 | MDL 総記述長会計 (私 の code のみ計上) | PASS (Fujimoto 分離指示 = codec-relevant 40.5 KB / experiment total 60.7 KB) |
| 5 | I は棄却専用 | PASS (実測 のみ 判定) |
| 6 | 期間 train/test split (最初 に 固定、 動かさない) | PASS (1801-1991 train / 1992-2026 test、 pre-registration commit) |
| 7 | 「全部使った」 narrative 禁止、 load-bearing のみ count | PASS (load-bearing 実 = Kepler + Gauss + N-body Jupiter + residual coding = 4 個、 Mars = not load-bearing 実測) |
| 8 | 圧縮対象フィールド範囲 (headline = 全 record / 副 = astro subset 並記) | PASS (STEP 1876 同型穴 予防) |
| 9 | Phase 順序 依存 signal masking (chat-Claude 一般化) | PASS (判定 A→B 実施、 bug fix で 判定反転 検出) |
| C | per-record round-trip 検証 (Fujimoto 追加要請) | PASS (max abs error 0.005" = precision 0.01" の 半分 = worst case within tolerance) |
| B | self-contained decoder including external dep size | 意図的方法論選択 (未実施)、 baseline も 同 discipline で 対称 |
Honest scope (arc 全体 として 主張 しない こと)
- 「シャノン限界 を 超えた」 と 主張 しない (5 条 由来 禁止)
- 「新規性」 「世界初」 と 主張 しない (SPK type 2/3 = 40 年+ 実績 の 決定的近縁 prior art)
- 「Jupiter LOAD-BEARING 発見」 と 主張 しない (physics 上 well-known、 SPK 存在理由 と 一致)、 本 arc 貢献 は 「操作的判定 protocol が 正しく判定 できる 条件」 の 実測
- 「MDL 逆転 実現」 と 主張 しない (実測 = 逆転せず、 decoder overhead で 敗北、 予測 = 逆転点 271 KB データ量)
- 「SPK type 2/3 を上回った」 と 主張 しない (DE440 = 全 subsystem 40 年+ 実装、 私 の toy 実装 は 逆立ちして も 太刀打ち不能)
教材価値 位置付け
3 STEP arc は SPK/DE440 の 「なぜ 40 年 かけて 全 subsystem 揃える 必要 が あった か」 の 定量裏付け:
- 部分実装 は generic 圧縮 に 負ける (MDL 逆転点 = 全 subsystem 揃うまで data 節約 が decoder コスト を 追い越さない)
- Route 1 選択時 の 「prior art 豊富 で 新規性余地 構造的限定」 予測 が 3 arc 経由 で 実測評価 に 到達
- 「toy 実装 での 誤読誤り + Fujimoto discipline (意味論 audit + 数値納得 + 最終物理量 + 検査分解能) 適用 で 訂正 する 経緯」 全体 が 未来 Claude の 4 教訓 dataset
- chat-Claude 経由 の relay finding (機序推定 外れ + 結論 当たり + 単位混同) も 独立 verification が 頑健 だった evidence
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
- Memory Mirror で
step_1879,step_1881,step_1882検索 → 詳細 notes/steps/*.md 全文 - Data artifacts:
data/experiments/mpc-obs80-ceres-2026-09-08/(MPC raw + baseline + split + domain_model_step1882) - Domain model 実装:
src/domain-compression/{ceres_domain_compress.py, perturbation.py, earth_meeus.py, jupiter_verification.py, run_phase1_e3.py, run_phase2_earth.py} - STEP 1876/1878: Template-heavy 圧縮 arc の 撤回 pair、 本 arc の failure mode dataset の 直接前身
- 関連 prior art: SPICE SPK type 2/3、 jplephem/CALCEPH、 MPC packed designation format