diff --git a/.yoi/tickets/20260609-093050-001/item.md b/.yoi/tickets/20260609-093050-001/item.md index 0dad582c..0f767e25 100644 --- a/.yoi/tickets/20260609-093050-001/item.md +++ b/.yoi/tickets/20260609-093050-001/item.md @@ -1,8 +1,8 @@ --- title: 'Tool実行にToolExecutionContextを渡す' -state: 'inprogress' +state: 'closed' created_at: '2026-06-09T09:30:50Z' -updated_at: '2026-06-09T10:43:02Z' +updated_at: '2026-06-09T10:46:50Z' assignee: null queued_by: 'workspace-panel' queued_at: '2026-06-09T10:01:00Z' diff --git a/.yoi/tickets/20260609-093050-001/resolution.md b/.yoi/tickets/20260609-093050-001/resolution.md new file mode 100644 index 00000000..95d92b87 --- /dev/null +++ b/.yoi/tickets/20260609-093050-001/resolution.md @@ -0,0 +1,29 @@ +Implemented, reviewed, merged, and validated. + +Summary: +- Added `ToolExecutionContext` with `call_id`, `batch_id`, and `call_index`. +- Changed Tool execution APIs so `Tool::execute` / `ToolServer::call_tool` receive execution context. +- Worker assigns one response-local batch id per approved tool-call batch and preserves LLM-returned call order with `call_index`. +- Approved tool calls still execute in parallel; no scheduler, same-file mutex, mutation queue, conflict solver, or `parallel_tool_calls=false` behavior was added. +- `ToolCallInfo` / `ToolResultInfo` expose context metadata. +- Macro-generated tools can receive `ToolExecutionContext` as a non-schema parameter; context is not exposed as an LLM JSON argument. +- Built-in tools and tests were migrated to the new API. + +Implementation: +- Coder commit: `d8aed7b tool: add execution context` +- Reviewer approved with no blocking findings. +- Merge commit: `4744548 merge: add tool execution context` + +Validation after merge: +- `cargo test -p llm-worker --test parallel_execution_test test_tool_execution_context -- --nocapture` +- `cargo test -p llm-worker --test parallel_execution_test test_parallel_tool_execution -- --nocapture` +- `cargo test -p llm-worker --test tool_macro_test -- --nocapture` +- `cargo check -p llm-worker -p tools -p ticket` +- `cargo fmt --check` +- `git diff --check` +- `cargo run -q -p yoi -- ticket doctor` +- `cargo check --workspace` +- `nix build .#yoi` + +Residual note: +- `batch_id` is Worker-local and not a durable/global external artifact key. \ No newline at end of file diff --git a/.yoi/tickets/20260609-093050-001/thread.md b/.yoi/tickets/20260609-093050-001/thread.md index 49b6e636..f1719bcf 100644 --- a/.yoi/tickets/20260609-093050-001/thread.md +++ b/.yoi/tickets/20260609-093050-001/thread.md @@ -221,3 +221,48 @@ Reviewer validation: All passed. Residual note: `batch_id` is Worker-local (`tool-batch-{n}`), not a durable/global identity across process/session reconstruction. This is acceptable for this Ticket but should not be treated as a persistent external artifact key without a future design. --- + + + +## State changed + +Ticket を closed にしました。 + + +--- + + + +## 完了 + +Implemented, reviewed, merged, and validated. + +Summary: +- Added `ToolExecutionContext` with `call_id`, `batch_id`, and `call_index`. +- Changed Tool execution APIs so `Tool::execute` / `ToolServer::call_tool` receive execution context. +- Worker assigns one response-local batch id per approved tool-call batch and preserves LLM-returned call order with `call_index`. +- Approved tool calls still execute in parallel; no scheduler, same-file mutex, mutation queue, conflict solver, or `parallel_tool_calls=false` behavior was added. +- `ToolCallInfo` / `ToolResultInfo` expose context metadata. +- Macro-generated tools can receive `ToolExecutionContext` as a non-schema parameter; context is not exposed as an LLM JSON argument. +- Built-in tools and tests were migrated to the new API. + +Implementation: +- Coder commit: `d8aed7b tool: add execution context` +- Reviewer approved with no blocking findings. +- Merge commit: `4744548 merge: add tool execution context` + +Validation after merge: +- `cargo test -p llm-worker --test parallel_execution_test test_tool_execution_context -- --nocapture` +- `cargo test -p llm-worker --test parallel_execution_test test_parallel_tool_execution -- --nocapture` +- `cargo test -p llm-worker --test tool_macro_test -- --nocapture` +- `cargo check -p llm-worker -p tools -p ticket` +- `cargo fmt --check` +- `git diff --check` +- `cargo run -q -p yoi -- ticket doctor` +- `cargo check --workspace` +- `nix build .#yoi` + +Residual note: +- `batch_id` is Worker-local and not a durable/global external artifact key. + +---