Orchestrata Ultimate / RTM / 103-tool-calling-refactor

RTM: 103-tool-calling-refactor

Requirement to symbol to test rows for 103-tool-calling-refactor: Tool-Calling Code Refactoring.

At a glance

Item Value
Requirement IDs 25
Traced from src/ 21 (84.0%)
Untraced 4
Cited from tests/ 1 (4.0%)
Traced in src/ but not cited from tests/ 20

Reading this matrix

This matrix lists each of the 25 requirement IDs of spec 103-tool-calling-refactor with the src/ symbols that cite it and the tests that cite it. 21 of them (84.0%) have at least one citing symbol and 4 have none.

1 requirement is also cited from tests/, and 20 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.

Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-103-* (4).

Requirement to symbols to tests

Requirement Symbols in src/ Tests citing it
REQ-103-001 Message (SPEC-011) gains optional tool_calls, tool_call_id, and name fields orchestrata_ultimate/core/protocols/providers Message L80 none
REQ-103-002 ProviderRequest gains optional tools and tool_choice fields orchestrata_ultimate/core/protocols/providers ProviderRequest L95 none
REQ-103-003 RawProviderResponse and ProviderResponse gain a tool_calls field orchestrata_ultimate/core/protocols/providers ProviderResponse L117
orchestrata_ultimate/core/protocols/providers RawProviderResponse L199
none
REQ-103-004 All new protocol fields default to empty/None, so the added tool-calling surface is... none none
REQ-103-005 The DeepSeek adapter forwards tools/tool_choice to the API via request parameters orchestrata_ultimate/providers/adapters/deepseek_adapter complete L35 none
REQ-103-006 The adapter serialises assistant tool_calls and tool-role messages (with... orchestrata_ultimate/providers/adapters/deepseek_adapter complete L35 none
REQ-103-007 The adapter parses choices[].message.tool_calls into... orchestrata_ultimate/providers/adapters/deepseek_adapter complete L35 none
REQ-103-008 All RefactorTools file tools resolve paths under a sandbox root; any path escaping... orchestrata_ultimate/refactor/tools RefactorTools L35
orchestrata_ultimate/refactor/tools _resolve L47
none
REQ-103-009 Every tool returns a string and never raises into the loop — failures are returned as... orchestrata_ultimate/refactor/tools RefactorTools L35 none
REQ-103-010 A machine-readable TOOL_SCHEMAS list (OpenAI function-calling format) describes... orchestrata_ultimate/refactor/tools RefactorTools L35
orchestrata_ultimate/refactor/tools dispatch L180
none
REQ-103-011 read_file(path) returns raw file contents so exact snippets can be copied for edits orchestrata_ultimate/refactor/tools read_file L55 none
REQ-103-012 list_dir(path) and grep(pattern, path) provide discovery over .py files orchestrata_ultimate/refactor/tools grep L80
orchestrata_ultimate/refactor/tools list_dir L66
none
REQ-103-013 ast_outline(path) surfaces classes/functions with signatures and line numbers orchestrata_ultimate/refactor/tools ast_outline L103 none
REQ-103-014 edit_file(path, old_string, new_string) replaces ONE exact, unique occurrence,... orchestrata_ultimate/refactor/tools edit_file L129 none
REQ-103-015 write_file(path, content) creates or overwrites a file (for new helper modules) orchestrata_ultimate/refactor/tools write_file L144 none
REQ-103-016 run_check(command) runs a whitelisted, read-only verification command (ruff,... orchestrata_ultimate/refactor/tools run_check L152 none
REQ-103-017 The loop sends the system prompt + task + TOOL_SCHEMAS, and while the model returns... orchestrata_ultimate/refactor/agent arefactor L68 none
REQ-103-018 The loop terminates when the model returns content with no tool calls... orchestrata_ultimate/refactor/agent arefactor L68 none
REQ-103-019 The full assistant/tool message history is preserved across turns so the model retains... orchestrata_ultimate/refactor/agent arefactor L68 none
REQ-103-020 The refactoring system prompt instructs the model to OBSERVE before MUTATING... none none
REQ-103-021 The prompt forbids fabricating file contents and instructs the model to copy exact... none none
REQ-103-022 `refactor(task: str, root: str | Path, model: str = "deepseek-v4-pro", max_iterations:... orchestrata_ultimate/refactor/agent refactor L156 none
REQ-103-023 RefactorResult records files_changed, iterations, the ordered tool_calls... orchestrata_ultimate/refactor/agent RefactorResult L54
orchestrata_ultimate/refactor/agent arefactor L68
none
REQ-103-024 Every tool call (name, arguments, truncated result) and model turn is logged via the... none none
REQ-103-025 When intent classification yields IntentType.REFACTOR, the CodeDirector path MAY... orchestrata_ultimate/orchestrator/intent_broker _handle_refactor L379 tests/orchestrator/test_intent_broker_refactor.py::TestHandleRefactorDirect
tests/orchestrator/test_intent_broker_refactor.py::TestHandleRefactorRootResolution
tests/orchestrator/test_intent_broker_refactor.py::TestProcessIntentRefactorBranchWiring