From bdd05dce4d0223a101f841d0fb3c6b1369a96702 Mon Sep 17 00:00:00 2001 From: Hare Date: Thu, 25 Jun 2026 06:44:06 +0900 Subject: [PATCH] ticket: record plugin service implementation report --- .yoi/tickets/00001KVXK0WDQ/item.md | 2 +- .yoi/tickets/00001KVXK0WDQ/thread.md | 66 ++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/.yoi/tickets/00001KVXK0WDQ/item.md b/.yoi/tickets/00001KVXK0WDQ/item.md index d670c43e..5167e972 100644 --- a/.yoi/tickets/00001KVXK0WDQ/item.md +++ b/.yoi/tickets/00001KVXK0WDQ/item.md @@ -2,7 +2,7 @@ title: 'Define Plugin Service lifecycle and ingress queue runtime' state: 'inprogress' created_at: '2026-06-24T19:51:56Z' -updated_at: '2026-06-24T21:24:10Z' +updated_at: '2026-06-24T21:43:56Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-24T20:12:00Z' diff --git a/.yoi/tickets/00001KVXK0WDQ/thread.md b/.yoi/tickets/00001KVXK0WDQ/thread.md index 1ddb9e0e..1998567d 100644 --- a/.yoi/tickets/00001KVXK0WDQ/thread.md +++ b/.yoi/tickets/00001KVXK0WDQ/thread.md @@ -136,3 +136,69 @@ Implementation orchestration update: - Coder には root/original workspace と orchestration worktree で read/write/validation/git operation を行わないよう明示した。 --- + + + +## Implementation report + +Implementation report: + +対象 Ticket: +- `00001KVXK0WDQ` — Define Plugin Service lifecycle and ingress queue runtime + +変更ファイル: +- `crates/pod/src/feature/plugin.rs` + +主な実装: +- Plugin Service の host-managed lifecycle を追加。 + - `Ready / Starting / Running / Stopping / Stopped / Failed` +- in-process bounded ingress queue を追加。 + - v0 は per-plugin serial dispatch。 + - Tool Plugin 実行は従来通り request-response のまま維持。 +- `PluginIngressEvent` に以下を追加。 + - `source` + - `ingress_name` + - `payload` + - `created_at` + - `attempt` + - `correlation_id` +- typed ingress dispatch error / diagnostic を追加。 + - invalid event + - queue full + - service unavailable / failed / stopped + - dispatch timeout + - dispatch failure +- status diagnostics に以下を追加。 + - lifecycle state + - queue depth / capacity + - last error + - dispatch counters +- Unit tests を追加・更新。 + - lifecycle start/stop/failure + - bounded queue full + - serial dispatch + - timeout diagnostic + - dispatch failure diagnostic + - stopped service rejection + - invalid event rejection + - Tool execution regression + +Commit: +- `4e138b7e365d940bf31397aa64cf14a58b6bc51a feat: add plugin service ingress queue` + +Validation: +- `cargo test -p pod feature::plugin::tests`: success (`73 passed`) +- `cargo check -p yoi`: success +- `git diff --check`: success +- `git diff --check HEAD~1 HEAD`: success +- `nix build .#yoi --no-link`: success +- `cargo test -p pod`: failed in existing prompt guidance assertions outside this Ticket: + - `prompt::catalog::tests::pod_orchestration_guidance_section_renders_resource_body` + - `prompt::system::tests::pod_orchestration_guidance_is_included_for_pod_management_tools` + - failure: `assertion failed: rendered.contains("worktree status, diff, and test results")` + +Residual risks / notes: +- Full `cargo test -p pod` remains blocked by unrelated prompt/resource snapshot assertions; Plugin-focused tests pass. +- v0 dispatch timeout is implemented as elapsed check after synchronous dispatch completion and typed diagnostic. Force-cancelling executing Wasm in a separate worker is broader runtime redesign and remains non-goal. + +---