Some checks failed
ci / check (push) Failing after 3s
T02 — all chance derives from one root seed. Three chance points, all reading it: the setup deck shuffle, the setup Lead draw, and the reshuffle permutation. The Problems deal is not chance at all. So in extensive-form terms the tree has a single chance node at the root. That test was wrong first, and the mutation caught it. It compared state hashes — and GroundState carries `seed` as a field, so "different seeds differ" was true by construction. Mutating the shuffle away left it green. It now compares the dealt configuration, and the same mutation fails it: a wrong-subject error inside the control written for T02. The reshuffle is a pure function of (seed, round) because K5 requires deterministic replay, where a real table reshuffles independently. That is a modelling restriction, not a defect, and it is now pinned. T03 — commit/reveal checked in both directions: before Reveal each seat sees its own selection and no other; after Reveal the information sets merge, because an encoding that hides forever is not commit/reveal either. T04 — ADR-0020 refuses the EFG port, and the blocker is T02 rather than T01, which inverts what the workplan expected. Perfect recall looked like the risk and is a constraint with a known answer: key on observation histories. Making chance explicit is the expensive one — the reshuffle would become a real chance node and break the K5 purity that every recording, replay bundle and trial-note hash depends on. A port would trade the property this project is built on for one it has never needed. Track B's first move is therefore a question, not a build: take "is exploitability meaningful for a co-operative game with a shared threshold" to OpenSpiel on a toy model, where answering it costs nothing. D4 states what being wrong looks like — OpenSpiel settling on a toy what three rounds of policy sweeps could not — and makes watching for it the next action. Taxonomy §4.1 records the EFG correspondence with the test that checks each row, so a later pass starts from a specification rather than a memory. Chaos window 4 at three declarations. Window 3's verdict is now two windows behind and should be evaluated rather than restated. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
107 lines
4.7 KiB
Markdown
107 lines
4.7 KiB
Markdown
# Chaos roll — window records
|
||
|
||
One entry per chaos window. Split out of `InnerLoopReference.md` when that
|
||
file crossed the loadability limit: this is a **log that grows**, and a log
|
||
inside a reference eventually crowds out the reference.
|
||
|
||
The rule itself lives in [`InnerLoop.md`](InnerLoop.md) §Loop tiers; the
|
||
current window's terms are there. This is the history the verdicts rest on.
|
||
|
||
**Window 1** (d4, closed 2026-08-02): 12 declarations, **2 overrides**, one
|
||
each way, and **both changed the outcome**. The mechanism was kept and the
|
||
rate dropped d4 → d8 (CB-EV-0015 §5, CB-EV-0016 §4).
|
||
|
||
**Window 2** (d8, 2026-08-03 → 2026-08-07): 12 declarations, of which
|
||
**11 rolled at d8** — declaration 1 (CB-WP-0018) opened the window and
|
||
rolled at the old d4. Expected 8s: **1.375**. Observed: **1**.
|
||
|
||
| decl | pass | roll | effect |
|
||
|---:|---|---|---|
|
||
| 1 | CB-WP-0018 | d4 = 3 | opened the window at the old rate |
|
||
| 2 | CB-WP-0019 | d8 = 5 | — |
|
||
| **3** | **CB-WP-0020** | **d8 = 8** | **override — drew S over a structural S: changed nothing** |
|
||
| 4 | CB-WP-0021 | d8 = 7 | — |
|
||
| 5–9 | CB-WP-0022…0026 | d8 = 6 ×5 | — |
|
||
| 10 | CB-WP-0027 | d8 = 7 | — |
|
||
| 11 | CB-WP-0028 | d8 = 1 | — |
|
||
| 12 | CB-WP-0029 | d8 = 4 | — |
|
||
|
||
**Verdict (ADR-0017): the rate is behaving as designed.** One override
|
||
against 1.375 expected is not a shortage of evidence.
|
||
|
||
**Why the retirement condition changed.** *"An override changes nothing
|
||
twice running"* requires a consecutive pair, each with P = 1/3, so ~12
|
||
overrides are expected before one occurs — at ~1.4 overrides per window,
|
||
**~9 windows or roughly 100 declarations**. A gate that cannot cash out on
|
||
any realistic horizon is decoration (ADR-0006 D3). It is now evaluated
|
||
**per window**, needing two consecutive qualifying windows: ~24
|
||
declarations rather than ~100.
|
||
|
||
**Four evidence files claimed window 2 produced zero overrides.** They were
|
||
wrong, and each cited the one before rather than counting. See F23 —
|
||
the failure is a claim with no source, asserted once and repeated, which
|
||
no gate here detects.
|
||
|
||
**A post-hoc observation, deliberately not acted on.** Declarations 5–9
|
||
rolled six five times running (~1 in 370 for some run of five in eleven
|
||
rolls). `shuf` was tested over 200 rapid successive calls and looks
|
||
uniform, longest run three. Recorded so a future window can check whether
|
||
it recurs; not evidence of anything on its own.
|
||
|
||
---
|
||
|
||
## Window 3 — opened 2026-08-07 at d8, running to 12 declarations
|
||
|
||
| # | pass | roll | override |
|
||
|---|---|---|---|
|
||
| 1 | CB-WP-0030 | d8 = 7 | — |
|
||
| 2 | CB-WP-0031 | d8 = 2 | — |
|
||
| 3 | CB-WP-0032 | d8 = 6 | — |
|
||
| 4 | CB-WP-0033 | d8 = 7 | — |
|
||
| 5 | CB-WP-0034 | d8 = 4 | — |
|
||
| 6 | CB-WP-0035 | d8 = 4 | — |
|
||
| 7 | CB-WP-0036 (first declaration) | d8 = 7 | — |
|
||
| 8 | CB-WP-0036 (re-declared L→M) | d8 = 7 | — |
|
||
| 9 | CB-WP-0037 | d8 = 1 | — |
|
||
| 10 | CB-WP-0038 | **d8 = 8** | **yes — redraw L, structural was L, so it changed nothing** |
|
||
| 11 | CB-WP-0039 | d8 = 2 | — |
|
||
| 12 | CB-WP-0040 | d8 = 5 | — |
|
||
|
||
**The window's first 8, at declaration 10.** Expectation over ten rolls at
|
||
d8 is 1.25; one is exactly on rate.
|
||
|
||
**The override changed nothing**, which is the observation ADR-0017 D2's
|
||
retirement condition is built from — it needs *a full window whose
|
||
overrides all change nothing*, in two consecutive windows. This window now
|
||
had one qualifying override, and it changed nothing.
|
||
|
||
**Window 3 is closed at 12 declarations. Its verdict is due and is not
|
||
written here** — recording it is a change to how the loop constrains its
|
||
own operation, which is a tier-M trigger in its own right, and window 2's
|
||
verdict was delayed the same way. **One override in twelve, changing
|
||
nothing**, is the second consecutive window to produce no override that
|
||
changed an outcome; ADR-0017 D2's retirement condition asks for exactly
|
||
that in two consecutive windows and should now be evaluated rather than
|
||
restated.
|
||
|
||
**Declaration 8 is a re-declaration of the same workplan**, counted
|
||
separately because it was a materially different pass: CB-WP-0036 was
|
||
re-scoped from L to M after the maintainer moved the animation work out of
|
||
the repo, and a changed declaration is a new declaration or the roll is
|
||
not binding on what was actually built.
|
||
|
||
---
|
||
|
||
## Window 4 — opened 2026-08-08 at d8
|
||
|
||
| # | pass | roll | override |
|
||
|---|---|---|---|
|
||
| 1 | CB-WP-0041 | d8 = 5 | — |
|
||
| 2 | CB-WP-0042 | d8 = 4 | — |
|
||
| 3 | ADR-0020 | d8 = 7 | — |
|
||
|
||
**Window 3's verdict remains owed** and is now two windows behind. One
|
||
override in twelve, changing nothing, is the second consecutive window
|
||
meeting ADR-0017 D2's retirement condition — *"a full window's overrides
|
||
all change nothing"* — and the condition asks for two consecutive such
|
||
windows. **It should be evaluated, not restated again.**
|