Files
hakorune/docs/engineering/box_first_enforcement.md
Moe Charm 4e1b595796 AI協調開発研究ドキュメントの完成と Phase 10.9-β 進捗
【AI協調開発研究】
- AI二重化モデルの学術論文draft完成(workshop_paper_draft.md)
- 「隠れた危機」分析とbirthの原則哲学化
- TyEnv「唯一の真実」協調会話を保存・研究資料に統合
- papers管理構造の整備(wip/under-review/published分離)

【Phase 10.9-β HostCall進捗】
- JitConfigBox: relax_numeric フラグ追加(i64→f64コアーション制御)
- HostcallRegistryBox: 署名検証・白黒リスト・コアーション対応
- JitHostcallRegistryBox: Nyash側レジストリ操作API
- Lower統合: env直読 → jit::config::current() 参照に統一
- 数値緩和設定: NYASH_JIT_HOSTCALL_RELAX_NUMERIC/Config.set_flag

【検証サンプル拡充】
- math.sin/cos/abs/min/max 関数スタイル(examples/jit_math_function_style_*.nyash)
- 境界ケース: 署名不一致・コアーション許可・mutating拒否サンプル
- E2E実証: String.length→allow, Array.push→fallback, math関数の署名一致観測

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-28 12:09:09 +09:00

1.9 KiB
Raw Blame History

Box-First Enforcement Kit運用メモ

このプロジェクトでは「箱を先に積むBox-First」を最優先にし、実装速度のボトルネックを“下の箱境界・足場不足”で詰まらせない方針を採用します。

PR テンプレ(.github/pull_request_template.md

PR で以下のチェックを通すことを習慣化します。

### Box-First Check
- [ ] 境界は1箇所に集約変換はここだけ
- [ ] 設定は JitConfigBox 経由env直読みなし
- [ ] フォールバック常設panic→VM/CPython
- [ ] 観測追加stats.jsonl / CFG dot

### DoD完了条件
- [ ] ゴールデン3件成功/失敗/境界)更新
- [ ] 回帰CI greenenv直読み検出なし
- [ ] stats: fallback率・理由が記録される

CI ガード(.github/workflows/box_first_guard.yml

現状は「アドバイザリcontinue-on-error」で運用。違反箇所を可視化します。

  • 直の std::env::var(src/jit/config.rssrc/jit/rt.rs 以外で禁止(アドバイザリ)
  • B1 署名のスイッチ箇所以外での B1 文字列の出現を禁止(アドバイザリ)
  • 将来的に stats.jsonl 出力の有無も検査予定

必要になったら continue-on-error: false にして強制化します。

“下の箱”不足の早期警報(運用ルール)

進みが悪い壊れやすい兆候が出たら、まず以下から最小1個だけ足して再挑戦

  • BoundaryBox変換一本化
  • JitConfigBox設定の箱
  • ObservabilityBoxjson/dot出力
  • Effect Token副作用の明示

Box-Fitness ミニ指標PRに1行

  • boundary_changes=1(変換点の個数)
  • env_reads=0env直読の個数
  • fallback_paths>=1(逃げ道の数)
  • stats_fields>=5(記録の粒度)

この4つを満たせていれば「箱の足場は十分」の合図。