diff --git a/.gemini/agents/tier1-orchestrator.md b/.gemini/agents/tier1-orchestrator.md index b8238e1..8aaad5c 100644 --- a/.gemini/agents/tier1-orchestrator.md +++ b/.gemini/agents/tier1-orchestrator.md @@ -15,6 +15,7 @@ tools: - discovered_tool_fetch_url - activate_skill - discovered_tool_run_powershell + - tier3-worker --- STRICT SYSTEM DIRECTIVE: You are a Tier 1 Orchestrator. Focused on product alignment, high-level planning, and track initialization. diff --git a/.gemini/agents/tier2-tech-lead.md b/.gemini/agents/tier2-tech-lead.md index 7924ce4..9db2d3b 100644 --- a/.gemini/agents/tier2-tech-lead.md +++ b/.gemini/agents/tier2-tech-lead.md @@ -17,6 +17,8 @@ tools: - discovered_tool_fetch_url - activate_skill - discovered_tool_run_powershell + - tier3-worker + - tier4-qa --- STRICT SYSTEM DIRECTIVE: You are a Tier 2 Tech Lead. Focused on architectural design and track execution. diff --git a/conductor/workflow.md b/conductor/workflow.md index 4ea8c72..21e7089 100644 --- a/conductor/workflow.md +++ b/conductor/workflow.md @@ -9,6 +9,7 @@ 5. **User Experience First:** Every decision should prioritize user experience 6. **Non-Interactive & CI-Aware:** Prefer non-interactive commands. Use `CI=true` for watch-mode tools (tests, linters) to ensure single execution. 7. **MMA Tiered Delegation is Mandatory:** The Conductor acts as a Tier 1/2 Orchestrator. You MUST delegate all non-trivial coding to Tier 3 Workers and all error analysis to Tier 4 QA Agents. Do NOT perform large file writes directly. +8. **Mandatory Research-First Protocol:** Before reading the full content of any file over 50 lines, you MUST use `get_file_summary`, `get_python_skeleton`, or `get_code_outline` to map the architecture and identify specific target ranges. Use `get_git_diff` to understand recent changes. ## Task Workflow @@ -22,7 +23,13 @@ All tasks follow a strict lifecycle: 2. **Mark In Progress:** Before beginning work, edit `plan.md` and change the task from `[ ]` to `[~]` -3. **Write Failing Tests (Red Phase):** +3. **High-Signal Research Phase:** + - **Identify Dependencies:** Use `list_directory` and `grep_search` to find relevant files. + - **Map Architecture:** Use `get_code_outline` or `get_python_skeleton` on identified files to understand their structure. + - **Analyze Changes:** Use `get_git_diff` if the task involves modifying recently updated code. + - **Minimize Token Burn:** Only use `read_file` with `start_line`/`end_line` for specific implementation details once target areas are identified. + +4. **Write Failing Tests (Red Phase):** - **Delegate Test Creation:** Do NOT write test code directly. Spawn a Tier 3 Worker (`python scripts/mma_exec.py --role tier3-worker "[PROMPT]"`) with a prompt to create the necessary test files and unit tests based on the task criteria. - Take the code generated by the Worker and apply it. - **CRITICAL:** Run the tests and confirm that they fail as expected. This is the "Red" phase of TDD. Do not proceed until you have failing tests. diff --git a/scripts/mma_exec.py b/scripts/mma_exec.py index 4360073..0ca0af0 100644 --- a/scripts/mma_exec.py +++ b/scripts/mma_exec.py @@ -213,7 +213,7 @@ def execute_agent(role: str, prompt: str, docs: list[str]) -> str: allowed_tools = "read_file,write_file,replace,list_directory,glob,grep_search,discovered_tool_search_files,discovered_tool_get_file_summary,discovered_tool_get_python_skeleton,discovered_tool_get_code_outline,discovered_tool_get_git_diff,discovered_tool_run_powershell,activate_skill,codebase_investigator,discovered_tool_web_search,discovered_tool_fetch_url" ps_command = ( f"if (Test-Path 'C:\\projects\\misc\\setup_gemini.ps1') {{ . 'C:\\projects\\misc\\setup_gemini.ps1' }}; " - f"gemini -p 'mma_task' --allowed-tools {allowed_tools} --approval-mode yolo --output-format json --model {model}" + f"gemini -p 'mma_task' --allowed-tools {allowed_tools} --output-format json --model {model}" ) cmd = ['powershell.exe', '-NoProfile', '-Command', ps_command]