2.5 KiB
2.5 KiB
Track Specification: Architecture Boundary Hardening
Overview
The manual_slop project sandbox provides AI meta-tooling (mma_exec.py, tool_call.py) to orchestrate its own development. When AI agents added advanced AST tools (like set_file_slice) to mcp_client.py for meta-tooling, they failed to fully integrate them into the application's GUI, config, or HITL (Human-In-The-Loop) safety models. Additionally, meta-tooling scripts are bleeding tokens and rely on non-portable hardcoded machine paths, while the internal application's state machine can deadlock.
Current State Audit
-
Incomplete MCP Tool Integration & HITL Bypass (
ai_client.py,gui_2.py):- Issue: New tools in
mcp_client.py(e.g.,set_file_slice,py_update_definition) are not exposed in the GUI ormanual_slop.tomlconfig[agent.tools]. If they were enabled,ai_client.pywould execute them instantly without checkingpre_tool_callback, bypassing GUI approval. - Requirement: Expose all
mcp_client.pytools as toggles in the GUI/Config. Ensure any mutating tool triggers a GUI approval modal before execution.
- Issue: New tools in
-
Token Firewall Leak in Meta-Tooling (
mma_exec.py):- Location:
scripts/mma_exec.py:101. - Issue:
UNFETTERED_MODULEShardcodes['mcp_client', 'project_manager', 'events', 'aggregate']. If a worker targets a file that importsmcp_client, the script injects the fullmcp_client.py(~450 lines) into the context instead of its skeleton, blowing out the token budget.
- Location:
-
Portability Leak in Meta-Tooling Scripts:
- Location:
scripts/mma_exec.pyandscripts/claude_mma_exec.py. - Issue: Both scripts hardcode absolute external paths (
C:\projects\misc\setup_gemini.ps1andsetup_claude.ps1) to initialize the subprocess environment. This breaks repository portability.
- Location:
-
DAG Engine Blocking Stalls (
dag_engine.py):- Location:
dag_engine.py->get_ready_tasks() - Issue:
get_ready_tasksrequires all dependencies to be explicitlycompleted. If a task is markedblocked, its dependents staytodoforever, causing an infinite stall.
- Location:
Desired State
- All tools in
mcp_client.pyare configurable inmanual_slop.tomlandgui_2.py. Mutating tools must route through the GUI approval callback. - The
UNFETTERED_MODULESlist must be completely removed frommma_exec.py. - Meta-tooling scripts rely on standard PATH or local relative config files, not hardcoded absolute external paths.
- The
dag_engine.pymust cascadeblockedstatus to downstream tasks so the track halts cleanly.