From 8a8c90fc744332976109162c18f594f24b2ed907 Mon Sep 17 00:00:00 2001 From: nyash-codex Date: Sun, 14 Dec 2025 00:05:16 +0900 Subject: [PATCH] =?UTF-8?q?docs(joinir):=20Phase=2086=20SSOT=20=E8=BF=BD?= =?UTF-8?q?=E8=A8=98=E5=AE=8C=E4=BA=86=20+=20Phase=2088=20=E6=BA=96?= =?UTF-8?q?=E5=82=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- CURRENT_TASK.md | 18 +++++++----------- crates/nyash_kernel/src/lib.rs | 6 ++++++ docs/development/current/main/10-Now.md | 2 ++ nyash.toml | 6 +++--- tools/smokes/v2/configs/auto_detect.conf | 3 ++- 5 files changed, 20 insertions(+), 15 deletions(-) diff --git a/CURRENT_TASK.md b/CURRENT_TASK.md index d8fa3c04..a15d38ee 100644 --- a/CURRENT_TASK.md +++ b/CURRENT_TASK.md @@ -31,15 +31,7 @@ ## 次の指示書(優先順位) -### P0: SSOT の軽い追記(docs-only) - -- `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 候補) +### P0: JoinIR / Selfhost depth-2 の前進(Phase 88 候補) 目的: - JsonParserBox の残り複合ループを JoinIR 対応する。 @@ -53,7 +45,7 @@ 受け入れ基準: - 代表ケースが 1 コマンドで再現可能(CI は増やさない、quick を重くしない)。 -### P2: Ownership/Relay runtime 対応の再開(Phase 88 候補) +### P1: Ownership/Relay runtime 対応の再開(Phase 88 候補) 目的: - multihop/merge relay を “runtime でも” 受理できるところまで契約を伸ばす(Fail-Fast の段階解除)。 @@ -61,10 +53,14 @@ 受け入れ基準: - 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` - `NYASH_JOINIR_NORMALIZED_DEV_RUN=1 cargo test --features normalized_dev --test normalized_joinir_min -- --nocapture` - diff --git a/crates/nyash_kernel/src/lib.rs b/crates/nyash_kernel/src/lib.rs index 1f0a2342..30ac6a2d 100644 --- a/crates/nyash_kernel/src/lib.rs +++ b/crates/nyash_kernel/src/lib.rs @@ -686,6 +686,12 @@ pub extern "C" fn nyash_map_birth_h_export() -> i64 { #[cfg(not(test))] #[no_mangle] 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 let exe_dir = std::env::current_exe() .ok() diff --git a/docs/development/current/main/10-Now.md b/docs/development/current/main/10-Now.md index 4529e828..6c5b7d71 100644 --- a/docs/development/current/main/10-Now.md +++ b/docs/development/current/main/10-Now.md @@ -65,6 +65,8 @@ - JoinIR lowering 側は name-based から BindingId-based へ段階移行中: - `ScopeManager.lookup_with_binding()` / `ConditionEnv.binding_id_map` を導入し、shadowing を壊さずに解決できる足場を作った。 - promoted carriers(DigitPos/Trim)については `BindingId(original) → BindingId(promoted) → ValueId(join)` の鎖を dev-only で整備中。 + - Phase 86 で `carrier_init_builder` / `error_tags` を SSOT 化し、段階移行ラインの基盤(ValueId 生成とエラー語彙)が確立した。 + - これにより、BindingId dual-path の拡張・統合時に「生成」と「表示」の責務が混ざらない構造が固定された。 - Phase 81 で Pattern2(DigitPos/Trim)の ExitLine 契約(ConditionOnly を exit PHI から除外、LoopState のみを reconnect)を E2E で固定した。 - 参照: - `docs/development/current/main/phase73-scope-manager-design.md` diff --git a/nyash.toml b/nyash.toml index be816efc..90fea084 100644 --- a/nyash.toml +++ b/nyash.toml @@ -668,7 +668,7 @@ fini = { method_id = 4294967295 } # ArrayBox Plugin (Core Box) [libraries."libnyash_array_plugin.so"] boxes = ["ArrayBox"] -path = "target/release/libnyash_array_plugin.so" +path = "plugins/nyash-array-plugin/libnyash_array_plugin.so" [libraries."libnyash_array_plugin.so".ArrayBox] type_id = 5 @@ -688,7 +688,7 @@ fini = { method_id = 4294967295 } # MapBox Plugin (Core Box) [libraries."libnyash_map_plugin.so"] boxes = ["MapBox"] -path = "target/release/libnyash_map_plugin.so" +path = "plugins/nyash-map-plugin/libnyash_map_plugin.so" [libraries."libnyash_map_plugin.so".MapBox] type_id = 6 @@ -708,7 +708,7 @@ fini = { method_id = 4294967295 } # ConsoleBox Plugin (Core Box) [libraries."libnyash_console_plugin.so"] boxes = ["ConsoleBox"] -path = "target/release/libnyash_console_plugin.so" +path = "plugins/nyash-console-plugin/libnyash_console_plugin.so" [libraries."libnyash_console_plugin.so".ConsoleBox] type_id = 7 diff --git a/tools/smokes/v2/configs/auto_detect.conf b/tools/smokes/v2/configs/auto_detect.conf index 83c0b608..56baf532 100644 --- a/tools/smokes/v2/configs/auto_detect.conf +++ b/tools/smokes/v2/configs/auto_detect.conf @@ -61,7 +61,8 @@ adjust_for_profile() { # 統合テストは安定性重視 export NYASH_CLI_VERBOSE=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 ;; "full")