---
title: 'Reject legacy Plugin runtime in manifest and CLI diagnostics'
state: 'done'
created_at: '2026-06-24T19:51:56Z'
updated_at: '2026-06-24T21:20:45Z'
assignee: null
queued_by: 'workspace-panel'
queued_at: '2026-06-24T20:11:58Z'
---

## 背景

Plugin runtime は public release 前に `wasm-component` へ一本化する。runtime implementation から legacy raw `wasm` path を削除しても、Manifest parser / validator / `yoi plugin check/list/show` が legacy runtime を曖昧に受け付けると、ユーザー向け API と実装方針がズレる。

この Ticket では、legacy runtime を外向き schema / diagnostics でも明示的に拒否し、docs / fixtures から transitional wording を消す。

## 要件

- `plugin.toml` の runtime validation で legacy raw `wasm` / `yoi-plugin-wasm-1` を新規 Plugin runtime として受け付けない。
- `runtime.kind = "wasm-component"` を正の runtime kind として扱う。
- `yoi plugin check` は legacy runtime を invalid / unsupported として分かりやすく報告する。
- `yoi plugin list/show` は legacy package を有効 Plugin として曖昧に表示しない。
- docs/design / docs/development / templates / examples から「raw core-Wasm compatibility bridge を残す」前提の記述を削除または撤回済み方針に更新する。
- Manifest schema / static inspection / error message tests を更新する。

## Non-goals

- Runtime internal の legacy adapter 削除そのもの。
- Service / Ingress event runtime の実装。
- WebSocket driver の実装。
- PDK API の全面更新。

## 受け入れ条件

- Legacy raw `wasm` runtime manifest が validation で拒否される。
- `yoi-plugin-wasm-1` ABI は current public/recommended Plugin API として表示されない。
- `yoi plugin check/list/show` が legacy runtime package を安全かつ明確に diagnostic する。
- Component Model package の check/list/show は regress しない。
- Plugin objective / design / development docs が Component Model only 方針と整合している。
- Legacy runtime 前提の fixtures が削除または rejected fixture として更新されている。
- `cargo test -p manifest`、`cargo test -p yoi`、`cargo check -p yoi`、`git diff --check`、`nix build .#yoi --no-link` が通る。
