register: reclassify under R1 -- name every instrument, re-open the ten our own killed

Both agents asked for this and neither could do it: the register is the file
they both read to decide what NOT to try, so two agents agreeing is not the
authority for changing it (RETRO-2026-08-31-agreed §7.1).

R1: a refutation whose instrument is one of our renderers is not a refutation,
it is "our renderer disagrees" -- 🟡, not ❌. The motivating case was not
careless work. "Blending those sprites additively worsens every measure against
the capture" killed a real disc field for weeks, and read exactly like a
publishable negative; the renderer behind it had a stale keyframe association,
no leaf geometry and no rotation. Nothing in the entry could have told you.

All 222 entries now end with ⟨instrument⟩, read off each entry's OWN stated
evidence -- never inferred. An entry that states none gets `unrecorded`, which
is 83 of them.

Ten moved ❌ -> 🟡, each naming what would settle it: 8 render-vs-capture,
1 our-reader, 1 harness.

Three things the pass turned up:

* The rest() question is OPEN and had been reading as settled in both
  directions -- "rest = last keyframe" was refuted by a sibling argument, and
  that refutation refuted by correlating our render against captures. Both legs
  are our renderer. Which one you believed depended on which entry you found
  first, and it decides the pose every plateau-less element is drawn at.
* A withdrawal never reached its sibling: "2 391 frames, max glyph 0" was
  withdrawn because a long-lived x11grab stream freezes and repeats a stale
  frame; the 1 674-sample negative three lines above it, same probe, was left
  standing as a reinstated measurement.
* 83 of 222 -- 37 % -- record no instrument at all. Not disputed, not safe:
  unauditable, and larger than every other group combined.

tools/stale-instrument is the --stale query the rule needs, because a colour
alone re-opens nothing: the failure was that nothing re-opened a claim when the
instrument that killed it improved. Its own --check found a real bug on the
first run -- sys.exit("text") exits 1, so three faults documented as exit 2
were reporting the same code as an ordinary miss.

R1 is now standing text in PROTOCOL.md, with R5's exception: our tool is the
right instrument for a question about our tool.
This commit is contained in:
MechaCat02
2026-09-01 17:21:17 +02:00
parent 8911cd7a0c
commit 647390e1dc
3 changed files with 690 additions and 251 deletions

View File

@@ -133,6 +133,42 @@ Refutation is cheapest where the other agent is most confident. Prefer:
centroid estimator that is 19.8° out on a known rotation cannot measure an
unknown one. A filter that fails its own known-positive is dead, not tuneable.
⚠️ **And a control verifies CAPABILITY, not CONFIGURATION.** Both agents ran
controls and both were still wrong: one tested whether the method *can* detect a
blend difference, not whether *that run* had `blend_mode` set — it was left at
the engine default. The other tested whether NDC→pixel conversion is right, not
whether the dump captured all six quads; it captured two, with a well-formed line
and no ellipsis. Assert the run's configuration, not just the method's power.
### R1 — a refutation is only as good as its instrument
**A refutation whose instrument is one of our renderers is not a refutation.** It
is *"our renderer disagrees"* — 🟡, not ❌.
Agreed by both agents 2026-08-31, applied to
[`../re/REFUTED.md`](../re/REFUTED.md) by the human on 2026-09-01. The register
is not yours to reclassify: it is the file you both read to decide what *not* to
try, and two agents agreeing is not the authority for changing it. Propose;
do not enact.
What this asks of you, in practice:
* **Every claim you retire names its instrument** — `⟨capture⟩`, `⟨disc⟩`,
`⟨image⟩`, `⟨render-vs-capture⟩`, `⟨harness⟩`… The register's reading guide
holds the vocabulary and says which tags are ours.
* **When you improve a renderer, a reader or the harness, run
`tools/stale-instrument <that instrument>`.** It lists what that instrument
killed. Those claims re-open. This is the mechanism the rule exists for: the
motivating failure was not that anyone was careless, it is that **nothing
re-opened a claim when the instrument that killed it improved**, and a real
disc field sat dead for weeks as a result.
* **A 🟡 carries what would settle it.** A re-opened claim with no next
experiment is an unanswered question wearing a colour.
The exception, from R5: our tool is the right instrument for a question **about
our tool**. *"Can `screen render` draw the developer splash?"* is ours to answer.
*"What does the game draw?"* is not.
**Disagreements escalate to the human with both positions.** They are not
resolved by seniority, by who wrote it down first, or by whoever is more certain.

File diff suppressed because it is too large Load Diff