docs(joinir): Phase 86 SSOT 追記完了 + Phase 88 準備

Phase 86 SSOT 追記(P0 完了):
- 10-Now.md: carrier_init_builder / error_tags 確立を追記
- CURRENT_TASK.md: P0→P1 繰り上げ、Done 節追加

Phase 88 準備:
- nyash_kernel/lib.rs: AOT 実行器で Ring0Context 初期化
- nyash.toml: プラグインパス正規化(plugins/...)
- auto_detect.conf: integration タイムアウト 120秒に延長

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-14 00:05:16 +09:00
parent cd12a2569e
commit 8a8c90fc74
5 changed files with 20 additions and 15 deletions

View File

@ -31,15 +31,7 @@
## 次の指示書(優先順位) ## 次の指示書(優先順位)
### P0: SSOT の軽い追記docs-only ### P0: JoinIR / Selfhost depth-2 の前進Phase 88 候補
- `docs/development/current/main/10-Now.md` の「Scope / BindingId」節に Phase 86 の到達点carrier init / error tagsを 2〜3 行で追記。
- `docs/development/current/main/joinir-architecture-overview.md` の関連ドキュメントに Phase 86 の成果物(該当モジュール)を追記。
受け入れ基準:
- docs-only でコミットできる粒度(コード差分ゼロ)。
### P1: JoinIR / Selfhost depth-2 の前進Phase 88 候補)
目的: 目的:
- JsonParserBox の残り複合ループを JoinIR 対応する。 - JsonParserBox の残り複合ループを JoinIR 対応する。
@ -53,7 +45,7 @@
受け入れ基準: 受け入れ基準:
- 代表ケースが 1 コマンドで再現可能CI は増やさない、quick を重くしない)。 - 代表ケースが 1 コマンドで再現可能CI は増やさない、quick を重くしない)。
### P2: Ownership/Relay runtime 対応の再開Phase 88 候補) ### P1: Ownership/Relay runtime 対応の再開Phase 88 候補)
目的: 目的:
- multihop/merge relay を “runtime でも” 受理できるところまで契約を伸ばすFail-Fast の段階解除)。 - multihop/merge relay を “runtime でも” 受理できるところまで契約を伸ばすFail-Fast の段階解除)。
@ -61,10 +53,14 @@
受け入れ基準: 受け入れ基準:
- dev-only 既定OFF のまま、既存ラインを壊さない。 - dev-only 既定OFF のまま、既存ラインを壊さない。
### Done: P0 SSOT の軽い追記docs-only
- `docs/development/current/main/10-Now.md` の「Scope / BindingId」節に Phase 86 の到達点carrier init / error tagsを追記済み。
- `docs/development/current/main/joinir-architecture-overview.md` の Phase 86 SSOT Modules は記載済み(追記不要)。
--- ---
## すぐ走らせる確認コマンド ## すぐ走らせる確認コマンド
- `cargo test --release --lib` - `cargo test --release --lib`
- `NYASH_JOINIR_NORMALIZED_DEV_RUN=1 cargo test --features normalized_dev --test normalized_joinir_min -- --nocapture` - `NYASH_JOINIR_NORMALIZED_DEV_RUN=1 cargo test --features normalized_dev --test normalized_joinir_min -- --nocapture`

View File

