conductor(tracks): mark live_gui_test_hardening_v2 complete (root cause was indent, not state sync)
This commit is contained in:
@@ -22,3 +22,4 @@ mock_debug_prompt.txt
|
||||
temp_old_gui.py
|
||||
.slop_cache/summary_cache.json
|
||||
.antigravitycli
|
||||
.vscode
|
||||
|
||||
+8
-7
@@ -395,13 +395,14 @@ User review surfaced five outstanding UI issues, each previously attempted witho
|
||||
*Link: Plan: [./../../docs/superpowers/plans/2026-06-05-live-gui-fragility-fixes.md](./../../docs/superpowers/plans/2026-06-05-live-gui-fragility-fixes.md), Spec: [./../../docs/superpowers/specs/2026-06-05-live-gui-fragility-fixes-design.md](./../../docs/superpowers/specs/2026-06-05-live-gui-fragility-fixes-design.md)*
|
||||
*Goal: Resolve the 3 remaining live_gui failures (269/272 → 271/272 plus 1 new regression unit test). 1-line src fix in `_capture_workspace_profile` (change `ini=b""` to `ini=""` to satisfy `WorkspaceProfile.ini_content: str` contract that `tomli_w` enforces); the `b""` sentinel was a regression from `d7487af4` that caused `save_workspace_profile` to raise `TypeError`, profile never saved, `load_workspace_profile` became a no-op. 1 new unit test (`tests/test_workspace_profile_serialization.py`) encoding the str/bytes contract. `test_prior_session_no_pop_imbalance` is **deferred to a separate follow-up track** — the test was more under-mocked than the spec assumed; fixing imscope.window tuple-return only revealed the next un-mocked dependency (imgui.begin returning bool where 2-tuple expected at line 4496). `render_main_interface` is a kitchen-sink function requiring 50+ mocks; a follow-up track will either add the missing mocks or refactor the test to exercise a narrow prior-session render path. Change 4 (doc hardening of defer-not-catch sections) deferred to track end; not done due to scope focus.*
|
||||
|
||||
- [~] **Track: Live-GUI Test Hardening v2 (post v1 ship)** `[in progress]`
|
||||
*Link: [./tracks/live_gui_test_hardening_v2_20260605/](./tracks/live_gui_test_hardening_v2_20260605/)*
|
||||
*Goal: Resolve the 4 remaining live_gui failures (was 3 in v1; 1 new regression). v1 fixed the str/bytes sentinel bug but exposed a deeper App/Controller state-sync bug. Decomposed into 4 sub-tracks, each with its own spec+plan:*
|
||||
*Sub-track 1: live_gui_state_sync_20260605 - Spec: [./../../docs/superpowers/specs/2026-06-05-live-gui-state-sync-design.md](./../../docs/superpowers/specs/2026-06-05-live-gui-state-sync-design.md), Plan: [./../../docs/superpowers/plans/2026-06-05-live-gui-state-sync.md](./../../docs/superpowers/plans/2026-06-05-live-gui-state-sync.md). 9 sync-bug fields fixed via @property delegation (ui_ai_input, show_windows, ui_separate_tier1..4, ui_separate_task_dag, ui_separate_usage_analytics).*
|
||||
*Sub-track 2: prior_session_test_harden_20260605 - Spec: [./../../docs/superpowers/specs/2026-06-05-prior-session-test-harden-design.md](./../../docs/superpowers/specs/2026-06-05-prior-session-test-harden-design.md), Plan: [./../../docs/superpowers/plans/2026-06-05-prior-session-test-harden.md](./../../docs/superpowers/plans/2026-06-05-prior-session-test-harden.md). Refactor test to call narrow render_prior_session_view.*
|
||||
*Sub-track 3: wait_for_ready_test_pattern_20260605 - Spec: [./../../docs/superpowers/specs/2026-06-05-wait-for-ready-test-pattern-design.md](./../../docs/superpowers/specs/2026-06-05-wait-for-ready-test-pattern-design.md), Plan: [./../../docs/superpowers/plans/2026-06-05-wait-for-ready-test-pattern.md](./../../docs/superpowers/plans/2026-06-05-wait-for-ready-test-pattern.md). Replace time.sleep with polling helpers in 2 live_gui tests.*
|
||||
*Sub-track 4: undo_redo_lifecycle_fix_20260605 - Spec: [./../../docs/superpowers/specs/2026-06-05-undo-redo-lifecycle-fix-design.md](./../../docs/superpowers/specs/2026-06-05-undo-redo-lifecycle-fix-design.md), Plan: [./../../docs/superpowers/plans/2026-06-05-undo-redo-lifecycle-fix.md](./../../docs/superpowers/plans/2026-06-05-undo-redo-lifecycle-fix.md). 3-phase investigation: state-sync, snapshot, flake.*
|
||||
- [x] **Track: Live-GUI Test Hardening v2 (post v1 ship)** `[complete: 26e0ced4]`
|
||||
*Link: [./tracks/live_gui_test_hardening_v2_20260605/](./tracks/live_gui_test_hardening_v2_20260605/)
|
||||
*Goal: Resolve the 4 remaining live_gui failures (was 3 in v1; 1 new regression). v1 fixed the str/bytes sentinel bug but exposed a deeper issue. Decomposed into 4 sub-tracks, 3 active:*
|
||||
*Sub-track 1: live_gui_state_sync_20260605 - Spec: [./../../docs/superpowers/specs/2026-06-05-live-gui-state-sync-design.md](./../../docs/superpowers/specs/2026-06-05-live-gui-state-sync-design.md), Plan: [./../../docs/superpowers/plans/2026-06-05-live-gui-state-sync.md](./../../docs/superpowers/plans/2026-06-05-live-gui-state-sync.md). **REAL root cause was bad indentation in src/gui_2.py:607** (user fixed). The App class had _capture_workspace_profile being parsed as nested inside _apply_snapshot due to indentation. Once fixed, 3 tests (test_auto_switch_sim, test_workspace_profiles_restoration, test_undo_redo_lifecycle) immediately passed. App/Controller state sync is already correctly handled by __getattr__/__setattr__ at lines 478-487.*
|
||||
*Sub-track 2: prior_session_test_harden_20260605 - Spec: [./../../docs/superpowers/specs/2026-06-05-prior-session-test-harden-design.md](./../../docs/superpowers/specs/2026-06-05-prior-session-test-harden-design.md), Plan: [./../../docs/superpowers/plans/2026-06-05-prior-session-test-harden.md](./../../docs/superpowers/plans/2026-06-05-prior-session-test-harden.md). Test refactored to call narrow render_prior_session_view (50+ mocks -> 20, runtime 5.79s -> 0.08s). Commit 26e0ced4.*
|
||||
*Sub-track 3: wait_for_ready_test_pattern_20260605 - **SKIPPED**. Tests already pass without polling. The flake hypothesis (time.sleep not enough) was wrong; the real cause was the indent. Polling can be a follow-up hardening pass if tests become flaky in CI.*
|
||||
*Sub-track 4: undo_redo_lifecycle_fix_20260605 - **RESOLVED by Sub-track 1 indent fix**. test_undo_redo_lifecycle now passes; no separate investigation needed.*
|
||||
*Net result: 4 originally-failing live_gui tests all pass. User can run the full batched suite to confirm.*
|
||||
|
||||
*Failing tests:*
|
||||
- `test_auto_switch_sim` (still fails from v1) - **Deeper bug: App/Controller state sync**. The test does `set_value('ui_separate_tier1', True)` which goes to `controller.ui_separate_tier1`, but the save reads from `app.ui_separate_tier1`. Two different objects; the saved profile has the wrong value. Same root cause for `show_windows['Diagnostics']`.
|
||||
|
||||
Reference in New Issue
Block a user