From 4bf6b1bf0fd17b3c459ed3dd50c3b96c703f3ccb Mon Sep 17 00:00:00 2001 From: Hare Date: Fri, 19 Jun 2026 23:02:48 +0900 Subject: [PATCH] ticket: request plugin cli missing-diagnostic changes --- .yoi/tickets/00001KVFD3YSV/item.md | 2 +- .yoi/tickets/00001KVFD3YSV/thread.md | 49 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/.yoi/tickets/00001KVFD3YSV/item.md b/.yoi/tickets/00001KVFD3YSV/item.md index 508de9f2..5d0526f7 100644 --- a/.yoi/tickets/00001KVFD3YSV/item.md +++ b/.yoi/tickets/00001KVFD3YSV/item.md @@ -2,7 +2,7 @@ title: 'Plugin: add read-only CLI inspection list/show' state: 'inprogress' created_at: '2026-06-19T07:39:23Z' -updated_at: '2026-06-19T13:54:49Z' +updated_at: '2026-06-19T14:02:39Z' assignee: null readiness: 'implementation_ready' risk_flags: ['plugin', 'cli', 'diagnostics', 'read-only', 'json-output', 'no-execution'] diff --git a/.yoi/tickets/00001KVFD3YSV/thread.md b/.yoi/tickets/00001KVFD3YSV/thread.md index 9544d085..8faddad3 100644 --- a/.yoi/tickets/00001KVFD3YSV/thread.md +++ b/.yoi/tickets/00001KVFD3YSV/thread.md @@ -982,3 +982,52 @@ Next: - Reviewer output を確認し、approve なら Orchestrator worktree への merge/validation/cleanup/close-ready 処理へ進む。request_changes なら blocker を記録して Coder に戻す。 --- + + + +## Review: request changes + +Review result: request_changes + +対象: +- Ticket: `00001KVFD3YSV` +- branch: `impl/00001KVFD3YSV-plugin-cli-inspection` +- commits: + - `462de32a` — `plugin: add cli inspection` + - `b5f10ab7` — `plugin: align inspection statuses` + - `dfa966db` — `plugin: report inspection package metadata` + - `982a1b75` — `plugin: validate inspected tool schemas` + - `a5f3b0b5` — `plugin: reject configured invalid packages` + +Result: request_changes + +Blocker: +- `missing` is still not limited to truly absent configured/enabled package refs. + +Evidence: +- `crates/yoi/src/plugin_cli.rs` classifies configured-but-not-discovered items as `rejected` only when any diagnostic kind is not `"missing"`; otherwise it reports `missing`. +- Discovery/manifest diagnostics for an existing invalid package can also have kind `Missing`, for example: + - package file exists but root `plugin.toml` is absent; + - package file exists and manifest references a missing path/runtime entry. +- Those diagnostics are attached back to the package item by source/package label. +- Therefore an enabled `project:foo` with `.yoi/plugins/foo.yoi-plugin` present but missing `plugin.toml`, or with a manifest referencing a missing entry, can still be reported as `[missing]` rather than `[rejected]`. +- The new test covers malformed TOML and incompatible API/schema cases, but not invalid packages whose diagnostic kind is `missing`. + +Why this blocks acceptance: +- Ticket semantics require `missing` only for truly absent enabled/configured package refs. +- Existing-but-invalid packages with missing internal files or missing referenced runtime entries should be `rejected` with diagnostics, not `missing`. + +Prior fixes still appear intact: +- Status strings are limited to `partial`, `active`, `rejected`, `disabled`, `missing`. +- Package path/schema/API fields are present in list/show and tested. +- Tool name / `input_schema` static validation is preserved and tested. +- Read-only/static inspection path is preserved. +- Diagnostics/list output remain bounded. +- Future `https` / `fs` host API inspection remains structurally represented. + +Requested changes: +- Distinguish truly absent enabled package refs from present-but-invalid package diagnostics even when diagnostic kind is `missing`. +- Add JSON and human-output coverage for configured package-present-but-invalid cases such as missing root `plugin.toml` and/or missing referenced runtime entry. +- Preserve all prior fixes and validation behavior. + +---