@ -686,6 +686,12 @@ pub extern "C" fn nyash_map_birth_h_export() -> i64 {
#[cfg(not(test))] #[cfg(not(test))]
#[no_mangle] #[no_mangle]
pub extern "C" fn main() -> i32 { pub extern "C" fn main() -> i32 {
// Phase 88: AOT 実行器でも Ring0Context は必須PluginHost/ログなどが依存する)。
// EXE 直起動では host 側の init が存在しないため、ここで先に初期化する。
if nyash_rust::runtime::ring0::GLOBAL_RING0.get().is_none() {
nyash_rust::runtime::ring0::init_global_ring0(nyash_rust::runtime::ring0::default_ring0());
}
// Initialize plugin host: prefer nyash.toml next to the executable; fallback to CWD // Initialize plugin host: prefer nyash.toml next to the executable; fallback to CWD
let exe_dir = std::env::current_exe() let exe_dir = std::env::current_exe()
.ok() .ok()

View File

@ -65,6 +65,8 @@
- JoinIR lowering 側は name-based から BindingId-based へ段階移行中: - JoinIR lowering 側は name-based から BindingId-based へ段階移行中:
- `ScopeManager.lookup_with_binding()` / `ConditionEnv.binding_id_map` を導入し、shadowing を壊さずに解決できる足場を作った。 - `ScopeManager.lookup_with_binding()` / `ConditionEnv.binding_id_map` を導入し、shadowing を壊さずに解決できる足場を作った。
- promoted carriersDigitPos/Trimについては `BindingId(original) → BindingId(promoted) → ValueId(join)` の鎖を dev-only で整備中。 - promoted carriersDigitPos/Trimについては `BindingId(original) → BindingId(promoted) → ValueId(join)` の鎖を dev-only で整備中。
- Phase 86 で `carrier_init_builder` / `error_tags` を SSOT 化し、段階移行ラインの基盤ValueId 生成とエラー語彙)が確立した。
- これにより、BindingId dual-path の拡張・統合時に「生成」と「表示」の責務が混ざらない構造が固定された。
- Phase 81 で Pattern2DigitPos/Trimの ExitLine 契約ConditionOnly を exit PHI から除外、LoopState のみを reconnectを E2E で固定した。 - Phase 81 で Pattern2DigitPos/Trimの ExitLine 契約ConditionOnly を exit PHI から除外、LoopState のみを reconnectを E2E で固定した。
- 参照: - 参照:
- `docs/development/current/main/phase73-scope-manager-design.md` - `docs/development/current/main/phase73-scope-manager-design.md`

View File

@ -668,7 +668,7 @@ fini = { method_id = 4294967295 }
# ArrayBox Plugin (Core Box) # ArrayBox Plugin (Core Box)
[libraries."libnyash_array_plugin.so"] [libraries."libnyash_array_plugin.so"]
boxes = ["ArrayBox"] boxes = ["ArrayBox"]
path = "target/release/libnyash_array_plugin.so" path = "plugins/nyash-array-plugin/libnyash_array_plugin.so"
[libraries."libnyash_array_plugin.so".ArrayBox] [libraries."libnyash_array_plugin.so".ArrayBox]
type_id = 5 type_id = 5
@ -688,7 +688,7 @@ fini = { method_id = 4294967295 }
# MapBox Plugin (Core Box) # MapBox Plugin (Core Box)
[libraries."libnyash_map_plugin.so"] [libraries."libnyash_map_plugin.so"]
boxes = ["MapBox"] boxes = ["MapBox"]
path = "target/release/libnyash_map_plugin.so" path = "plugins/nyash-map-plugin/libnyash_map_plugin.so"
[libraries."libnyash_map_plugin.so".MapBox] [libraries."libnyash_map_plugin.so".MapBox]
type_id = 6 type_id = 6
@ -708,7 +708,7 @@ fini = { method_id = 4294967295 }
# ConsoleBox Plugin (Core Box) # ConsoleBox Plugin (Core Box)
[libraries."libnyash_console_plugin.so"] [libraries."libnyash_console_plugin.so"]
boxes = ["ConsoleBox"] boxes = ["ConsoleBox"]
path = "target/release/libnyash_console_plugin.so" path = "plugins/nyash-console-plugin/libnyash_console_plugin.so"
[libraries."libnyash_console_plugin.so".ConsoleBox] [libraries."libnyash_console_plugin.so".ConsoleBox]
type_id = 7 type_id = 7

View File

@ -61,7 +61,8 @@ adjust_for_profile() {
# 統合テストは安定性重視 # 統合テストは安定性重視
export NYASH_CLI_VERBOSE=0 export NYASH_CLI_VERBOSE=0
export SMOKES_FAST_FAIL=0 export SMOKES_FAST_FAIL=0
export SMOKES_DEFAULT_TIMEOUT=60 # EXE build/link を含むケース(例: Phase 87 LLVM exe lineは 60s を超えやすいので余裕を持たせる。
export SMOKES_DEFAULT_TIMEOUT=120
echo "[INFO] Integration profile: Stability optimized" >&2 echo "[INFO] Integration profile: Stability optimized" >&2
;; ;;
"full") "full")