29 lines
1.5 KiB
Markdown
29 lines
1.5 KiB
Markdown
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. |