Private
Public Access
0
0

conductor(plan): mark Phase 2 complete (drain plane: 3 render functions + 2 invariant tests)

TIER-2 READ conductor/code_styleguides/error_handling.md end-to-end before Phase 2.

Phase 2 covered:
- t2.1 [5b139e6]: render_controller_error_modal — reads 8 controller attrs;
  opens per-attr popups (Pattern 2 drain point)
- t2.2 [5b139e6]: _render_worker_error_indicator — status-bar widget
- t2.3 [5b139e6]: _render_last_request_errors_modal — per-request modal
- t2.4 [5b139e6]: 2 Phase 2 invariant tests (test_phase_2_invariant_drain_plane_render_functions_exist
  + test_phase_2_invariant_drain_plane_app_delegations_exist)
- Phase 2 checkpoint: state.toml Phase 2 -> completed.

Audit: no new violations. Tests: 4/4 pass.

Phase 3 begins: INTERNAL_BROAD_CATCH Batch A migration (8 render-loop sites
from the inventory: L731, L742, L1123, L1172, L1198, L1223, L1285, L4849).
This commit is contained in:
2026-06-19 21:34:06 -04:00
parent 5b139e6ab1
commit 4e9ab451dc
2 changed files with 14 additions and 14 deletions
@@ -302,7 +302,7 @@ git commit -m "conductor(plan): mark Phase 1 complete (42-site inventory + invar
**Focus:** Add the 3 new render functions that read from the controller's data plane and render errors as popups / status indicators. This is the drain plane.
### Task 2.1: Add `render_controller_error_modal`
### Task 2.1: Add `render_controller_error_modal` [5b139e6]
**Files:**
- Modify: `src/gui_2.py` (add new module-level render function near `render_error_tint` at line ~6700)
@@ -422,7 +422,7 @@ git add src/gui_2.py
git commit -m "feat(gui_2): add render_controller_error_modal (drain plane Pattern 2)"
```
### Task 2.2: Add `_render_worker_error_indicator`
### Task 2.2: Add `_render_worker_error_indicator` [5b139e6]
**Files:**
- Modify: `src/gui_2.py`
@@ -472,7 +472,7 @@ git add src/gui_2.py
git commit -m "feat(gui_2): add _render_worker_error_indicator (status bar)"
```
### Task 2.3: Add `_render_last_request_errors_modal`
### Task 2.3: Add `_render_last_request_errors_modal` [5b139e6]
**Files:**
- Modify: `src/gui_2.py`
@@ -522,13 +522,13 @@ git add src/gui_2.py
git commit -m "feat(gui_2): add _render_last_request_errors_modal (per-request errors)"
```
### Task 2.4: Phase 2 invariant test + checkpoint
### Task 2.4: Phase 2 invariant test + checkpoint [5b139e6]
**Files:**
- Modify: `tests/test_gui_2_result.py`
- Modify: `conductor/tracks/result_migration_gui_2_20260619/state.toml`
- [ ] **Step 1: Add Phase 2 invariant test**
- [x] **Step 1: Add Phase 2 invariant test**
Append to `tests/test_gui_2_result.py`:
@@ -564,13 +564,13 @@ uv run python -m pytest tests/test_gui_2_result.py -v
Expected: 4 PASSED (2 Phase 1 + 2 Phase 2)
- [ ] **Step 3: Update state.toml Phase 2**
- [x] **Step 3: Update state.toml Phase 2**
```toml
phase_2 = { status = "completed", checkpointsha = "<commit_sha>", name = "Drain plane wiring (3 new render functions)" }
```
- [ ] **Step 4: Commit**
- [x] **Step 4: Commit**
```bash
git add tests/test_gui_2_result.py conductor/tracks/result_migration_gui_2_20260619/state.toml
@@ -20,7 +20,7 @@ result_migration_baseline_cleanup = "blocked by this track; date TBD when this t
[phases]
phase_0 = { status = "completed", checkpointsha = "62188d6", name = "Setup + styleguide re-read (3 tasks)" }
phase_1 = { status = "completed", checkpointsha = "554fbbd", name = "Site inventory + classification (3 tasks; 42 sites in PHASE1_SITE_INVENTORY.md)" }
phase_2 = { status = "pending", checkpointsha = "", name = "Drain plane wiring (4 tasks; 3 new render functions + 2 invariant tests)" }
phase_2 = { status = "completed", checkpointsha = "5b139e6", name = "Drain plane wiring (4 tasks; 3 new render functions + 2 invariant tests)" }
phase_3 = { status = "pending", checkpointsha = "", name = "INTERNAL_BROAD_CATCH Batch A — render-loop sites (<=10 sites)" }
phase_4 = { status = "pending", checkpointsha = "", name = "INTERNAL_BROAD_CATCH Batch B — modal/dialog sites (<=10 sites)" }
phase_5 = { status = "pending", checkpointsha = "", name = "INTERNAL_BROAD_CATCH Batch C — event handler sites (<=10 sites)" }
@@ -45,10 +45,10 @@ t1_2 = { status = "completed", commit_sha = "a068934", description = "Walk the a
t1_3 = { status = "in_progress", commit_sha = "", description = "Create tests/test_gui_2_result.py with 2 Phase 1 invariant tests; Phase 1 checkpoint" }
# Phase 2: Drain plane wiring (4 tasks)
t2_1 = { status = "pending", commit_sha = "", description = "Add render_controller_error_modal(app) — reads 8 controller attributes; renders popups" }
t2_2 = { status = "pending", commit_sha = "", description = "Add _render_worker_error_indicator(app) — status bar widget with click-to-expand modal" }
t2_3 = { status = "pending", commit_sha = "", description = "Add _render_last_request_errors_modal(app) — per-request error modal" }
t2_4 = { status = "pending", commit_sha = "", description = "Add 2 Phase 2 invariant tests; Phase 2 checkpoint" }
t2_1 = { status = "completed", commit_sha = "5b139e6", description = "Add render_controller_error_modal(app) — reads 8 controller attributes; renders popups" }
t2_2 = { status = "completed", commit_sha = "5b139e6", description = "Add _render_worker_error_indicator(app) — status bar widget with click-to-expand modal" }
t2_3 = { status = "completed", commit_sha = "5b139e6", description = "Add _render_last_request_errors_modal(app) — per-request error modal" }
t2_4 = { status = "in_progress", commit_sha = "", description = "Add 2 Phase 2 invariant tests; Phase 2 checkpoint" }
# Phase 3: INTERNAL_BROAD_CATCH Batch A — render-loop sites (<=10)
t3_0 = { status = "pending", commit_sha = "", description = "Phase 3 styleguide re-read (Pattern 2 lines 396-407) + ack commit" }
@@ -167,7 +167,7 @@ t13_5 = { status = "pending", commit_sha = "", description = "Final checkpoint +
[verification]
phase_0_complete = true
phase_1_complete = true
phase_2_complete = false
phase_2_complete = true
phase_3_complete = false
phase_4_complete = false
phase_5_complete = false
@@ -182,7 +182,7 @@ phase_13_complete = false
audit_strict_exits_0 = false
batched_suite_11_of_11_pass = false
site_inventory_has_42_rows = true
drain_plane_render_functions_exist = false
drain_plane_render_functions_exist = true
silent_swallow_count_zero = false
rethrow_count_zero = false
unclear_count_zero = false