ticket: close plugin component model runtime

This commit is contained in:
Keisuke Hirata 2026-06-20 02:23:35 +09:00
parent 54a91f1b7e
commit c8877b49a4
No known key found for this signature in database
3 changed files with 102 additions and 2 deletions

View File

@ -1,8 +1,8 @@
---
title: 'Plugin: migrate WASM Tool runtime to WebAssembly Component Model'
state: 'done'
state: 'closed'
created_at: '2026-06-19T13:18:58Z'
updated_at: '2026-06-19T17:23:13Z'
updated_at: '2026-06-19T17:23:31Z'
assignee: null
readiness: 'implementation_ready'
risk_flags: ['plugin', 'wasm', 'component-model', 'wit', 'runtime-backend', 'sandbox', 'packaging', 'sdk']

View File

@ -0,0 +1,42 @@
## Resolution
`00001KVG0HR96` を完了しました。
実装内容:
- Plugin manifest/runtime metadata に明示的な Component Model runtime (`kind = "wasm-component"`) を追加しました。
- 既存 raw core-Wasm runtime (`kind = "wasm"`, `abi = "yoi-plugin-wasm-1"`) は明示的に維持しました。
- `wasmtime::component` による Component Tool execution path を追加しました。
- Component Tool は既存 ToolRegistry / Worker Tool path を通って実行され、hidden context injection はありません。
- WIT host imports は権限そのものではなく、Plugin grants が Tool execution / host API use の authority boundary のままです。
- Component runtime に raw runtime 相当の Wasmtime resource limits を追加し、memory/table/instance/output bound の negative tests を追加しました。
- WASI fs/network/env は expose していません。
- `yoi plugin list/show` static inspection は Component runtime metadata を報告し、component artifact を実行しません。
- WIT files、Component sample authoring sketch、docs/design updates、package/Nix updates を追加しました。
- JSON-string WIT v1 request/response shape は migration bridge として docs に記録し、structured records は follow-up に deferred としました。
主な commit:
- `57bbf14e plugin: implement component model runtime`
- `a705bb3b plugin: bound component model runtime resources`
- `63d7ad78 merge: plugin component model runtime`
Review:
- r1 は Component runtime resource limit 不足で `request_changes`
- Coder が resource limiter / negative tests / docs note を追加。
- r2 は `approve`
最終 validation:
- `cargo fmt --check`
- `git diff --check HEAD^1..HEAD`
- `cargo check`
- `cargo test -p pod feature::plugin::tests -- --nocapture`
- `cargo test -p manifest plugin -- --nocapture`
- `cargo test -p yoi plugin -- --nocapture`
- `nix build .#yoi --no-link`
Package impact:
- `nix path-info -S .#yoi`: `112156120`
- `bin/yoi`: `54605944`
- output dir: `53M`
Validation log:
- `/run/user/1000/yoi/yoi-orchestrator/bash-output/bash-rZDseu.log`

View File

@ -404,3 +404,61 @@ Final state:
Implementation was merged into Orchestrator branch at `63d7ad78`, r2 review approved, and final Orchestrator validation passed: `cargo fmt --check`, `git diff --check HEAD^1..HEAD`, `cargo check`, focused Plugin tests for `pod`/`manifest`/`yoi`, and `nix build .#yoi --no-link`.
---
<!-- event: state_changed author: hare at: 2026-06-19T17:23:31Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-19T17:23:31Z status: closed -->
## 完了
## Resolution
`00001KVG0HR96` を完了しました。
実装内容:
- Plugin manifest/runtime metadata に明示的な Component Model runtime (`kind = "wasm-component"`) を追加しました。
- 既存 raw core-Wasm runtime (`kind = "wasm"`, `abi = "yoi-plugin-wasm-1"`) は明示的に維持しました。
- `wasmtime::component` による Component Tool execution path を追加しました。
- Component Tool は既存 ToolRegistry / Worker Tool path を通って実行され、hidden context injection はありません。
- WIT host imports は権限そのものではなく、Plugin grants が Tool execution / host API use の authority boundary のままです。
- Component runtime に raw runtime 相当の Wasmtime resource limits を追加し、memory/table/instance/output bound の negative tests を追加しました。
- WASI fs/network/env は expose していません。
- `yoi plugin list/show` static inspection は Component runtime metadata を報告し、component artifact を実行しません。
- WIT files、Component sample authoring sketch、docs/design updates、package/Nix updates を追加しました。
- JSON-string WIT v1 request/response shape は migration bridge として docs に記録し、structured records は follow-up に deferred としました。
主な commit:
- `57bbf14e plugin: implement component model runtime`
- `a705bb3b plugin: bound component model runtime resources`
- `63d7ad78 merge: plugin component model runtime`
Review:
- r1 は Component runtime resource limit 不足で `request_changes`
- Coder が resource limiter / negative tests / docs note を追加。
- r2 は `approve`
最終 validation:
- `cargo fmt --check`
- `git diff --check HEAD^1..HEAD`
- `cargo check`
- `cargo test -p pod feature::plugin::tests -- --nocapture`
- `cargo test -p manifest plugin -- --nocapture`
- `cargo test -p yoi plugin -- --nocapture`
- `nix build .#yoi --no-link`
Package impact:
- `nix path-info -S .#yoi`: `112156120`
- `bin/yoi`: `54605944`
- output dir: `53M`
Validation log:
- `/run/user/1000/yoi/yoi-orchestrator/bash-output/bash-rZDseu.log`
---