chore(conductor): Add 6 new tracks to the strict execution order queue
This commit is contained in:
48
TASKS.md
48
TASKS.md
@@ -92,31 +92,39 @@ To ensure smooth execution, execute the tracks in the following order:
|
||||
|
||||
---
|
||||
|
||||
## Future Backlog (Post-Cleanup)
|
||||
*To be evaluated in a future Tier 1 session after the immediate tech debt queue is cleared.*
|
||||
## Planned: Upcoming Tracks
|
||||
*The following tracks have been initialized and ordered for execution.*
|
||||
|
||||
### `gui_decoupling_controller`
|
||||
**Context:** `gui_2.py` is over 3,500 lines and operates as a Monolithic God Object. It violates the "Data-Oriented & Immediate Mode" heuristics by owning complex business logic, orchestrator hooks (`_bg_create_track`), and markdown file building instead of acting as a pure view.
|
||||
**Goal:** Create a headless `orchestrator_pm.py` or `app_controller.py` that handles the core lifecycle, allowing `gui_2.py` to be a lagless, immediate-mode projection of the state.
|
||||
### 1. `test_stabilization_20260302` (Active/Next)
|
||||
**Priority:** High
|
||||
**Goal:** Stabilize `asyncio` errors, ban mock-rot, and consolidate testing paradigms.
|
||||
|
||||
### `robust_json_parsing_tech_lead`
|
||||
**Context:** In `conductor_tech_lead.py`, the `generate_tickets` function relies on a generic `try...except` block to parse the LLM's JSON ticket array. If the model hallucinates or outputs invalid JSON, it silently returns an empty array `[]`, causing the GUI to fail the track creation process without giving the model a chance to self-correct.
|
||||
**Goal:** Implement a programmatic retry loop that catches `JSONDecodeError` and feeds the error back to the Tier 2 model for self-correction before failing the UI operation.
|
||||
### 2. `strict_static_analysis_and_typing_20260302`
|
||||
**Priority:** High
|
||||
**Goal:** Resolve 512+ mypy errors and remaining ruff violations to secure the foundation before refactoring. Add pre-commit hooks.
|
||||
|
||||
### `strict_static_analysis_and_typing`
|
||||
**Context:** Running `uv run ruff check .` and `uv run mypy --explicit-package-bases .` revealed massive technical debt in type safety (512+ Mypy errors across 64 files, 200+ remaining Ruff violations). The `gui_2.py` and `api_hook_client.py` files specifically have severe "Any" bleeding and incorrect unions.
|
||||
**Goal:** Resolve all static analysis errors. Enforce strict `mypy` compliance, remove implicit `Optional` types, and fix ambiguous variables (`l`). Integrate `ruff` and `mypy` into a CI pre-commit hook so Tier 3 workers are forced to write type-safe code going forward.
|
||||
### 3. `codebase_migration_20260302`
|
||||
**Priority:** High
|
||||
**Goal:** Restructure directories to a `src/` layout. Doing this after static analysis ensures no hidden import bugs are introduced.
|
||||
|
||||
### `hook_api_ui_state_verification`
|
||||
**Context:** Manual verification of UI widget state is difficult and unreliable. `live_gui` fixture + `ApiHookClient` exist but new widget state vars (e.g. `ui_focus_agent`) are not wired to `_settable_fields` or GET endpoints. Future tracks must add state to `_settable_fields` and write `live_gui`-based tests instead of relying on user confirmation.
|
||||
**Goal:** Add `ui_focus_agent` (and a standard pattern for future widgets) to `_settable_fields`; add a `/api/gui/state` GET endpoint returning key UI vars; write `live_gui` integration test for Focus Agent filter.
|
||||
### 4. `gui_decoupling_controller_20260302`
|
||||
**Priority:** High
|
||||
**Goal:** Extract the state machine and core lifecycle into a headless `app_controller.py`, leaving `gui_2.py` as a pure, immediate-mode view.
|
||||
|
||||
### `concurrent_tier_source_tier`
|
||||
**Context:** `ai_client.current_tier` is a module-level `str | None`. Safe today because the MMA engine serializes `send()` calls. When concurrent Tier 3/4 agents run in parallel (multiple tickets processed simultaneously), this will produce incorrect tier tags.
|
||||
**Goal:** Replace with `threading.local()` storage or pass `source_tier` explicitly through the `send()` call signature so each concurrent agent self-identifies without sharing module state.
|
||||
### 5. `hook_api_ui_state_verification_20260302`
|
||||
**Priority:** Medium
|
||||
**Goal:** Add a `/api/gui/state` GET endpoint. Wire UI state into `_settable_fields` to enable programmatic `live_gui` testing without user confirmation.
|
||||
|
||||
### `test_suite_performance_and_flakiness`
|
||||
**Context:** Running `uv run pytest` takes over 5.0 minutes to execute and frequently hangs on integration tests (e.g. `test_spawn_interception.py`). Several simulation tests (`test_sim_ai_settings.py`, `test_extended_sims.py`) are also currently failing or timing out.
|
||||
**Goal:** Audit the test suite for `time.sleep()` abuse. Replace hardcoded sleeps with `threading.Event()` hooks or robust polling. Isolate slow integration tests with `@pytest.mark.slow` and ensure the core unit test suite runs in under 10 seconds to maintain high-velocity TDD.
|
||||
### 6. `robust_json_parsing_tech_lead_20260302`
|
||||
**Priority:** Medium
|
||||
**Goal:** Implement an auto-retry loop that catches `JSONDecodeError` and feeds the traceback to the Tier 2 model for self-correction.
|
||||
|
||||
### 7. `concurrent_tier_source_tier_20260302`
|
||||
**Priority:** Low
|
||||
**Goal:** Replace global state with `threading.local()` or explicit context passing to guarantee thread-safe logging when multiple Tier 3 workers process tickets in parallel.
|
||||
|
||||
### 8. `test_suite_performance_and_flakiness_20260302`
|
||||
**Priority:** Low
|
||||
**Goal:** Replace `time.sleep()` with deterministic polling or `threading.Event()` triggers. Mark exceptionally heavy tests with `@pytest.mark.slow`.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user