From 13926bce2fd36deb81c69d2dc6a89958d74f1ef9 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 2 Mar 2026 13:02:59 -0500 Subject: [PATCH] docs: Add DOD/Immediate Mode heuristics and backlog future tracks --- TASKS.md | 13 +++++++++++++ conductor/product-guidelines.md | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/TASKS.md b/TASKS.md index 641e178..5d767c0 100644 --- a/TASKS.md +++ b/TASKS.md @@ -87,4 +87,17 @@ To ensure smooth execution, execute the tracks in the following order: 5. `testing_consolidation_20260302` (Refactors testing methodology; depends on tech debt cleanup) 6. `conductor_workflow_improvements_20260302` (Meta-level updates to skills/workflow docs; can be run anytime) +--- + +## Future Backlog (Post-Cleanup) +*To be evaluated in a future Tier 1 session after the immediate tech debt queue is cleared.* + +### `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. + +### `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. + diff --git a/conductor/product-guidelines.md b/conductor/product-guidelines.md index aa7de64..0aa340e 100644 --- a/conductor/product-guidelines.md +++ b/conductor/product-guidelines.md @@ -13,6 +13,11 @@ ## Code Standards & Architecture +- **Data-Oriented & Immediate Mode Heuristics:** Align with the architectural values of engineers like Casey Muratori and Mike Acton. + - The GUI (`gui_2.py`) must remain a pure visualization of application state. It should not *own* complex business logic or orchestrator hooks (strive to decouple the 'Application' controller from the 'View'). + - Treat the UI as an immediate mode frame-by-frame projection of underlying data structures. + - Optimize for zero lag and never block the main render loop with heavy Python JIT work. + - Utilize proper asynchronous batching and queue-based pipelines for background AI work, ensuring a data-oriented flow rather than tangled object-oriented state graphs. - **Strict State Management:** There must be a rigorous separation between the Main GUI rendering thread and daemon execution threads. The UI should *never* hang during AI communication or script execution. Use lock-protected queues and events for synchronization. - **Comprehensive Logging:** Aggressively log all actions, API payloads, tool calls, and executed scripts. Maintain timestamped JSON-L and markdown logs to ensure total transparency and debuggability. - **Dependency Minimalism:** Limit external dependencies where possible. For instance, prefer standard library modules (like `urllib` and `html.parser` for web tools) over heavy third-party packages.