conductor(track): Expand scope of architecture track to fully integrate MCP tools

This commit is contained in:
2026-03-02 12:39:41 -05:00
parent 6837a28b61
commit 9eabebf9f4
3 changed files with 17 additions and 22 deletions

View File

@@ -9,12 +9,13 @@ Focus: Stop `mma_exec.py` from injecting massive full-text dependencies.
- [ ] Task 1.1: In `scripts/mma_exec.py`, completely remove the `UNFETTERED_MODULES` constant and its associated `if dep in UNFETTERED_MODULES:` check. Ensure all imported local dependencies strictly use `generate_skeleton()`.
## Phase 2: Seal the HITL Bypass (Application Core)
Focus: Ensure native MCP mutating tools cannot execute without user approval in the `manual_slop` application.
## Phase 2: Complete MCP Tool Integration & Seal HITL Bypass (Application Core)
Focus: Expose all native MCP tools in the config and GUI, and ensure mutating tools trigger user approval.
- [ ] Task 2.1: In `mcp_client.py`, define a new constant set `MUTATING_TOOLS = {"set_file_slice", "py_update_definition", "py_set_signature", "py_set_var_declaration"}`. (Note: `write_file` is not currently in the tool list, but add it if it is).
- [ ] Task 2.2: In `ai_client.py`'s provider loops (`_send_gemini`, `_send_gemini_cli`, `_send_anthropic`, `_send_deepseek`), update the tool execution logic. If `name in mcp_client.MUTATING_TOOLS`, it MUST trigger the `pre_tool_callback` (or a variation of it) to ask for user approval before calling `mcp_client.dispatch`.
- [ ] Task 2.3: In `gui_2.py`, ensure the UI rendering for the pending tool approval handles the AST mutations gracefully (e.g. showing the `new_content` payload instead of a PowerShell script).
- [ ] Task 2.1: Update `manual_slop.toml` and `project_manager.py`'s `default_project()` to include all new tools (e.g., `set_file_slice`, `py_update_definition`, `py_set_signature`) under `[agent.tools]`.
- [ ] Task 2.2: Update `gui_2.py`'s settings/config panels to expose toggles for these new tools.
- [ ] Task 2.3: In `mcp_client.py`, define a `MUTATING_TOOLS` constant set.
- [ ] Task 2.4: In `ai_client.py`'s provider loops (`_send_gemini`, `_send_gemini_cli`, `_send_anthropic`, `_send_deepseek`), update the tool execution logic: if `name in mcp_client.MUTATING_TOOLS`, it MUST trigger a GUI approval mechanism (like `pre_tool_callback`) before dispatching the tool.
## Phase 3: DAG Engine Cascading Blocks (Application Core)
Focus: Prevent infinite deadlocks when Tier 3 workers fail repeatedly.