feat(conductor): Scaffold MMA Migration Tracks from Epics
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"id": "mma_state_machine_data_structures_20260224",
|
||||
"title": "State Machine & Data Structures",
|
||||
"status": "planning",
|
||||
"created_at": "2026-02-24T22:44:11.756941"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# Implementation Plan: State Machine & Data Structures
|
||||
|
||||
- [ ] Task: Create \ ests/test_models.py\.
|
||||
- [ ] Task: Write failing tests that instantiate \Track\, \Ticket\, and \WorkerContext\ with various valid and invalid schemas.
|
||||
- [ ] Task: Write tests that assert state transitions (e.g., from \pending\ to \locked\, from \step_paused\ to \completed\) correctly update internal flags and dependencies.
|
||||
- [ ] Task: **Red Phase:** Tests fail because \models.py\ classes are undefined or lack transition methods.
|
||||
- [ ] Task: **Green Phase:** Implement the dataclasses and state mutators.
|
||||
@@ -0,0 +1,5 @@
|
||||
# Specification: State Machine & Data Structures
|
||||
|
||||
## Goal
|
||||
Define the rigid Python objects (Pydantic/Dataclasses) that AI agents will pass to each other, enforcing structured data over loose chat strings.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"id": "mma_the_linear_orchestrator_execution_clutch_20260224",
|
||||
"title": "The Linear Orchestrator & Execution Clutch",
|
||||
"status": "planning",
|
||||
"created_at": "2026-02-24T22:44:11.757962"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
# Implementation Plan: The Linear Orchestrator & Execution Clutch
|
||||
|
||||
- [ ] Task: Create \ ests/test_conductor.py\.
|
||||
- [ ] Task: Write tests that mock the AI client response (e.g., returning a mock tool call like \write_file\).
|
||||
- [ ] Task: Test that \
|
||||
- [ ] Task: Test that execution pauses (waits for a simulated human signal) when the \ rust_level\ dictates.
|
||||
- [ ] Task: **Red Phase:** Failure occurs because \multi_agent_conductor.py\ lacks the lifecycle execution loop.
|
||||
- [ ] Task: **Green Phase:** Implement the \ConductorEngine\ core execution block.
|
||||
@@ -0,0 +1,5 @@
|
||||
# Specification: The Linear Orchestrator & Execution Clutch
|
||||
|
||||
## Goal
|
||||
Build the synchronous, debuggable core loop that runs a single Tier 3 Worker and pauses for human approval.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"id": "mma_the_memory_foundations_ast_parser_20260224",
|
||||
"title": "The Memory Foundations (AST Parser)",
|
||||
"status": "planning",
|
||||
"created_at": "2026-02-24T22:44:11.755925"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# Implementation Plan: The Memory Foundations (AST Parser)
|
||||
|
||||
- [ ] Task: Create `tests/test_file_cache_ast.py`.
|
||||
- [ ] Task: Define mock Python source files containing various structures (classes, functions, docstrings, `@core_logic` decorators, `# [HOT]` comments).
|
||||
- [ ] Task: Write failing tests that instantiate `ASTParser` and assert that `get_skeleton_view()` and `get_curated_view()` return the precisely filtered strings.
|
||||
- [ ] Task: **Red Phase:** Ensure tests fail because `ASTParser` does not exist.
|
||||
- [ ] Task: **Green Phase:** Implement the tree-sitter logic iteratively until strings match exactly.
|
||||
@@ -0,0 +1,5 @@
|
||||
# Specification: The Memory Foundations (AST Parser)
|
||||
|
||||
## Goal
|
||||
Build the engine that prevents token-bloat by turning massive source files into curated memory views.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"id": "mma_tier_4_qa_interception_20260224",
|
||||
"title": "Tier 4 QA Interception",
|
||||
"status": "planning",
|
||||
"created_at": "2026-02-24T22:44:11.758965"
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
# Implementation Plan: Tier 4 QA Interception
|
||||
|
||||
- [ ] Task: Create \ ests/test_shell_runner.py\.
|
||||
- [ ] Task: Write tests that mock a local execution failure (e.g., returning a mock 3000-line Python stack trace).
|
||||
- [ ] Task: Test that the error is intercepted and passed to a mock Tier 4 agent.
|
||||
- [ ] Task: Test that the output is compressed into a 20-word fix before returning.
|
||||
- [ ] Task: **Red Phase:** Fails because no interception loop exists in \shell_runner.py\.
|
||||
- [ ] Task: **Green Phase:** Implement the try/except logic handling \subprocess.run()\ with \
|
||||
@@ -0,0 +1,5 @@
|
||||
# Specification: Tier 4 QA Interception
|
||||
|
||||
## Goal
|
||||
Stop error traces from destroying the Worker's token window by routing crashes through a cheap, stateless translator.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"id": "mma_ui_decoupling_tier_1_2_routing_the_final_boss_20260224",
|
||||
"title": "UI Decoupling & Tier 1/2 Routing (The Final Boss)",
|
||||
"status": "planning",
|
||||
"created_at": "2026-02-24T22:44:11.759465"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
# Implementation Plan: UI Decoupling & Tier 1/2 Routing (The Final Boss)
|
||||
|
||||
- [ ] Task: Create \ ests/test_gui_decoupling.py\.
|
||||
- [ ] Task: Write tests that instantiate a mocked GUI instance listening to an \syncio.Queue\.
|
||||
- [ ] Task: Mock pushing \TrackStateUpdated\ and \TicketStarted\ events into the queue and ensure the GUI updates its view state rather than calling LLM endpoints directly.
|
||||
- [ ] Task: **Red Phase:** Failure occurs because \gui_2.py\ is tightly coupled with \i_client.py\ logic.
|
||||
- [ ] Task: **Green Phase:** Implement the \AgentBus\ messaging system linking \multi_agent_conductor.py\ to \gui_2.py\.
|
||||
@@ -0,0 +1,5 @@
|
||||
# Specification: UI Decoupling & Tier 1/2 Routing (The Final Boss)
|
||||
|
||||
## Goal
|
||||
Bring the whole system online by letting Tier 1 and Tier 2 generate Tickets dynamically, managed via an asynchronous Event Bus.
|
||||
|
||||
Reference in New Issue
Block a user