Files
hakorune/docs/private/papers/paper-y-seam-aware-json-unification/README.md

63 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SeamAware JSON Unification: AI 前処理 × CABI Box 正規化(開発メモ/論文草案)
目的
- 生成・結合・実行系で発生する JSON の“揺れ”を、AI 前処理で吸収しつつ、最終は CABI な JSON Box で決定論的に正規化する設計をまとめる。Nyash の using 結合seam問題や自前スキャナの脆さを根本解決して、開発生産性と信頼性を両立する。
背景(問題設定)
- JSON IR は人手編集を前提としない一方、生成器や結合工程using inline由来の“揺れ欠落/重複/順序/境界ミス)”で壊れやすい。
- 既存は Nyash スクリプトによる最小スキャナMiniJson/MiniVmScanで運用。高速に試作できるが、seam 断面やブレースずれに脆弱。
- PyVM は意味論参照器として有用だが、結合や健全性監視の導線が弱いとデバッグコストが増す。
着想(本提案)
- AIintheloop 正規化: 生成 JSON の揺れを AI で前整形(危険な崩れを JSON 仕様準拠に寄せる)。
- Seamaware 結合: using 結合時に断面ログprelude_tail/body_head・brace 差分・重複dup_box/dup_fnを観測・補修。
- 決定論的 Box: CABI で呼べる JSON エンジン(候補: yyjsonを薄い Box 化し、最終抽出・参照はそこで確定。
想定構成(段階導入)
1) Python combiner現行
- tools/using_combine.py で seam ログ・brace 補完・最小 dedup を実施NYASH_USING_COMBINER=1
- みんなが読むソースは“結合後1ファイル[pyvm-code])”に統一。
2) CABI JSON Box
- ライブラリ: yyjsonC, MIT。parse/close + JSON Pointer get_* + statements イテレータ + esc_json。
- Nyash 側から externcall 経由で呼び出しBox 抽象で隠蔽)。
3) 自前スキャナの段階置換
- MiniJson/MiniVmScan 呼び出し箇所を CABI Box に差し替え。seam のブレでも壊れない土台へ。
評価軸(実験計画)
- 正常化率: 代表“揺れ”ケース(欠落/重複/境界)で AI 前処理あり/なしを比較。
- 信頼性: JSON Box 抽出の精度(ゴールデン比較)・クラッシュ率・未定義挙動の減少。
- 生産性: デバッグ時間/回帰検出時間/レビュー時間seam インスペクタの数値 prelude_brace_delta, dup_box, dup_fn
- 性能: 追加前処理のオーバーヘッド、CABI 化による抽出速度ms/MB
関連実装(現状資産)
- Seam ログ/補修: src/runner/modes/common_util/resolve.rs, tools/using_combine.py--seam-debug / --fix-braces / --dedup-*)。
- インスペクタ: apps/selfhost-vm/boxes/seam_inspector.nyashprelude_brace_delta/dup_box/dup_fn を出力)。
- PyVM 参照器: src/runner/modes/pyvm.rs, tools/pyvm_runner.py[pyvm-code] ダンプと MIR 実行)。
研究貢献(書き出し案)
- AI 前処理+決定論的 Box のハイブリッドで、JSON IR の“運用上の揺れ”に強い開発フローを提案・実装・定量化。
- Seamaware断面意識での結合監視手法ログ/メトリクスと、即応の補修brace/dedup
- Nyash の Box 哲学に沿った CABI JSON Box による抽象境界の設計と運用事例。
想定リスクと対策
- AI 前処理の再現性: 前処理は“提案/補助”に限定、最終整形は Box で決定論に。
- エンジン依存: yyjson を既定、巨大入力向けには YAJL を第二候補(将来のストリーミング向け)。
短期ロードマップ(半日粒度)
- [ ] CABI JSON ラッパparse/get_str/get_int/esc_jsonモック追加
- [ ] MiniVmScan の get_digits/quoted の呼び出しを 1 箇所置換(スモーク緑確認)
- [ ] seam インスペクタの出力を CI に収集prelude_brace_delta==0 をゲート)
- [ ] 代表“揺れ”合成セットで正常化率を測定before/after
メモ(用語)
- prelude_brace_delta: 結合前置部のブレース差分0 で正常)。
- dup_box/dup_fn: 結合により重複生成された Box/関数の検出ログ。
参考タイトル案
- AIintheLoop Normalization of Evolving JSON IRs with Deterministic CABI Boxes
- SeamAware JSON Unification: From AI PreFixing to BoxLevel Normalization
ドラフトの所在
- 本ディレクトリ配下に章立ての追加ファイルを随時作成outline.md, experiments.md など)。