not Tier M (changes how the loop constrains its own operation), declared at d8 because the rate for window 3 is what this document decides and declaring at a rate it invents would be circular. chaos d8 = 7, no override. I CLAIMED WINDOW 2 PRODUCED ZERO OVERRIDES, FIVE TIMES, AND IT IS FALSE. Declaration 3 (CB-WP-0020) rolled d8 = 8, overrode, drew S against a structural S, and changed nothing -- and CB-WP-0020 recorded it correctly at the time, in those words: "the first override at d8... It changed nothing... One." Counting the workplans takes one command and I never ran it. CB-EV-0024 asserted "zero" without checking; CB-EV-0025, 0026, 0027 and CB-WP-0029 each cited the one before. A claim propagated five times by citation rather than by measurement, in files whose subject was that exact failure. facts-check catches a copied number that disagrees with its source; nothing catches a number with NO source, asserted once and repeated. Registered F23, and all four evidence files carry an in-place correction rather than a silent edit (ADR-0012 D5). THE ACTUAL VERDICT: THE RATE IS WORKING. Eleven rolls at d8 -- declaration 1 opened the window at the old d4 -- against 1.375 eights expected, 1 observed. Not a shortage of evidence; the design. BUT THE RETIREMENT CONDITION GENUINELY CANNOT FIRE, and that took computing to see. "An override changes nothing twice running" needs a consecutive pair at P=1/3 each, so ~12 overrides expected, at ~1.4 per window: ~9 windows, roughly 100 declarations. A gate that cannot cash out on any realistic horizon is decoration, which ADR-0006 D3 forbids. Restated to be evaluated PER WINDOW: retire if a full window's overrides all change nothing, met in two consecutive windows. A window with no overrides is inconclusive and advances nothing. ~24 declarations rather than ~100. Window 2 counts as the first; window 3 opens at d8 and decides. Recorded and deliberately not acted on: declarations 5-9 rolled six five times running, ~1 in 370 for some run of five in eleven rolls. shuf tested over 200 rapid successive calls looks uniform, longest run three. Found post hoc, which is how coincidences become findings, so it is logged for a future window to check rather than treated as evidence. InnerLoop.md then crossed the loadability limit, and so did InnerLoopReference.md. The window log moved to specs/ChaosRollHistory.md: it grows by one entry per window, and a log inside a reference eventually crowds out the reference. make all: exit 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
6.5 KiB
ADR-0017: window 2's verdict — the mechanism worked, my account of it did not
status: accepted date: 2026-08-07 decided by: agent, under the standing loop authorization tier: M (structural M — changes how the loop constrains its own operation, InnerLoop §Loop tiers v1.6, ADR-0006 D5). Declared at d8, window 2's rate, because the rate for window 3 is what this document decides and declaring at a rate this pass invents would be circular. chaos: d8 = 7 → no override references: InnerLoop.md §Loop tiers, InnerLoopReference.md §Chaos roll, CB-EV-0015 §5 and CB-EV-0016 §4 (window 1's verdict), CB-WP-0020 (window 2's override)
Context
Window 2 opened 2026-08-03 at d8 and closed 2026-08-07 at twelve declarations. Its verdict is due, and four evidence files said it would be impossible to give.
The correction this ADR exists for
CB-EV-0024 §6, CB-EV-0025 §7, CB-EV-0026 §7, CB-EV-0027 §6 and CB-WP-0029 all state that window 2 produced zero overrides and that its retirement condition was untestable. That is false.
Counted from the workplans:
| decl | pass | roll | effect |
|---|---|---|---|
| 1 | CB-WP-0018 | d4 = 3 | opened the window; rolled at the old rate |
| 2 | CB-WP-0019 | d8 = 5 | — |
| 3 | CB-WP-0020 | d8 = 8 | OVERRIDE — drew S, structural was S, changed nothing |
| 4 | CB-WP-0021 | d8 = 7 | — |
| 5–9 | CB-WP-0022…0026 | d8 = 6, 6, 6, 6, 6 | — |
| 10 | CB-WP-0027 | d8 = 7 | — |
| 11 | CB-WP-0028 | d8 = 1 | — |
| 12 | CB-WP-0029 | d8 = 4 | — |
Eleven rolls at d8 — declaration 1 opened the window and rolled at d4. Expected 8s: 1.375. Observed: 1.
And CB-WP-0020 recorded it correctly at the time, in its own words: "the first override at d8 — it fired on the second roll at the new rate. It changed nothing, which is the first half of window 2's retirement condition. One."
So the data existed, was correct, and was written down. I asserted "zero" in CB-EV-0024 without counting, and each later evidence file cited the one before it. A claim propagated five times by citation rather than by measurement, in a project whose central discipline is that a number must carry its reproduction — and in files whose subject was that very failure.
Registered as a finding (F23), not buried here.
D1 — the mechanism is kept, and the rate stays at d8
d8 is behaving exactly as designed. 1 override observed against 1.375 expected is not a shortage of data; it is the rate working.
Window 1 at d4 produced 2 overrides in 12 and both changed the outcome — which is why the rate was lowered. Window 2 at d8 produced 1, which changed nothing. Nothing here argues for moving the rate again, and moving it would discard the only comparison the two windows give.
D2 — the retirement condition is restated, because as written it cannot fire
This is the real finding, and it took computing to see.
The condition is retire if an override changes nothing twice running. An override changes nothing when the drawn tier equals the structural tier: P = 1/3. Overrides arrive at ~1.4 per twelve-declaration window.
The expected number of overrides before seeing two consecutive no-change overrides is ~12. At 1.4 per window that is ~9 more windows, roughly 100 declarations.
A retirement condition that needs a hundred declarations is decorative. It cannot discipline the mechanism it governs, which is the entire reason a retirement condition exists (ADR-0006 D3: a gate must be able to cash out).
Replaced with a condition that can be evaluated once per window:
Retire the chaos roll if a full window's overrides all change nothing — and the window contains at least one override. A window with no overrides is inconclusive, and says so, rather than counting as evidence either way.
Window 2 under the new condition: one override, it changed nothing → the condition is MET for window 2. But a single window at ~1.4 overrides is a sample of one, so:
D2a — the mechanism is not retired on one window. The new condition must be met twice, in consecutive windows, before the roll is retired. That is the same conservatism as the old rule, moved to a level where the sample size makes it reachable: two windows, ~24 declarations, not ~100.
Window 2 counts as the first. Window 3 decides.
D3 — what would falsify this decision
- If window 3 produces zero overrides, the condition is inconclusive and the retirement clock does not advance. Two inconclusive windows running would mean d8 is too sparse to evaluate even at window level, and the rate should rise rather than the mechanism be kept by default.
- If an override ever changes an outcome in a way that produces a finding, the mechanism has paid for itself and the retirement clock resets — which is what happened twice in window 1.
D4 — a post-hoc observation, recorded and deliberately not acted on
Declarations 5–9 rolled six, five times running. The chance of some run of five in eleven d8 rolls is roughly 1 in 370.
shuf was tested and looks fine — 200 rapid successive calls gave a
reasonable spread across all eight values with a longest run of three.
And this was found by looking after the fact, which is how coincidences become findings. It is recorded so a future window can check whether it recurs, and not treated as evidence of anything. If a second window shows a long run, that is two observations and worth investigating.
Consequences
specs/InnerLoop.mdrecords window 2's result and window 3's terms.- Window 3 opens at d8, twelve declarations, under D2's condition.
- The four evidence files carrying the false claim are corrected in place, each pointing here — per ADR-0012 D5, a claim retracted silently is how three wrong premises survived.
- F23 registered.
What was rejected
| rejected | why |
|---|---|
| "the mechanism produced no data" | false — one override, exactly at the expected rate |
| moving the rate again | nothing argues for it, and it would discard the two-window comparison |
| keeping the old retirement condition | it needs ~100 declarations to fire; a gate that cannot cash out is decoration |
| retiring the roll on window 2 alone | one window at ~1.4 overrides is a sample of one |
| treating the five consecutive 6s as a finding | found post hoc, and shuf tests clean |
| correcting the evidence files silently | ADR-0012 D5 |