ticket: route plugin runtime cleanup chain
This commit is contained in:
parent
e2df9f9493
commit
f65f0e3b8f
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"orch-plan-20260624-201247-1","ticket_id":"00001KVXK0WD3","kind":"accepted_plan","accepted_plan":{"summary":"Ticket `00001KVXK0WD3` は dependency chain の先頭で implementation_ready。専用 worktree `/home/hare/Projects/yoi/.worktree/00001KVXK0WD3-remove-legacy-wasm-runtime` と branch `work/00001KVXK0WD3-remove-legacy-wasm-runtime` で、Pod runtime 内の `LegacyToolAdapter` / raw-WASM active execution path を削除し、Component Model path を唯一の active execution path にする。Manifest/CLI diagnostics rejection は後続 `00001KVXK0WDH` の範囲に残す。","branch":"work/00001KVXK0WD3-remove-legacy-wasm-runtime","worktree":"/home/hare/Projects/yoi/.worktree/00001KVXK0WD3-remove-legacy-wasm-runtime","role_plan":"Orchestrator: accept/routing, worktree creation, final integration/validation/cleanup. Coder: remove active legacy raw-WASM runtime path in dedicated child worktree. Reviewer: read-only review focusing on preserving component Tool execution, grants, discovery/enablement/ToolRegistry, and not implementing manifest/CLI rejection slice."},"author":"yoi-orchestrator","at":"2026-06-24T20:12:47Z"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Remove legacy raw WASM Plugin runtime'
|
title: 'Remove legacy raw WASM Plugin runtime'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-24T19:51:56Z'
|
created_at: '2026-06-24T19:51:56Z'
|
||||||
updated_at: '2026-06-24T20:11:56Z'
|
updated_at: '2026-06-24T20:13:18Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-24T20:11:56Z'
|
queued_at: '2026-06-24T20:11:56Z'
|
||||||
|
|
|
||||||
|
|
@ -30,4 +30,78 @@ Marked ready by `yoi ticket state`.
|
||||||
Ticket を `workspace-panel` が queued にしました。
|
Ticket を `workspace-panel` が queued にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: decision author: yoi-orchestrator at: 2026-06-24T20:13:18Z -->
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
Routing decision: implementation_ready
|
||||||
|
|
||||||
|
Reason:
|
||||||
|
- Dashboard Queue により人間が Orchestrator routing を許可した queued Ticket として確認した。
|
||||||
|
- Ticket body は legacy raw `wasm` runtime redesign のうち最初の concrete slice として、Pod runtime 内の `PluginInstanceRuntime::LegacyToolAdapter` 相当 active execution path を削除し、`wasm-component` / Component Model path を唯一の active runtime path にする範囲に限定している。
|
||||||
|
- Manifest / CLI diagnostics rejection、Service / Ingress event queue、WebSocket driver、WIT / PDK / templates は明示的に non-goal / 後続 Ticket に分割されている。
|
||||||
|
- `TicketRelationQuery` は 1 件で、この Ticket は後続 Ticket から参照される dependency chain の先頭であり、blocking outgoing dependency はない。
|
||||||
|
- `TicketOrchestrationPlanQuery` は routing 前 plan 0 件。accepted plan `orch-plan-20260624-201247-1` を記録済み。
|
||||||
|
- bounded context check で `crates/pod/src/feature/plugin.rs` の `LegacyToolAdapter` / raw `wasm` active path、`crates/manifest/src/plugin.rs` と `crates/yoi/src/plugin_cli.rs` の legacy manifest/diagnostic fixtures、docs の transitional runtime 記述を確認した。Ticket は manifest rejection を後続 Ticket に分けているため、残る不確実性は local implementation / test update に収まる。
|
||||||
|
|
||||||
|
Evidence checked:
|
||||||
|
- Ticket body / thread: `item.md`, `thread.md`。thread は create、planning->ready、ready->queued のみで未解決 blocker は記録されていない。
|
||||||
|
- Relations / orchestration plan: relation 1 件(後続 Ticket がこの Ticket に依存する view)、routing 前 plan 0 件。
|
||||||
|
- Code/docs context: `crates/pod/src/feature/plugin.rs` の `LegacyToolAdapter` / raw WASM handling、`crates/manifest/src/plugin.rs` / `crates/yoi/src/plugin_cli.rs` の legacy runtime constants/tests、Plugin docs の current transition notes。
|
||||||
|
- Workspace state: `/home/hare/Projects/yoi/.worktree/orchestration` は clean。inprogress Ticket は 0 件。
|
||||||
|
- Queue context: 他の queued Plugin follow-up Tickets は dependency chain 上でこの Ticket の完了後に進める。
|
||||||
|
|
||||||
|
IntentPacket:
|
||||||
|
|
||||||
|
Intent:
|
||||||
|
- Pod Plugin runtime の active execution path から legacy raw core-WASM Tool adapter を削除し、Plugin Tool execution を Component Model runtime path に一本化する。
|
||||||
|
|
||||||
|
Binding decisions / invariants:
|
||||||
|
- この Ticket では active runtime execution path を整理する。Manifest / CLI の外向き rejection UX は後続 `00001KVXK0WDH` の範囲として残す。
|
||||||
|
- Component Model Plugin Tool execution、Host API grant boundary、package discovery、enablement、digest pinning、ToolRegistry registration は維持する。
|
||||||
|
- raw core-WASM path を compatibility fallback として active execution に残さない。
|
||||||
|
- Service / Ingress event runtime、WebSocket driver、WIT/PDK/templates service event update は実装しない。
|
||||||
|
- broad Plugin redesign や public registry/install/update policy に範囲を広げない。
|
||||||
|
|
||||||
|
Requirements / acceptance criteria:
|
||||||
|
- `PluginInstanceRuntime::LegacyToolAdapter` または同等の legacy raw-WASM adapter が active runtime から削除される。
|
||||||
|
- raw `wasm` runtime を通じた Plugin Tool execution path が使われない。
|
||||||
|
- Component Model Plugin Tool execution tests が通る。
|
||||||
|
- Legacy runtime 削除に伴う dead code / dead tests / obsolete fixtures が整理される。
|
||||||
|
- Discovery / enablement / Tool registration / grant validation の既存挙動が壊れない。
|
||||||
|
|
||||||
|
Implementation latitude:
|
||||||
|
- `PluginInstanceRuntime` enum の shape を単一 component path に畳むか、名前を残して variant を整理するかは既存 code style に合わせてよい。
|
||||||
|
- Manifest layer の legacy constants/tests は、active runtime removal に必要な最小限だけ調整してよい。ただし user-facing rejection/diagnostic completion は後続 Ticket に残す。
|
||||||
|
- Docs の compatibility/transitional wording は、active runtime removal と矛盾する部分を最小限更新してよい。
|
||||||
|
|
||||||
|
Escalate if:
|
||||||
|
- Component Model path だけでは既存 Tool execution / grant validation / ToolRegistry registration を維持できない。
|
||||||
|
- Manifest/CLI outward rejection を同時実装しないと build/test が成立しない。
|
||||||
|
- Wasmtime/component runtime limits or sandbox boundaries を再設計する必要がある。
|
||||||
|
- Service/Ingress/WebSocket/WIT/PDK の設計変更が必要になる。
|
||||||
|
|
||||||
|
Validation:
|
||||||
|
- `cargo test -p pod`
|
||||||
|
- `cargo check -p yoi`
|
||||||
|
- `git diff --check`
|
||||||
|
- `nix build .#yoi --no-link`
|
||||||
|
- 必要に応じて focused Plugin tests / `cargo test -p manifest` / `cargo test -p yoi plugin_cli`。
|
||||||
|
|
||||||
|
Current code/docs map:
|
||||||
|
- Primary: `crates/pod/src/feature/plugin.rs`。
|
||||||
|
- Secondary: `crates/manifest/src/plugin.rs`, `crates/yoi/src/plugin_cli.rs`, Plugin docs/templates only as needed for active runtime removal consistency。
|
||||||
|
- Avoid: full service runtime, WebSocket driver, WIT/PDK event model, remote plugin registry, root/original workspace operations。
|
||||||
|
|
||||||
|
Critical risks / reviewer focus:
|
||||||
|
- legacy raw-WASM execution path accidentally remains as fallback。
|
||||||
|
- Component Model Tool execution regression。
|
||||||
|
- host API grant / digest pinning / enablement / ToolRegistry registration regression。
|
||||||
|
- scope creep into manifest rejection or Service/Ingress runtime beyond this slice。
|
||||||
|
|
||||||
|
Next action:
|
||||||
|
- `queued -> inprogress` を記録してから worktree-workflow で `/home/hare/Projects/yoi/.worktree/00001KVXK0WD3-remove-legacy-wasm-runtime` を作成し、multi-agent-workflow で Coder/Reviewer sibling loop に進める。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"orch-plan-20260624-201335-1","ticket_id":"00001KVXK0WDH","kind":"blocked_by","related_ticket":"00001KVXK0WD3","note":"Queue review: `00001KVXK0WDH` は manifest/CLI rejection slice だが、active legacy runtime path removal `00001KVXK0WD3` に depends_on している。`00001KVXK0WD3` を先に受理し、この Ticket は dependency completion 後に再 routing する。","author":"yoi-orchestrator","at":"2026-06-24T20:13:35Z"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Reject legacy Plugin runtime in manifest and CLI diagnostics'
|
title: 'Reject legacy Plugin runtime in manifest and CLI diagnostics'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-24T19:51:56Z'
|
created_at: '2026-06-24T19:51:56Z'
|
||||||
updated_at: '2026-06-24T20:11:58Z'
|
updated_at: '2026-06-24T20:13:35Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-24T20:11:58Z'
|
queued_at: '2026-06-24T20:11:58Z'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"orch-plan-20260624-201335-1","ticket_id":"00001KVXK0WDQ","kind":"blocked_by","related_ticket":"00001KVXK0WDH","note":"Queue review: `00001KVXK0WDQ` は Service lifecycle / ingress queue runtime slice だが、Component Model-only runtime authority / manifest rejection slice `00001KVXK0WDH` に depends_on している。prerequisite completion 後に再 routing する。","author":"yoi-orchestrator","at":"2026-06-24T20:13:35Z"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Define Plugin Service lifecycle and ingress queue runtime'
|
title: 'Define Plugin Service lifecycle and ingress queue runtime'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-24T19:51:56Z'
|
created_at: '2026-06-24T19:51:56Z'
|
||||||
updated_at: '2026-06-24T20:12:00Z'
|
updated_at: '2026-06-24T20:13:35Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-24T20:12:00Z'
|
queued_at: '2026-06-24T20:12:00Z'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"orch-plan-20260624-201335-1","ticket_id":"00001KVXK0WDX","kind":"blocked_by","related_ticket":"00001KVXK0WDQ","note":"Queue review: `00001KVXK0WDX` は service output command model slice だが、output commands are returned by service ingress dispatch のため `00001KVXK0WDQ` に depends_on している。prerequisite completion 後に再 routing する。","author":"yoi-orchestrator","at":"2026-06-24T20:13:35Z"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Add Plugin service output command model'
|
title: 'Add Plugin service output command model'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-24T19:51:56Z'
|
created_at: '2026-06-24T19:51:56Z'
|
||||||
updated_at: '2026-06-24T20:12:02Z'
|
updated_at: '2026-06-24T20:13:35Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-24T20:12:02Z'
|
queued_at: '2026-06-24T20:12:02Z'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
{"id":"orch-plan-20260624-201335-1","ticket_id":"00001KVXK0WE4","kind":"blocked_by","related_ticket":"00001KVXK0WDQ","note":"Queue review: `00001KVXK0WE4` は WebSocket driver slice だが、service ingress queue `00001KVXK0WDQ` と output command model `00001KVXK0WDX` に depends_on している。両 prerequisite completion 後に再 routing する。","author":"yoi-orchestrator","at":"2026-06-24T20:13:35Z"}
|
||||||
|
{"id":"orch-plan-20260624-201341-2","ticket_id":"00001KVXK0WE4","kind":"blocked_by","related_ticket":"00001KVXK0WDX","note":"Queue review: `00001KVXK0WE4` は output command dispatch/grant model `00001KVXK0WDX` にも depends_on している。`00001KVXK0WDQ` と `00001KVXK0WDX` の両方が完了するまで acceptance しない。","author":"yoi-orchestrator","at":"2026-06-24T20:13:41Z"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Add host-owned WebSocket driver for Plugin services'
|
title: 'Add host-owned WebSocket driver for Plugin services'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-24T19:51:56Z'
|
created_at: '2026-06-24T19:51:56Z'
|
||||||
updated_at: '2026-06-24T20:12:03Z'
|
updated_at: '2026-06-24T20:13:41Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-24T20:12:03Z'
|
queued_at: '2026-06-24T20:12:03Z'
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"id":"orch-plan-20260624-201335-1","ticket_id":"00001KVXK0WEA","kind":"blocked_by","related_ticket":"00001KVXK0WE4","note":"Queue review: `00001KVXK0WEA` は WIT/PDK/templates finishing slice で、implemented WebSocket event/command model `00001KVXK0WE4` に depends_on している。prerequisite completion 後に再 routing する。","author":"yoi-orchestrator","at":"2026-06-24T20:13:35Z"}
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
title: 'Update Plugin WIT PDK templates for service event runtime'
|
title: 'Update Plugin WIT PDK templates for service event runtime'
|
||||||
state: 'queued'
|
state: 'queued'
|
||||||
created_at: '2026-06-24T19:51:56Z'
|
created_at: '2026-06-24T19:51:56Z'
|
||||||
updated_at: '2026-06-24T20:12:05Z'
|
updated_at: '2026-06-24T20:13:35Z'
|
||||||
assignee: null
|
assignee: null
|
||||||
queued_by: 'workspace-panel'
|
queued_by: 'workspace-panel'
|
||||||
queued_at: '2026-06-24T20:12:05Z'
|
queued_at: '2026-06-24T20:12:05Z'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user