From eac4f4ee382274c248d9611b813c93f8023b5511 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 2 Mar 2026 18:48:28 -0500 Subject: [PATCH] conductor(plan): Mark phase 'Phase 3' as complete --- .../tracks/architecture_boundary_hardening_20260302/plan.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conductor/tracks/architecture_boundary_hardening_20260302/plan.md b/conductor/tracks/architecture_boundary_hardening_20260302/plan.md index a908449..136651f 100644 --- a/conductor/tracks/architecture_boundary_hardening_20260302/plan.md +++ b/conductor/tracks/architecture_boundary_hardening_20260302/plan.md @@ -18,8 +18,8 @@ Focus: Expose all native MCP tools in the config and GUI, and ensure mutating to - [x] Task 2.3: In `mcp_client.py`, define a `MUTATING_TOOLS` constant set. 1f92629 - [x] Task 2.4: In `ai_client.py`'s provider loops (`_send_gemini`, `_send_gemini_cli`, `_send_anthropic`, `_send_deepseek`), update the tool execution logic: if `name in mcp_client.MUTATING_TOOLS`, it MUST trigger a GUI approval mechanism (like `pre_tool_callback`) before dispatching the tool. e5e35f7 -## Phase 3: DAG Engine Cascading Blocks (Application Core) +## Phase 3: DAG Engine Cascading Blocks (Application Core) [checkpoint: 80d79fe] Focus: Prevent infinite deadlocks when Tier 3 workers fail repeatedly. -- [ ] Task 3.1: In `dag_engine.py`, add a `cascade_blocks()` method to `TrackDAG`. This method should iterate through all `todo` tickets and if any of their dependencies are `blocked`, mark the ticket itself as `blocked`. -- [ ] Task 3.2: In `multi_agent_conductor.py`, update `ConductorEngine.run()`. Before calling `self.engine.tick()`, call `self.track_dag.cascade_blocks()` (or equivalent) so that blocked states propagate cleanly, allowing the `all_done` or block detection logic to exit the while loop correctly. \ No newline at end of file +- [x] Task 3.1: In `dag_engine.py`, add a `cascade_blocks()` method to `TrackDAG`. This method should iterate through all `todo` tickets and if any of their dependencies are `blocked`, mark the ticket itself as `blocked`. 5b8a073 +- [x] Task 3.2: In `multi_agent_conductor.py`, update `ConductorEngine.run()`. Before calling `self.engine.tick()`, call `self.track_dag.cascade_blocks()` (or equivalent) so that blocked states propagate cleanly, allowing the `all_done` or block detection logic to exit the while loop correctly. 5b8a073 \ No newline at end of file