Compare commits

..

13 Commits

9 changed files with 19 additions and 10 deletions

View File

@@ -23,6 +23,10 @@ When implementing tracks, consult these docs for threading, data flow, and modul
- **CRITICAL: ATOMIC PER-TASK COMMITS**: You MUST commit your progress on a per-task basis. Immediately after a task is verified successfully, you must stage the changes, commit them, attach the git note summary, and update `plan.md` before moving to the next task. Do NOT batch multiple tasks into a single commit. - **CRITICAL: ATOMIC PER-TASK COMMITS**: You MUST commit your progress on a per-task basis. Immediately after a task is verified successfully, you must stage the changes, commit them, attach the git note summary, and update `plan.md` before moving to the next task. Do NOT batch multiple tasks into a single commit.
- **Meta-Level Sanity Check**: After completing a track (or upon explicit request), perform a codebase sanity check. Run `uv run ruff check .` and `uv run mypy --explicit-package-bases .` to ensure Tier 3 Workers haven't degraded static analysis constraints. Identify broken simulation tests and append them to a tech debt track or fix them immediately. - **Meta-Level Sanity Check**: After completing a track (or upon explicit request), perform a codebase sanity check. Run `uv run ruff check .` and `uv run mypy --explicit-package-bases .` to ensure Tier 3 Workers haven't degraded static analysis constraints. Identify broken simulation tests and append them to a tech debt track or fix them immediately.
## Anti-Entropy Protocol
- **State Auditing**: Before adding new state variables to a class, you MUST use `py_get_code_outline` or `py_get_definition` on the target class's `__init__` method (and any relevant configuration loading methods) to check for existing, unused, or duplicate state variables. DO NOT create redundant state if an existing variable can be repurposed or extended.
- **TDD Enforcement**: You MUST ensure that failing tests (the "Red" phase) are written and executed successfully BEFORE delegating implementation tasks to Tier 3 Workers. Do NOT accept an implementation from a worker if you haven't first verified the failure of the corresponding test case.
## Surgical Delegation Protocol ## Surgical Delegation Protocol
When delegating to Tier 3 workers, construct prompts that specify: When delegating to Tier 3 workers, construct prompts that specify:
- **WHERE**: Exact file and line range to modify - **WHERE**: Exact file and line range to modify

View File

@@ -9,6 +9,7 @@ You are the Tier 3 Worker. Your role is to implement specific, scoped technical
## Responsibilities ## Responsibilities
- Implement code strictly according to the provided prompt and specifications. - Implement code strictly according to the provided prompt and specifications.
- **TDD Mandatory Enforcement**: You MUST write a failing test and verify it fails (the "Red" phase) BEFORE writing any implementation code. Do NOT write tests that contain only `pass` or lack meaningful assertions. A test is only valid if it accurately reflects the intended behavioral change and fails in the absence of the implementation.
- Write failing tests first, then implement the code to pass them. - Write failing tests first, then implement the code to pass them.
- Ensure all changes are minimal, functional, and conform to the requested standards. - Ensure all changes are minimal, functional, and conform to the requested standards.
- Utilize provided tool access (read_file, write_file, etc.) to perform implementation and verification. - Utilize provided tool access (read_file, write_file, etc.) to perform implementation and verification.

View File

@@ -4,12 +4,14 @@ This file tracks all major tracks for the project. Each track has its own detail
--- ---
## Active
---
## Completed / Archived ## Completed / Archived
- [x] **Track: Conductor Workflow Improvements**
*Link: [./tracks/conductor_workflow_improvements_20260302/](./tracks/conductor_workflow_improvements_20260302/)*
- [x] **Track: MMA Agent Focus UX**
*Link: [./archive/mma_agent_focus_ux_20260302/](./archive/mma_agent_focus_ux_20260302/)*
- [x] **Track: Architecture Boundary Hardening** - [x] **Track: Architecture Boundary Hardening**
*Link: [./archive/architecture_boundary_hardening_20260302/](./archive/architecture_boundary_hardening_20260302/)* *Link: [./archive/architecture_boundary_hardening_20260302/](./archive/architecture_boundary_hardening_20260302/)*

View File

