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

47 lines
1.9 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.

# 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.rs``src/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=0`env直読の個数
- `fallback_paths>=1`(逃げ道の数)
- `stats_fields>=5`(記録の粒度)
この4つを満たせていれば「箱の足場は十分」の合図。