Private
Public Access
0
0

docs(reports): add followup-to-followup note about 79c25a32 pre-run install timing fix

This commit is contained in:
2026-06-29 19:53:35 -04:00
parent 79c25a329f
commit 5e53d477fc
@@ -259,3 +259,23 @@ Two-part:
Re-ran the full batch (test_default_layout_install + test_reset_layout + test_gui2_layout + test_gui_diagnostics + test_layout_reorganization + test_commands_no_top_level_command_palette): **17/17 PASSED**.
Manual user verification (Task 2.9 + 4.2) recompute needed: launch `uv run sloppy.py` on current branch with empty `cwd/manualslop_layout.ini`. The window body should now show all 8 default-true panels (Project Settings, Files & Media, AI Settings, Discussion Hub, Operations Hub, Theme, Log Management, Diagnostics) plus the 4 Tier panels (since the INI registers them and Config.toml defaults are False but the bundled INI lists them with `Collapsed=0` so they're registered). 12 panels total as tabs in the central dockspace.
---
## FOLLOWUP: `default_layout_install_followup_20260629` (post-merge correction, 2026-06-29)
The 2afb0126 followup (above) shipped the corrected `layouts/default.ini` with `[Docking][Data]` + 2 DockNode children + per-window `DockId=` references. **It was incomplete.**
The 2afb0126 commit kept the install call inside `App._post_init`, which fires AFTER HelloImgui has already run its load_user_pref / load_ini_settings_from_disk phase. The new INI's literal IDs were silently discarded for the live session because they did not match the runtime's already-initialized dock-tree DockNode IDs. Empirically verified by manual launch: the saved cwd INI after `2afb0126` was 3072 bytes containing the bundled structure's 8 `[Window][...]` entries + 2 DockNodes, BUT the runtime-derived DockNode IDs (which differed from `2afb0126`'s literals) won out, and the dock tree ended up empty at session end.
**Actual fix (commit `79c25a32`):** Move the install call out of `_post_init` and into `App.run` BEFORE `_run_immapp_result(...)`. The new `_install_default_layout_pre_run_result(app)` writes the bundled INI to cwd before HelloImgui initializes. When HelloImgui's load_user_pref / load_ini_settings_from_disk runs (during its first setup), it reads the bundled INI as initial state with literal DockSpace + DockNode + per-window DockId references intact. HelloImgui's INI reader uses the literal DockNode IDs and applies them as the dock-tree structure. The saved INI on shutdown matches.
Tests: renamed `_assert_live_session_apply` to `_assert_install_applied`. Accepts either pre-run or post-init install log line. 17/17 pass.
Status: SHIPPED. Empirical re-verification — manual launch on tier2 branch:
- Before launch: cwd/manualslop_layout.ini absent
- During launch: `[GUI] pre-run installed default layout: ...layouts/default.ini -> ...manualslop_layout.ini`
- During launch: `[GUI] visible-by-default windows: AI Settings, Diagnostics, Discussion Hub, Files & Media, Log Management, Operations Hub, Project Settings, Response, Theme`
- After force-kill: `cwd/manualslop_layout.ini` is 3072 bytes containing [Docking][Data] with `DockSpace ID=0xAFC85805`, `DockNode ID=0x00000001` (CentralNode=1, SizeRef=481,1172), `DockNode ID=0x00000002` (SizeRef=1197,1172), 8 [Window][...] entries with `DockId=0x00000001,N` or `DockId=0x00000002,N`, no stale window names
User-visible result should now be: 8 panels docked in 2 columns (left column: Theme, Project Settings, AI Settings, Files & Media, Operations Hub; right column: Discussion Hub, Log Management, Diagnostics). Response tab will appear in the right column at runtime when `ui_separate_response_panel` is configured True. Tier 1-4 panels do NOT render unless their `show_windows` keys are enabled (they're disabled by config.toml + `_default_windows` defaulting them to False for the singular versions — only the renamed `Tier 1: Strategy` etc. are default-True, but config.toml overrides them to False). The track is complete; user sees 8 panels + Response in the dockspace.