main's probe baseline can only ever be advanced from Windows, so the UI gate goes report-only as dev moves to Linux nf-pvmy ← Beads

closed priority 2 task unassigned activesession:probe-gate

Twinned from https://github.com/cfsh/ninefold/issues/580 by tools/beads/import_github.py's reconcile pass.

Consequence of #566 that neither #567 nor #573 addresses, and it grows rather than shrinks as dev moves off Windows. Filing rather than fixing: the fix is a design choice with a real trade-off, and picking wrong makes the UI gate quieter than it looks.

The state now

#567 made the probe baseline platform-aware: the record carries "platform", and a sweep whose platform differs from the baseline's reports but refuses to record. That was necessary — without it, the first Linux merge would have written *"all 34 probes on main are broken"* into the shared screenshots branch, and it demonstrably tried to (post-merge gate on 572692e: 0 passed, 34 failed, all Godot console exe not found at C:/Tools/Godot/…, refused).

But "refuses to record" is permanent in one direction. The stored baseline says windows (unstamped legacy → windows, fail-closed). So:

⚠️ The failure mode is quiet, which is the part that matters. The gate keeps printing a full, correct-looking report every merge. Nothing says "this comparison is against a baseline N merges old and will never move from here". That is the #389 shape the file's own docstring invokes — a gate that runs and reports while doing less than the reader assumes — and #566's whole direction is more Linux, not less.

Why #572 does not cover it

#572 is *why* 5 probes diverge on Linux (focus-grammar, focus-ring, new-pattern, playhead-song, single-screen-pill). Even if all five were fixed tomorrow and Linux matched Windows exactly, this issue would remain: the baseline is stamped windows, so a Linux sweep still refuses to record. The guard keys off the platform label, not off whether the results happen to agree.

Directions, not a decision

Whichever way it goes, the gate's output should name the staleness it is comparing against. That part is cheap and is worth doing regardless.

Related: #572 (why the five diverge), #566 (the move to Linux), #417 (where CI would run — a second box running the sweep is the other answer), #389 (the original rotted-UI-gate incident).

Unclaimed.

Dependencies

None.

Comments

No comments.

Add a comment