Tier 2's e9654518 ('fix(layout): strip stale dockspace IDs from bundled INI;
force live-session apply') broke the bundled INI. Tier 2's theory was
wrong: they claimed HelloImGui computes DockSpace IDs dynamically and
auto-docks windows without DockId references. Reality:
- When an INI exists, HelloImGui reads the literal DockSpace ID
from the file and uses it (matches runtime-generated 2949142533
per the SplitIds line in the user's working INI).
- Without [Docking] children + per-window DockId lines, the dockspace
is empty and windows float at Pos but get clipped by the full-screen
dockspace. Result: zero panels render.
Empirical evidence (from this session, 2026-06-29):
- User's working master manualslop_layout.ini: 2150 bytes,
[Docking] with DockSpace ID=0xAFC85805 + 2 DockNode children
+ per-window DockId. All 9 default-visible panels render.
- Tier 2's saved INI on tier2-clone/tier2/default_layout_install_20260629
HEAD (post-e9654518): 1447 bytes, [Docking] with DockSpace +
CentralNode=1 only, NO DockNode children, NO DockId. ZERO panels
render. Empty workspace with just menu ribbon.
Track scope (4 phases, 22 tasks):
Phase 1: replace layouts/default.ini with working structure (12
default-visible windows with DockId=0x00000001,N or 0x00000002,N;
[Docking] block with DockSpace ID=0xAFC85805 + 2 DockNode children;
scrub stale 'Response' name + the 9 other _STALE_WINDOW_NAMES).
Phase 2: flip tests/test_default_layout_install.py assertions
(e9654518 inverted them: was asserting 'no [Docking] block' =
good; should assert [Docking] + DockIds exist = good).
Phase 3: append FOLLOWUP addendum to Tier 2's TRACK_COMPLETION
documenting e9654518's wrong theory + this correction.
Phase 4: empirical verify (spawn sloppy.py on fixed branch; observe
12 panels render; no [GUI] WARNING: stale window names).
Preserve from e9654518:
- Live-session imgui.load_ini_settings_from_memory() apply
(src/gui_2.py:1478). That part IS correct: HelloImGui reads
ini_filename BEFORE post_init fires, so the live re-apply is
needed for same-session visibility.
Branch: fix lands as 3 fixup commits on
tier2-clone/tier2/default_layout_install_20260629 (no new branch).
TDD red-first per task. NO day estimates per workflow.md Tier 1
Track Initialization Rules. No new src/<thing>.py files (the fix
modifies layouts/default.ini + the existing tests + a doc report).
Empirical: see Image 1 vs Image 2 comparison captured in this session
(screenshots in opencode-minimax-vision/); working main repo has
panels, tier 2 branch has empty workspace.