From 005b-golden.md's task table (design 005b).
- Depends on: T1, T2
- Covers: 005 S7, S4b
Goal: every scene gets one short, assertion-led smoke probe (no pixel pins), and probes carry a marking that separates the gating set from the catchup set — 005's S7 and S4b.
Context. Scenes today: games/tonapse/tonapse.tscn,
games/explore/explore.tscn, games/explore/explore_ship.tscn (no probe
yet). shared/VisualProbe.cs enforces a strict root-key allow-list on probe
JSON — a new key is a C# change, and an unknown key fails the probe.
Build:
- One smoke probe per scene under tools/probes/, assertion steps only
(expect_focus/expect_mode/expect_pattern), target a few seconds each.
- A new probe-JSON root key (add to VisualProbe.cs's allow-list) marking
presubmit vs postsubmit; missing means postsubmit (the safe
direction). Smoke probes are presubmit.
- T1's rule 5 then shrinks: shared/-and-root changes select the presubmit
set instead of all probes.
PR shape: a stack of two — T5a the three smoke probes (probe JSON
only, reviewable as test design); T5b the marking key (VisualProbe.cs
allow-list, C# + selection-rule change) and the rule-5 shrink.
Done when: each scene has a green smoke probe, the marking round-trips
through VisualProbe.cs, and a shared/ change selects the smoke set.
No comments.