@@ -4,14 +4,14 @@ Architecture reference: [docs/guide_mma.md](../../../docs/guide_mma.md)
--- ---
## Phase 1: Skill Document Hardening ## Phase 1: Skill Document Hardening [checkpoint: 3800347]
Focus: Update the agent skill prompts to enforce strict discipline. Focus: Update the agent skill prompts to enforce strict discipline.
- [ ] Task 1.1: Update `.gemini/skills/mma-tier2-tech-lead/SKILL.md`. Add a new section `## Anti-Entropy Protocol` requiring the Tech Lead to: (1) Use `py_get_code_outline` on the target class's `__init__` to check for redundant state before adding new variables; (2) Ensure failing tests are written and executed *before* delegating implementation to Tier 3. - [x] Task 1.1: Update `.gemini/skills/mma-tier2-tech-lead/SKILL.md`. Add a new section `## Anti-Entropy Protocol` requiring the Tech Lead to: (1) Use `py_get_code_outline` on the target class's `__init__` to check for redundant state before adding new variables; (2) Ensure failing tests are written and executed *before* delegating implementation to Tier 3. 82cec19
- [ ] Task 1.2: Update `.gemini/skills/mma-tier3-worker/SKILL.md`. Add an explicit directive in the `## Responsibilities` section: "You MUST write a failing test and verify it fails (the Red phase) BEFORE writing any implementation code. Do NOT write tests that contain only `pass` or lack assertions." - [x] Task 1.2: Update `.gemini/skills/mma-tier3-worker/SKILL.md`. Add an explicit directive in the `## Responsibilities` section: "You MUST write a failing test and verify it fails (the Red phase) BEFORE writing any implementation code. Do NOT write tests that contain only `pass` or lack assertions." 87fa4ff
## Phase 2: Workflow Documentation Updates ## Phase 2: Workflow Documentation Updates [checkpoint: 608a4de]
Focus: Add safeguards to the global Conductor workflow. Focus: Add safeguards to the global Conductor workflow.
- [ ] Task 2.1: Update `conductor/workflow.md`. In the `High-Signal Research Phase` section, add a requirement to audit class initializers (`__init__`) for existing, unused, or duplicate state variables before adding new ones. - [x] Task 2.1: Update `conductor/workflow.md`. In the `High-Signal Research Phase` section, add a requirement to audit class initializers (`__init__`) for existing, unused, or duplicate state variables before adding new ones. b00d9ff
- [ ] Task 2.2: Update `conductor/workflow.md`. In the `Test-Driven Development` section, explicitly ban zero-assertion tests and state that a test is only valid if it contains assertions that test the behavioral change. - [x] Task 2.2: Update `conductor/workflow.md`. In the `Test-Driven Development` section, explicitly ban zero-assertion tests and state that a test is only valid if it contains assertions that test the behavioral change. e334cd0

View File

@@ -31,10 +31,12 @@ All tasks follow a strict lifecycle:
3. **High-Signal Research Phase:** 3. **High-Signal Research Phase:**
- **Identify Dependencies:** Use `list_directory`, `get_tree`, and `py_get_imports` to map file relations. - **Identify Dependencies:** Use `list_directory`, `get_tree`, and `py_get_imports` to map file relations.
- **Map Architecture:** Use `py_get_code_outline` or `py_get_skeleton` on identified files to understand their structure. - **Map Architecture:** Use `py_get_code_outline` or `py_get_skeleton` on identified files to understand their structure.
- **Audit State:** Use `py_get_code_outline` or `py_get_definition` on the target class's `__init__` method to check for existing, unused, or duplicate state variables before adding new ones.
- **Analyze Changes:** Use `get_git_diff` if the task involves modifying recently updated code. - **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. - **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):** 4. **Write Failing Tests (Red Phase):**
- **Pre-Delegation Checkpoint:** Before spawning a worker for dangerous or non-trivial changes, ensure your current progress is staged (`git add .`) or committed. This prevents losing iterations if a sub-agent incorrectly uses `git restore`. - **Pre-Delegation Checkpoint:** Before spawning a worker for dangerous or non-trivial changes, ensure your current progress is staged (`git add .`) or committed. This prevents losing iterations if a sub-agent incorrectly uses `git restore`.
- **Zero-Assertion Ban:** You MUST NOT write tests that contain only `pass` or lack meaningful assertions. A test is only valid if it contains assertions that explicitly test the behavioral change and verify the failure condition.
- **Code Style:** ALWAYS explicitly mention "Use exactly 1-space indentation for Python code" when prompting a sub-agent. - **Code Style:** ALWAYS explicitly mention "Use exactly 1-space indentation for Python code" when prompting a sub-agent.
- **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 **surgical prompt** specifying WHERE (file:line range), WHAT (test to create), HOW (which assertions/fixtures to use), and SAFETY (thread constraints if applicable). Example: `"Write tests in tests/test_cost_tracker.py for cost_tracker.py:estimate_cost(). Test all model patterns in MODEL_PRICING dict. Assert unknown model returns 0. Use 1-space indentation."` (If repeating due to failures, pass `--failure-count X` to switch to a more capable model). - **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 **surgical prompt** specifying WHERE (file:line range), WHAT (test to create), HOW (which assertions/fixtures to use), and SAFETY (thread constraints if applicable). Example: `"Write tests in tests/test_cost_tracker.py for cost_tracker.py:estimate_cost(). Test all model patterns in MODEL_PRICING dict. Assert unknown model returns 0. Use 1-space indentation."` (If repeating due to failures, pass `--failure-count X` to switch to a more capable model).
- Take the code generated by the Worker and apply it. - Take the code generated by the Worker and apply it.