gallery: Chief inspector stage mounts with its first screen's answers in (flaky load shift)
What was red. gallery health on pushes to feat-cmux-next: pages.chief-inspector#prompt scored a load shift of 0.0159 against its 0 baseline in one of the two jobs that render it (run 41643573386 at 5505bbd051). The other job scored 0, so the state was flaky. On a push, a flaky red still fails the run.
Cause. The gallery entry's ApiStore answers from an async fixture fetcher. useSyncExternalStore subscribes in a passive effect, and that effect can run after the first paint. So in some renders the first frame showed "Loading…" and no summary line, and the prompt then drew over it. The gate that catches this is the load-shift gate from #30250. The fixture dates from Lawrence's "chief-inspector page ... has a gallery entry (fixture-backed App, page:cmux.chief-inspector)" (53e28d0dfcc). It never warmed its store, and that only began to count when the shift gate landed.
Fix (gallery fixture only). The entry's load now builds one store per fixture (reachable and unreachable) and awaits the URLs the Prompt and Timeline tabs read before the component mounts (/api/status, /api/turns, /api/turn?key=now). The first frame is then the final one. No shipped code changes. The baseline stays at 0.
Risk. Gallery only, in webviews/src/pages/chief-inspector/chief-inspector.gallery.tsx. That path is Chief code, so it gets its own PR. Area owner by git log: @lawrencecchen, who is requested for awareness. This is not a wait gate.
Split from the rest of the gallery flake fixes, which are in a sibling PR.
Agent session: agent session
🤖 Generated with Claude Code
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes a flaky load shift in the Chief Inspector gallery entry so the first frame is now the final one.
Some renders showed "Loading…" on first paint because the fixture fetcher's answers settled a tick later, causing a 0.0159 load shift. The entry's load now warms one store per fixture (reachable and unreachable) with the URLs the Prompt and Timeline tabs read (/api/status, /api/turns, /api/turn?key=now). Gallery fixture only; no shipped code changes.