diff --git a/.yoi/tickets/00001KVJHYP4Q/item.md b/.yoi/tickets/00001KVJHYP4Q/item.md index 4e0b4773..41aa04ca 100644 --- a/.yoi/tickets/00001KVJHYP4Q/item.md +++ b/.yoi/tickets/00001KVJHYP4Q/item.md @@ -1,8 +1,8 @@ --- title: 'Plugin Service/Ingress component lifecycle surface' -state: 'inprogress' +state: 'closed' created_at: '2026-06-20T13:01:37Z' -updated_at: '2026-06-20T15:18:34Z' +updated_at: '2026-06-20T15:23:11Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-20T13:28:19Z' diff --git a/.yoi/tickets/00001KVJHYP4Q/resolution.md b/.yoi/tickets/00001KVJHYP4Q/resolution.md new file mode 100644 index 00000000..5e6d2837 --- /dev/null +++ b/.yoi/tickets/00001KVJHYP4Q/resolution.md @@ -0,0 +1,21 @@ +Plugin Service/Ingress component lifecycle surface を実装し、Orchestrator worktree の `orchestration` branch に統合した。 + +主な成果: +- Pod plugin feature に host-managed `PluginInstanceRegistry` / instance handle 境界を追加し、Tool dispatch を instance 経由に変更。 +- New instance-capable component world `yoi:plugin/instance@1.0.0` と WIT resource を追加。 +- `yoi-plugin-pdk` と Rust component template に instance-oriented authoring support を追加。 +- Existing component Tool world / raw wasm Tool runtime を instance registry compatibility path に維持。 +- Manifest/static validation に Service / Ingress declarations と per-surface grant validation を追加。 +- Service lifecycle/status/diagnostics と bounded in-process ingress dispatch path を実装。 +- Tool / Service / Ingress enabled-surface filtering を runtime install, dispatch guard, and resolved static inspection / `yoi plugin list/show` に適用。 +- `plugin check` は package declaration inspection、resolved `plugin list/show` は selected/enabled surfaces に基づく reporting に分離。 +- Focused tests added for manifest validation, legacy Tool compatibility, instance state persistence, ingress dispatch, Service/Ingress grant denial, failure diagnostics, and partial enabled-surface static reporting。 + +統合・検証: +- Merge commit: `43c9216e merge: plugin instance lifecycle surface` +- Implementation commits: `147a6005`, `870bcc76`, `79ca0f7f`, `627c8f36` +- Reviewer final verdict: approve +- Validation passed: `cargo fmt --check`, `git diff --check HEAD^1..HEAD`, `cargo test -p manifest plugin -- --nocapture`, `cargo test -p pod plugin -- --nocapture`, `cargo test -p yoi plugin -- --nocapture`, `cargo check -p yoi`, `cargo check -p yoi-plugin-pdk`, template cargo-check, `yoi ticket doctor`, and `nix build .#yoi --no-link`。 + +範囲外: +- Discord Bridge 本体、public registry/install/update/signature tooling、arbitrary Plugin UI channel、hidden context injection、Service/Ingress による model-visible Tool schema mutation は実装していない。 \ No newline at end of file diff --git a/.yoi/tickets/00001KVJHYP4Q/thread.md b/.yoi/tickets/00001KVJHYP4Q/thread.md index 61cc9ffc..1c281dac 100644 --- a/.yoi/tickets/00001KVJHYP4Q/thread.md +++ b/.yoi/tickets/00001KVJHYP4Q/thread.md @@ -608,3 +608,79 @@ Worktree status: - Clean at commit `627c8f36` on `impl/00001KVJHYP4Q-plugin-instance-lifecycle`。 --- + + + +## Implementation report + +Reviewer r4 approvalを受けて、実装ブランチを Orchestrator worktree の `orchestration` branch に統合した。 + +統合: +- Merge commit: `43c9216e merge: plugin instance lifecycle surface` +- Merged branch: `impl/00001KVJHYP4Q-plugin-instance-lifecycle` +- Implementation commits: + - `147a6005 plugin: add instance lifecycle surface` + - `870bcc76 plugin: fix instance lifecycle blockers` + - `79ca0f7f plugin: enforce enabled lifecycle surfaces` + - `627c8f36 plugin: filter static enabled surfaces` + +Orchestrator worktree validation: +- `cargo fmt --check`: passed +- `git diff --check HEAD^1..HEAD`: passed +- `cargo test -p manifest plugin -- --nocapture`: passed +- `cargo test -p pod plugin -- --nocapture`: passed +- `cargo test -p yoi plugin -- --nocapture`: passed +- `cargo check -p yoi`: passed +- `cargo check -p yoi-plugin-pdk`: passed +- `CARGO_TARGET_DIR=target/review-template cargo check --manifest-path resources/plugin/templates/rust-component-instance/Cargo.toml`: passed +- `/home/hare/Projects/yoi/target/debug/yoi ticket doctor`: passed +- `nix build .#yoi --no-link`: passed + +Template validation generated `resources/plugin/templates/rust-component-instance/Cargo.lock`; it was removed after validation. Final Orchestrator worktree status is clean。 + +--- + + + +## State changed + +Reviewer approval、Orchestrator worktree への統合、必要な検証が完了したため `done` に遷移する。実装は Plugin instance lifecycle surface、Service/Ingress declarations and grants、PDK/template、static/runtime inspection、legacy compatibility、および focused tests を含む。 + +--- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +Plugin Service/Ingress component lifecycle surface を実装し、Orchestrator worktree の `orchestration` branch に統合した。 + +主な成果: +- Pod plugin feature に host-managed `PluginInstanceRegistry` / instance handle 境界を追加し、Tool dispatch を instance 経由に変更。 +- New instance-capable component world `yoi:plugin/instance@1.0.0` と WIT resource を追加。 +- `yoi-plugin-pdk` と Rust component template に instance-oriented authoring support を追加。 +- Existing component Tool world / raw wasm Tool runtime を instance registry compatibility path に維持。 +- Manifest/static validation に Service / Ingress declarations と per-surface grant validation を追加。 +- Service lifecycle/status/diagnostics と bounded in-process ingress dispatch path を実装。 +- Tool / Service / Ingress enabled-surface filtering を runtime install, dispatch guard, and resolved static inspection / `yoi plugin list/show` に適用。 +- `plugin check` は package declaration inspection、resolved `plugin list/show` は selected/enabled surfaces に基づく reporting に分離。 +- Focused tests added for manifest validation, legacy Tool compatibility, instance state persistence, ingress dispatch, Service/Ingress grant denial, failure diagnostics, and partial enabled-surface static reporting。 + +統合・検証: +- Merge commit: `43c9216e merge: plugin instance lifecycle surface` +- Implementation commits: `147a6005`, `870bcc76`, `79ca0f7f`, `627c8f36` +- Reviewer final verdict: approve +- Validation passed: `cargo fmt --check`, `git diff --check HEAD^1..HEAD`, `cargo test -p manifest plugin -- --nocapture`, `cargo test -p pod plugin -- --nocapture`, `cargo test -p yoi plugin -- --nocapture`, `cargo check -p yoi`, `cargo check -p yoi-plugin-pdk`, template cargo-check, `yoi ticket doctor`, and `nix build .#yoi --no-link`。 + +範囲外: +- Discord Bridge 本体、public registry/install/update/signature tooling、arbitrary Plugin UI channel、hidden context injection、Service/Ingress による model-visible Tool schema mutation は実装していない。 + +---