diff --git a/.yoi/tickets/00001KVHR3WSN/item.md b/.yoi/tickets/00001KVHR3WSN/item.md index 9dc8e749..9e7e06b4 100644 --- a/.yoi/tickets/00001KVHR3WSN/item.md +++ b/.yoi/tickets/00001KVHR3WSN/item.md @@ -1,8 +1,8 @@ --- title: 'MCP: expose resources and prompts as explicit tool operations' -state: 'done' +state: 'closed' created_at: '2026-06-20T05:30:04Z' -updated_at: '2026-06-20T10:04:54Z' +updated_at: '2026-06-20T10:05:16Z' assignee: null readiness: 'implementation_ready' risk_flags: ['mcp', 'resources', 'prompts', 'prompt-context', 'history', 'untrusted-content'] diff --git a/.yoi/tickets/00001KVHR3WSN/resolution.md b/.yoi/tickets/00001KVHR3WSN/resolution.md new file mode 100644 index 00000000..c007e38f --- /dev/null +++ b/.yoi/tickets/00001KVHR3WSN/resolution.md @@ -0,0 +1,38 @@ +## Resolution + +`00001KVHR3WSN` を完了しました。 + +実装内容: +- MCP `resources/list`, `resources/read`, `prompts/list`, `prompts/get` の typed protocol structs / helpers を追加しました。 +- Server capabilities に応じて explicit namespaced Yoi tools を登録します。 + - `Mcp__resources_list` + - `Mcp__resources_read` + - `Mcp__prompts_list` + - `Mcp__prompts_get` +- Resources/prompts operations は ordinary Tool path / `ToolOutput` を通って実行されます。 +- Returned resources / prompt templates / prompt messages は untrusted Tool result data として serialization され、hidden context injection はありません。 +- Result serialization は list items、resource contents、prompt messages、text fields、`_meta`、structured JSON depth/node count、rich blobs/images/audio、final output bytes を bounded に扱います。 +- Capability が advertise されていない operation は model-visible tool として expose されません。 +- `list_changed` refresh、sampling、elicitation は実装していません。 + +主な commit: +- `3a22360a mcp: expose resources prompts tools` +- `4a4590f8 merge: mcp resources prompts tools` + +Review: +- r1 は `approve`。 +- Reviewer は explicit Tool operations、ordinary `ToolOutput` path、no hidden context injection、untrusted/bounded serialization、capability-gated registration、no sampling/elicitation/list_changed scope creep を確認しました。 + +最終 validation: +- `cargo fmt --all --check` +- `git diff --check HEAD^1..HEAD` +- `cargo test -p pod mcp::tests` +- `cargo test -p mcp` +- `cargo check -p pod -p mcp` +- `nix build .#yoi --no-link` + +Package impact: +- `nix path-info -S .#yoi`: `113403880` + +Validation log: +- `/run/user/1000/yoi/yoi-orchestrator/bash-output/bash-4oVSE2.log` \ No newline at end of file diff --git a/.yoi/tickets/00001KVHR3WSN/thread.md b/.yoi/tickets/00001KVHR3WSN/thread.md index c6f52528..b26a46f8 100644 --- a/.yoi/tickets/00001KVHR3WSN/thread.md +++ b/.yoi/tickets/00001KVHR3WSN/thread.md @@ -279,3 +279,57 @@ Final state: Implementation was merged into Orchestrator branch at `4a4590f8`, review approved, and final Orchestrator validation passed: `cargo fmt --all --check`, `git diff --check HEAD^1..HEAD`, `cargo test -p pod mcp::tests`, `cargo test -p mcp`, `cargo check -p pod -p mcp`, and `nix build .#yoi --no-link`. --- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +## Resolution + +`00001KVHR3WSN` を完了しました。 + +実装内容: +- MCP `resources/list`, `resources/read`, `prompts/list`, `prompts/get` の typed protocol structs / helpers を追加しました。 +- Server capabilities に応じて explicit namespaced Yoi tools を登録します。 + - `Mcp__resources_list` + - `Mcp__resources_read` + - `Mcp__prompts_list` + - `Mcp__prompts_get` +- Resources/prompts operations は ordinary Tool path / `ToolOutput` を通って実行されます。 +- Returned resources / prompt templates / prompt messages は untrusted Tool result data として serialization され、hidden context injection はありません。 +- Result serialization は list items、resource contents、prompt messages、text fields、`_meta`、structured JSON depth/node count、rich blobs/images/audio、final output bytes を bounded に扱います。 +- Capability が advertise されていない operation は model-visible tool として expose されません。 +- `list_changed` refresh、sampling、elicitation は実装していません。 + +主な commit: +- `3a22360a mcp: expose resources prompts tools` +- `4a4590f8 merge: mcp resources prompts tools` + +Review: +- r1 は `approve`。 +- Reviewer は explicit Tool operations、ordinary `ToolOutput` path、no hidden context injection、untrusted/bounded serialization、capability-gated registration、no sampling/elicitation/list_changed scope creep を確認しました。 + +最終 validation: +- `cargo fmt --all --check` +- `git diff --check HEAD^1..HEAD` +- `cargo test -p pod mcp::tests` +- `cargo test -p mcp` +- `cargo check -p pod -p mcp` +- `nix build .#yoi --no-link` + +Package impact: +- `nix path-info -S .#yoi`: `113403880` + +Validation log: +- `/run/user/1000/yoi/yoi-orchestrator/bash-output/bash-4oVSE2.log` + +---