1.5 KiB
1.5 KiB
Implemented, reviewed, merged, and validated.
Summary:
- Added
ToolExecutionContextwithcall_id,batch_id, andcall_index. - Changed Tool execution APIs so
Tool::execute/ToolServer::call_toolreceive 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=falsebehavior was added. ToolCallInfo/ToolResultInfoexpose context metadata.- Macro-generated tools can receive
ToolExecutionContextas 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 -- --nocapturecargo test -p llm-worker --test parallel_execution_test test_parallel_tool_execution -- --nocapturecargo test -p llm-worker --test tool_macro_test -- --nocapturecargo check -p llm-worker -p tools -p ticketcargo fmt --checkgit diff --checkcargo run -q -p yoi -- ticket doctorcargo check --workspacenix build .#yoi
Residual note:
batch_idis Worker-local and not a durable/global external artifact key.