diff --git a/.yoi/tickets/00001KVJKHAFE/artifacts/orchestration-plan.jsonl b/.yoi/tickets/00001KVJKHAFE/artifacts/orchestration-plan.jsonl new file mode 100644 index 00000000..2b82bfa9 --- /dev/null +++ b/.yoi/tickets/00001KVJKHAFE/artifacts/orchestration-plan.jsonl @@ -0,0 +1 @@ +{"id":"orch-plan-20260620-133128-1","ticket_id":"00001KVJKHAFE","kind":"accepted_plan","accepted_plan":{"summary":"`yoi mcp` CLI namespaceを追加し、resolved MCP server config、trust policy、static diagnostics、provider-discovered tools/resources/prompts eligibility、live/unavailable stateを bounded human/JSON outputで inspectionできるようにする。CLIはMCP serverを起動せず、tools/call/resources/read/prompts/getを直接実行しない。","branch":"impl/00001KVJKHAFE-mcp-cli-inspection","worktree":"/home/hare/Projects/yoi/.worktree/00001KVJKHAFE-mcp-cli-inspection","role_plan":"Orchestrator は Plugin instance lifecycle work と並行して専用 implementation worktree `.worktree/00001KVJKHAFE-mcp-cli-inspection` を作成し、Coder をその child worktree への narrow write scope で起動する。Coder 実装後、Reviewer が read-only inspection境界、no server spawn/no tool execution/no content fetch、secret/content redaction、static-vs-live status表現、JSON shape、help/test/Nixを確認する。"},"author":"yoi-orchestrator","at":"2026-06-20T13:31:28Z"} diff --git a/.yoi/tickets/00001KVJKHAFE/item.md b/.yoi/tickets/00001KVJKHAFE/item.md index 3140f271..35255519 100644 --- a/.yoi/tickets/00001KVJKHAFE/item.md +++ b/.yoi/tickets/00001KVJKHAFE/item.md @@ -1,8 +1,8 @@ --- title: 'MCP: add yoi CLI inspection commands' -state: 'queued' +state: 'inprogress' created_at: '2026-06-20T13:29:16Z' -updated_at: '2026-06-20T13:31:00Z' +updated_at: '2026-06-20T13:32:15Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-20T13:31:00Z' diff --git a/.yoi/tickets/00001KVJKHAFE/thread.md b/.yoi/tickets/00001KVJKHAFE/thread.md index 6b1562f4..7af268d3 100644 --- a/.yoi/tickets/00001KVJKHAFE/thread.md +++ b/.yoi/tickets/00001KVJKHAFE/thread.md @@ -30,4 +30,68 @@ Marked ready by `yoi ticket state`. Ticket を `workspace-panel` が queued にしました。 +--- + + + +## Decision + +Routing decision: implementation_ready_parallel + +Reason: +- Workspace Dashboard Queue により、この Ticket は Orchestrator routing 対象として明示許可された。 +- User standing directive: blocker が無いものは並列実行する。現在 `00001KVJHYP4Q` Plugin instance lifecycle Coder が inprogress だが、この Ticket は MCP CLI inspection namespaceであり直接 dependency/conflict はない。Potential shared CLI parser edits are manageable in separate worktree and will be resolved at merge/review boundary。 +- Ticket body は `yoi mcp` namespace、list/show/tools/resources/prompts commands、human/JSON output、workspace/profile resolution、read-only inspection boundary、static-vs-live availability、secret/content redaction、acceptance testsを実装可能な粒度で定義している。 +- 未解決 blocker relation はない。Relations are `related` context to completed MCP foundation Tickets。 +- Orchestrator worktree は clean、matching branch/worktree はなし。 +- Risk domain は CLI / MCP / inspection / secrets / read-only boundary だが、Ticket は no server process start、no tool execution、no resources/prompts content fetch、secrets/content non-printing、bounded outputを明示している。bounded context check 後も implementation 前に必要な追加 human decision は見つからなかった。 + +Evidence checked: +- Ticket `00001KVJKHAFE` body / thread / relations / artifacts。 +- `TicketRelationQuery(00001KVJKHAFE)`: only non-blocking `related` records to completed MCP config/lifecycle/tools/resources/list_changed Tickets。 +- `TicketOrchestrationPlanQuery(00001KVJKHAFE)`: no previous plan records; accepted plan recorded now。 +- Workspace state: + - Orchestrator worktree clean at `142fdffb`。 + - queued: this Ticket only。 + - inprogress: `00001KVJHYP4Q` Plugin instance lifecycle。 + - visible spawned child: `yoi-coder-00001KVJHYP4Q` running。 + - no matching MCP CLI branch/worktree。 + +IntentPacket: + +Intent: +- Add read-only `yoi mcp` CLI inspection namespace for configured/resolved MCP servers and provider-discovered tools/resources/prompts eligibility。 +- Provide bounded human-readable and JSON reports without bypassing runtime Tool/resource/prompt paths。 + +Binding decisions / invariants: +- CLI inspection must not start MCP server processes。 +- CLI inspection must not call MCP tools or fetch resource/prompt content。 +- Static config/resolution and live Pod state must be distinguished explicitly。 +- If live state is unavailable/unimplemented, output must say `not live` / `unavailable`, not silently stale。 +- Secrets, resolved secret/env values, resource contents, and prompt full text must not be printed in human or JSON output。 +- External server descriptions/schemas/annotations are untrusted and bounded/truncated。 +- Keep MCP separate from Plugin CLI namespace。 +- No Streamable HTTP/OAuth/sampling/elicitation/install/update/distribution implementation。 + +Requirements / acceptance criteria: +- `yoi --help` shows MCP CLI namespace。 +- `yoi mcp list --json` returns resolved MCP server bounded structured report。 +- `yoi mcp show --json` returns server identity, transport kind, trust policy summary, capabilities summary, diagnostics。 +- `yoi mcp tools [] --json` returns Yoi stable tool name, MCP server/tool identity, schema availability, registration status/diagnostics。 +- `yoi mcp resources [] --json` and `yoi mcp prompts [] --json` return summaries/eligibility without content fetch。 +- Human-readable output distinguishes empty/missing/invalid/unavailable。 +- Focused CLI tests cover list/show/tools/resources/prompts, missing server, invalid config, JSON output, and secret/content non-leakage。 +- Validation includes fmt, focused tests, check, diff, TicketDoctor, Nix build。 + +Next action: +- Record `queued -> inprogress` and commit Ticket records before creating implementation worktree and spawning Coder。 + +--- + + + +## State changed + +Ticket body/thread, relation metadata, Orchestrator worktree state, visible Pods, existing branch/worktree, and bounded MCP CLI inspection context were checked. There is no unresolved blocking dependency, no direct conflict with current Plugin instance lifecycle work, no matching worktree/branch, and no missing planning decision. Accepting this queued Ticket for parallel implementation before worktree/Pod side effects. + ---