From ceb7b95096f6f3aac621ebceeb75f10135bc558a Mon Sep 17 00:00:00 2001 From: Hare Date: Thu, 25 Jun 2026 05:53:14 +0900 Subject: [PATCH] ticket: route plugin manifest rejection --- .../artifacts/orchestration-plan.jsonl | 1 + .yoi/tickets/00001KVXK0WDH/item.md | 2 +- .yoi/tickets/00001KVXK0WDH/thread.md | 77 +++++++++++++++++++ 3 files changed, 79 insertions(+), 1 deletion(-) diff --git a/.yoi/tickets/00001KVXK0WDH/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVXK0WDH/artifacts/orchestration-plan.jsonl index 08df497d..49542432 100644 --- a/.yoi/tickets/00001KVXK0WDH/artifacts/orchestration-plan.jsonl +++ b/.yoi/tickets/00001KVXK0WDH/artifacts/orchestration-plan.jsonl @@ -1 +1,2 @@ {"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"} +{"id":"orch-plan-20260624-205226-2","ticket_id":"00001KVXK0WDH","kind":"accepted_plan","accepted_plan":{"summary":"Ticket `00001KVXK0WDH` は prerequisite `00001KVXK0WD3` が done になったため implementation_ready。専用 worktree `/home/hare/Projects/yoi/.worktree/00001KVXK0WDH-plugin-manifest-reject-legacy` と branch `work/00001KVXK0WDH-plugin-manifest-reject-legacy` で、legacy raw `wasm` / `yoi-plugin-wasm-1` manifest/CLI diagnostics を拒否・整理する。Service/Ingress/WebSocket/WIT/PDK runtime work は後続 Tickets に残す。","branch":"work/00001KVXK0WDH-plugin-manifest-reject-legacy","worktree":"/home/hare/Projects/yoi/.worktree/00001KVXK0WDH-plugin-manifest-reject-legacy","role_plan":"Orchestrator: accept/routing, worktree creation, final integration/validation/cleanup. Coder: manifest/CLI/docs diagnostics implementation in dedicated child worktree. Reviewer: read-only review focusing on clear legacy rejection, component package non-regression, no runtime-scope creep."},"author":"yoi-orchestrator","at":"2026-06-24T20:52:26Z"} diff --git a/.yoi/tickets/00001KVXK0WDH/item.md b/.yoi/tickets/00001KVXK0WDH/item.md index 3755d988..bf831fef 100644 --- a/.yoi/tickets/00001KVXK0WDH/item.md +++ b/.yoi/tickets/00001KVXK0WDH/item.md @@ -2,7 +2,7 @@ title: 'Reject legacy Plugin runtime in manifest and CLI diagnostics' state: 'queued' created_at: '2026-06-24T19:51:56Z' -updated_at: '2026-06-24T20:13:35Z' +updated_at: '2026-06-24T20:52:56Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-24T20:11:58Z' diff --git a/.yoi/tickets/00001KVXK0WDH/thread.md b/.yoi/tickets/00001KVXK0WDH/thread.md index 179c604c..a468f7d6 100644 --- a/.yoi/tickets/00001KVXK0WDH/thread.md +++ b/.yoi/tickets/00001KVXK0WDH/thread.md @@ -30,4 +30,81 @@ Marked ready by `yoi ticket state`. Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: implementation_ready + +Reason: +- Dashboard Queue により人間が Orchestrator routing を許可した queued Ticket として確認した。 +- この Ticket は legacy Plugin runtime redesign chain の 2 番目の concrete slice で、manifest validation / CLI diagnostics / docs cleanup に範囲が限定されている。 +- outgoing `depends_on` は `00001KVXK0WD3` だが、`00001KVXK0WD3` は done / merged / reviewed / validated 済み。`TicketShow` derived blockers は空で、implementation acceptance blocker は残っていない。 +- incoming dependent `00001KVXK0WDQ` はこの Ticket 完了後に進めるべき後続であり、この Ticket の acceptance blocker ではない。 +- `TicketOrchestrationPlanQuery` には以前の `blocked_by 00001KVXK0WD3` があるが、prerequisite 完了により解消済みとして扱い、accepted plan `orch-plan-20260624-205226-2` を記録した。 +- bounded context check で current orchestration branch の `crates/manifest/src/plugin.rs`, `crates/yoi/src/plugin_cli.rs`, `docs/development/plugin-development.md`, `docs/design/plugin-component-model.md`, `docs/design/plugin-packages.md` 周辺に raw `wasm` / `yoi-plugin-wasm-1` / transitional wording が残っていることを確認した。Ticket の scope はこれらの outward schema/diagnostic/docs 整理として十分に具体的。 + +Evidence checked: +- Ticket body / thread: `item.md`, `thread.md`。未解決 planning question は記録されていない。 +- Relations / orchestration plan: outgoing depends_on `00001KVXK0WD3` は done。incoming dependent `00001KVXK0WDQ` は後続。 +- Related Ticket: `00001KVXK0WD3` は done。active legacy runtime fallback removal completed with corrected merge commit `bedbb670`。 +- Code/docs context: `crates/manifest/src/plugin.rs`, `crates/yoi/src/plugin_cli.rs`, `docs/development/plugin-development.md`, `docs/design/plugin-component-model.md`, `docs/design/plugin-packages.md`。 +- Workspace state: `/home/hare/Projects/yoi/.worktree/orchestration` は clean。inprogress Ticket は 0 件。 + +IntentPacket: + +Intent: +- Legacy raw `wasm` / `yoi-plugin-wasm-1` Plugin runtime を external manifest/schema/CLI/docs surface でも rejected/retired として扱い、Component Model `wasm-component` を正の public/recommended runtime に一本化する。 + +Binding decisions / invariants: +- `00001KVXK0WD3` の active runtime removal を前提にする。raw-WASM execution fallback を戻さない。 +- `runtime.kind = "wasm-component"` が positive accepted runtime kind。 +- legacy raw `wasm` / `yoi-plugin-wasm-1` は new/current Plugin package として validation/inspection/check/list/show 上曖昧に active 表示しない。 +- Component Model package の `check/list/show`、package discovery、digest, grants, Tool schema diagnostics は regress させない。 +- Service / Ingress runtime、WebSocket driver、WIT/PDK/templates service event update は実装しない。 + +Requirements / acceptance criteria: +- Legacy raw `wasm` runtime manifest が validation/check で明確に rejected/unsupported になる。 +- `yoi plugin check` は legacy package を invalid/unsupported として bounded diagnostic し、exit behavior が current check semantics と整合する。 +- `yoi plugin list/show` は legacy package を有効/active Plugin として曖昧に表示しない。 +- Component Model packages の check/list/show は通る。 +- docs/design / docs/development / templates/examples から raw core-Wasm compatibility bridge 前提を削除または撤回済み方針に更新する。 +- Manifest schema / static inspection / error message tests を更新する。 + +Implementation latitude: +- `PLUGIN_RUNTIME_WASM_KIND` / `PLUGIN_RUNTIME_WASM_ABI` constants を削除するか、legacy rejection diagnostic 用に internal-only に残すかは code style と tests に合わせてよい。 +- Legacy fixture は削除または rejected fixture に変換してよい。 +- CLI human/json diagnostic wording は bounded and clear であれば具体文言は coder が選んでよい。 + +Escalate if: +- Manifest parser cannot reject legacy runtime without breaking component packages。 +- Plugin list/show architecture cannot represent rejected package diagnostics without broader API redesign。 +- Implementing rejection requires Service/Ingress/WebSocket/WIT/PDK changes。 +- Existing closed Ticket constraints force raw core-Wasm compatibility to remain externally supported。 + +Validation: +- `cargo test -p manifest` +- `cargo test -p yoi` +- `cargo check -p yoi` +- `git diff --check` +- `nix build .#yoi --no-link` +- Add/run focused plugin CLI/check/list/show tests as appropriate。 + +Current code/docs map: +- Primary: `crates/manifest/src/plugin.rs`, `crates/yoi/src/plugin_cli.rs`。 +- Secondary: `docs/development/plugin-development.md`, `docs/design/plugin-component-model.md`, `docs/design/plugin-packages.md`, plugin templates/examples only as needed。 +- Avoid: `crates/pod` active runtime implementation unless minimal diagnostic alignment is needed; Service/Ingress/WebSocket/WIT/PDK event model。 + +Critical risks / reviewer focus: +- legacy package still appears active/eligible in CLI inspection。 +- component package check/list/show regression。 +- raw-WASM execution fallback being reintroduced。 +- diagnostic wording that implies compatibility support remains。 +- scope creep into later service runtime Tickets。 + +Next action: +- `queued -> inprogress` を記録してから worktree-workflow で `/home/hare/Projects/yoi/.worktree/00001KVXK0WDH-plugin-manifest-reject-legacy` を作成し、multi-agent-workflow で Coder/Reviewer sibling loop に進める。 + ---