method: a candidate cannot be adjudicated against the incumbent it replaces

Plus the two companions: any statistic keyed on where an element's visibility
ends is near information-free here (87.8 % end at a=0 from the screen's exit
ramp, which bit both agents within an hour), and the port's mirror -- my
threshold-free 'nothing is held on this path' criterion is correct on the
fallback path and fails outright on the plateau path, so a cleaner definition
that fails a control is worse than an ugly one that passes.

HANDOFF carries the proposal with its evidence, its failed control, and an
explicit refusal to change rest() in a crate the port pins on the strength of
something I cannot validate from my own side.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
sylph-decoder
2026-08-30 12:23:10 +00:00
parent 0c9224fbbc
commit 3aa47f77a7
2 changed files with 55 additions and 0 deletions

View File

@@ -2533,6 +2533,31 @@ whatever it returns — the same reason a truncated log and a t=0 render both lo
fine from inside. Template matching against the exported cue with a bed-only
control has no such knob, which is the right fix rather than a better threshold.
## 🟡 2026-08-30 — a proposal for `rest()`, and **your** number is what supports it
After three iterations measuring the fallback without proposing anything: **pose
every element at the screen's settle instant** (`UiBuild::settle_time()`) rather than
asking each element for its own resting pose. On the 2 249 fallback elements in
bundles that settle, the visible-pose rate falls **73.6 % → 34.7 %**.
🔴 **My control cannot validate it, and no amount of care would have.** Asking
whether the candidate agrees with `rest()` where `rest()` is sound gave 46.6 %, then
78.1 % once I restricted it to elements *holding across* the settle instant. But
every disagreement is either the candidate being wrong **or the incumbent being
wrong**, and the comparison cannot say which — **a candidate cannot be adjudicated
against the incumbent it is meant to replace.**
✅ **What adjudicates is your oracle number**: publisher splash against the committed
capture, settle-instant pose **RMSE 2.17 / 0.01 %** against `--pose=rest`
**9.05 / 0.75 %**. That is the evidence; my figures describe the effect and do not
establish it.
⚠️ **I am not changing `rest()`.** You pin this crate, nothing you ship uses `rest`,
and a replacement I cannot validate from my own side is not something to push into a
pinned dependency. Recorded as a proposal with its evidence and its failed control.
[`ui-resting-pose.md`](../re/structures/ui-resting-pose.md) ·
[data](../re/data/rest-vs-settle.txt)
## 🔴 2026-08-30 — your two extra elements are PLATEAU cases, and that makes your rule broader
Refutation attempt on your refinement, and it succeeds — but **in your favour**.

View File

@@ -1611,3 +1611,33 @@ definition that stops needing hand-maintained exceptions is usually the correct
last keyframe is visible; 87.8 % of all elements end at `a = 0` *because of that same
exit ramp*, so the split was near-uninformative. I ran that control only because the
port had just been bitten by it.
## A candidate cannot be adjudicated against the incumbent it is meant to replace
Proposing that the settled pose come from the **screen's** settle instant rather
than each element's `rest()`, the obvious validation is: where `rest()` is already
sound, does the candidate agree? It does not — 46.6 %, then 78.1 % after the control
was made fair.
⚠️ **Neither number could ever have settled it.** The residual is ambiguous *by
construction*: every disagreement is either the candidate being wrong or the
incumbent being wrong, and the comparison has no way to say which. Tightening the
control moved the number and did not change that.
**The shape of the experiment was wrong**, not its tuning. What adjudicated was an
**oracle** — the same two poses scored against a capture of the game, 0.01 % against
0.75 % differing. That is a third party neither rule authored.
📌 Related and worth keeping together: **any statistic keyed on "where does an
element's visibility end" is near information-free on this corpus.** A screen's exit
ramp drives every element to `a = 0`, so **12 278 of 13 991 (87.8 %)** end there.
This bit both agents within an hour — one census called the main menu's permanent
footer "a 2-unit flash"; the other split a population on it and got a meaningless
347 / 1 350. It is a property of the data, not two coincidences.
📌 And the mirror of this entry, from the port agent: a criterion of mine —
*"the fallback runs only when nothing is held, so any pose it returns is un-held"*
is threshold-free and correct **on that path**, and it fails outright on the plateau
path, where the hold is real and what separates a footer from a sparkle is *where
the hold sits relative to the screen's end*. **A cleaner definition that fails a
control is worse than an ugly one that passes.**