From ff7f18b2ef1b97ba39008f417ecc4ff7ac10531d Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 2 Mar 2026 12:47:35 -0500 Subject: [PATCH] conductor(track): Add task to remove hardcoded machine paths from mma_exec scripts --- .../architecture_boundary_hardening_20260302/plan.md | 5 +++-- .../architecture_boundary_hardening_20260302/spec.md | 9 +++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/conductor/tracks/architecture_boundary_hardening_20260302/plan.md b/conductor/tracks/architecture_boundary_hardening_20260302/plan.md index 26a6c9e..8624a43 100644 --- a/conductor/tracks/architecture_boundary_hardening_20260302/plan.md +++ b/conductor/tracks/architecture_boundary_hardening_20260302/plan.md @@ -4,10 +4,11 @@ Architecture reference: [docs/guide_architecture.md](../../../docs/guide_archite --- -## Phase 1: Patch Context Amnesia Leak (Meta-Tooling) -Focus: Stop `mma_exec.py` from injecting massive full-text dependencies. +## Phase 1: Patch Context Amnesia Leak & Portability (Meta-Tooling) +Focus: Stop `mma_exec.py` from injecting massive full-text dependencies and remove hardcoded external paths. - [ ] 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()`. +- [ ] Task 1.2: In `scripts/mma_exec.py` and `scripts/claude_mma_exec.py`, remove the hardcoded reference to `C:\projects\misc\setup_*.ps1`. Rely on the active environment's PATH to resolve `gemini` and `claude`, or provide an `.env` configurable override. ## 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. diff --git a/conductor/tracks/architecture_boundary_hardening_20260302/spec.md b/conductor/tracks/architecture_boundary_hardening_20260302/spec.md index d7f48e9..a37622a 100644 --- a/conductor/tracks/architecture_boundary_hardening_20260302/spec.md +++ b/conductor/tracks/architecture_boundary_hardening_20260302/spec.md @@ -1,7 +1,7 @@ # 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 the internal application's state machine can deadlock. +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 @@ -13,11 +13,16 @@ The `manual_slop` project sandbox provides AI meta-tooling (`mma_exec.py`, `tool - Location: `scripts/mma_exec.py:101`. - Issue: `UNFETTERED_MODULES` hardcodes `['mcp_client', 'project_manager', 'events', 'aggregate']`. If a worker targets a file that imports `mcp_client`, the script injects the full `mcp_client.py` (~450 lines) into the context instead of its skeleton, blowing out the token budget. -3. **DAG Engine Blocking Stalls (`dag_engine.py`)**: +3. **Portability Leak in Meta-Tooling Scripts**: + - Location: `scripts/mma_exec.py` and `scripts/claude_mma_exec.py`. + - Issue: Both scripts hardcode absolute external paths (`C:\projects\misc\setup_gemini.ps1` and `setup_claude.ps1`) to initialize the subprocess environment. This breaks repository portability. + +4. **DAG Engine Blocking Stalls (`dag_engine.py`)**: - Location: `dag_engine.py` -> `get_ready_tasks()` - Issue: `get_ready_tasks` requires all dependencies to be explicitly `completed`. If a task is marked `blocked`, its dependents stay `todo` forever, causing an infinite stall. ## Desired State - All tools in `mcp_client.py` are configurable in `manual_slop.toml` and `gui_2.py`. Mutating tools must route through the GUI approval callback. - The `UNFETTERED_MODULES` list must be completely removed from `mma_exec.py`. +- Meta-tooling scripts rely on standard PATH or local relative config files, not hardcoded absolute external paths. - The `dag_engine.py` must cascade `blocked` status to downstream tasks so the track halts cleanly. \ No newline at end of file