re: rest_plateau() picks the wrong plateau -- and it is the whole residual
rest_plateau() selects the LONGEST run of identical adjacent poses, which need
not be the run covering the screen's settle instant. rest_vs_settle left a 21.9 %
disagreement that I recorded as ambiguous by construction. It is not.
CONTROL exactly one plateau, covering the settle instant:
3 072 / 3 072 agree (100.0 %)
TEST more than one plateau, at least one covering:
1 622 elements, agree on 586 (36.1 %)
of the 1 036 disagreements, rest() landed on a run NOT covering the
settle instant: 1 036 -- all of them, no exceptions
Both poses are genuinely held in these cases -- they are plateau cases, not
transients -- so this is rest() returning a pose the screen has ALREADY LEFT by
the time it settles.
This corrects my own METHOD entry of two iterations ago, which said a candidate
cannot be adjudicated against the incumbent it replaces. Too strong. The bare
comparison cannot; the comparison plus a structural property that independently
says which side is wrong in each disagreement can. What I lacked was not an
oracle but a discriminator.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
36
docs/re/data/plateau-choice.txt
Normal file
36
docs/re/data/plateau-choice.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
# Does rest_plateau() pick the WRONG plateau? Yes -- and it accounts for the
|
||||
# whole residual. 2026-08-30, examples/plateau_choice.rs
|
||||
#
|
||||
# rest_plateau() selects the LONGEST run of identical adjacent poses
|
||||
# ('len >= any_len'), which need not be the run covering the screen's settle
|
||||
# instant. rest_vs_settle left a 21.9 % disagreement unexplained and I flagged
|
||||
# it as ambiguous by construction. It is not ambiguous.
|
||||
#
|
||||
CONTROL — exactly ONE plateau, and it covers the settle instant:
|
||||
3072 elements, rest() and pose_at(settle) agree on 3072 (100.0 %)
|
||||
|
||||
TEST — MORE THAN ONE plateau, at least one covering the settle instant:
|
||||
1622 elements, agree on 586 (36.1 %)
|
||||
of the 1036 disagreements, rest() landed on a run that does NOT cover
|
||||
the settle instant: 1036
|
||||
|
||||
--- END (if this line is missing, the run did not finish) ---
|
||||
#
|
||||
# ✅ THE CONTROL IS EXACT. Where an element has exactly ONE plateau and it
|
||||
# covers the settle instant, rest() and pose_at(settle) agree 3 072 / 3 072.
|
||||
# The comparison is sound; the disagreements are not noise.
|
||||
#
|
||||
# ✅ AND EVERY DISAGREEMENT IS ATTRIBUTABLE. In all 1 036 of them rest()
|
||||
# returned a pose from a run that does NOT contain the settle instant, while
|
||||
# pose_at(settle) sat on one that does. Both poses are genuinely HELD -- these
|
||||
# are plateau cases -- so this is not 'a held pose versus a transient'. It is
|
||||
# rest() returning a pose the screen has ALREADY LEFT by the time it settles.
|
||||
#
|
||||
# 1036 of 1036, no exceptions. The 21.9 % residual is the incumbent's.
|
||||
#
|
||||
# 🔴 THIS CORRECTS MY OWN METHOD ENTRY of two iterations ago, which said a
|
||||
# candidate cannot be adjudicated against the incumbent it replaces. Too
|
||||
# strong. The bare comparison cannot -- but the comparison PLUS a structural
|
||||
# property that independently says which side is wrong in each disagreement
|
||||
# CAN, and 'does the chosen run contain the settle instant' is such a
|
||||
# property. What I lacked was not an oracle; it was a discriminator.
|
||||
@@ -342,15 +342,30 @@ The naive one was misspecified, caught by asking what 46.6 % means physically:
|
||||
`rest()` finds *a* held pose, and many elements hold one during the build-in then
|
||||
move on. Different questions; disagreement proves nothing.
|
||||
|
||||
⚠️ **And the fair control's 21.9 % residual is ambiguous by construction.**
|
||||
`rest_plateau()` picks one plateau; an element with two, whose settle instant falls
|
||||
in the *other*, disagrees — and there `pose_at(settle)` is **right** and `rest()`
|
||||
wrong. The control cannot separate *"the candidate is wrong"* from *"the incumbent
|
||||
is wrong"*.
|
||||
⚠️ **The fair control's 21.9 % residual looked ambiguous by construction** —
|
||||
`rest_plateau()` picks one plateau, and an element with two whose settle instant
|
||||
falls in the *other* disagrees.
|
||||
|
||||
🔴 **Comparing a candidate to the incumbent cannot adjudicate when the incumbent is
|
||||
the thing under suspicion.** No care with this control fixes that; it is the wrong
|
||||
shape of experiment.
|
||||
✅ **RESOLVED (2026-08-30, later): it is not ambiguous, and the residual is entirely
|
||||
the incumbent's** ([`../data/plateau-choice.txt`](../data/plateau-choice.txt)).
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **control** — exactly one plateau, covering the settle instant | **3 072 / 3 072 agree (100.0 %)** |
|
||||
| **test** — more than one plateau, at least one covering | 1 622 elements, agree on 586 (36.1 %) |
|
||||
| of the **1 036** disagreements, `rest()` landed on a run **not covering** the settle instant | **1 036 — all of them** |
|
||||
|
||||
`rest_plateau()` selects the **longest** run (`len >= any_len`), which need not be
|
||||
the one the screen is actually sitting in. **Both poses are genuinely held** — these
|
||||
are plateau cases, not transients — so this is `rest()` returning a pose the screen
|
||||
has **already left** by the time it settles.
|
||||
|
||||
🔴 ~~**Comparing a candidate to the incumbent cannot adjudicate when the incumbent is
|
||||
the thing under suspicion.**~~ **Too strong — corrected the same day.** The *bare*
|
||||
comparison cannot. The comparison **plus a structural property that independently
|
||||
says which side is wrong in each disagreement** can, and *"does the chosen run
|
||||
contain the settle instant"* is such a property: it attributes **1 036 of 1 036**.
|
||||
What was missing was not an oracle but a **discriminator**.
|
||||
|
||||
### ✅ Closing the gap: `settle_time()` itself, against the game
|
||||
|
||||
|
||||
Reference in New Issue
Block a user