ADR-0021: the chaos roll is retired, and the condition that retired it was wrong
Some checks failed
ci / check (push) Failing after 4s
Some checks failed
ci / check (push) Failing after 4s
The condition is met and the tally was verified rather than recalled. ADR-0017 D2 named window 3 as the decider; windows 2 and 3 each produced exactly one override and each changed nothing. Every roll in window 3 was cross-checked against the workplan that made it, because the last time this project tallied chaos rolls from memory it was wrong and asserted the wrong figure four times (F23). All twelve agree. But meeting the condition is not evidence. P(an override changes nothing) is 1/3, and each window had exactly one override, so the condition fires on a 1/9 coincidence. ADR-0017 restated it to be REACHABLE and made it weak in the process; reachability was checked and discriminating power was not. Worse, it measures the wrong subject. It asks whether an override changed the tier; the question is whether changing the tier helped. Under it, a die that always changed the tier could never be retired however useless its changes were. The real ground is stronger. Four overrides across roughly forty declarations, and the mechanism's value has never once been demonstrated. The one substantive intervention dropped CB-WP-0011 from a structural L to S, and that work then needed CB-WP-0016 and CB-WP-0017 to fix defects a human found by playing. Not offered as causation — a tier is process weight, not a guarantee — but it is the only evidence we have about an override's consequences and it points the wrong way. And the purpose has no live evidence of need: 17 M, 11 S, 4 L across every workplan, with the only two structural/declared mismatches being the window-1 overrides themselves. Tier declaration has not ossified. So: retired, with nothing replacing it. Adding a successor to guard against ossification that has not occurred would invent a gate for an instance we do not have. The revival trigger is stated: tiers collapsing toward one value, or a pass declaring below its structural tier to dodge a review. InnerLoop loses the chaos paragraph, loop-lint loses the chaos-recorded check — a check that outlives its rule becomes an obstruction — and its self-test now asserts the opposite: a note with no roll must pass. ChaosRollHistory is closed. Window 4 ends incomplete at four declarations, the last of which is this one, rolled because the rule was still in force. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
b0001b5760
commit
05d1a9aada
4 changed files with 183 additions and 46 deletions
|
|
@ -148,34 +148,21 @@ are never skipped for code-producing work.
|
|||
| **M** | Survey and ADR merged into one document; review optional | Touches a canonical interface, adds/updates an external dependency, **or changes whether or how the loop constrains its own operation** — budgets, gates, review requirements, or these tier rules (v1.6, ADR-0006 D5) |
|
||||
| **S** | One provenance paragraph in the commit message | Everything else (utilities, fixes, refactors inside a boundary) |
|
||||
|
||||
**The chaos roll.** After deriving the structural tier, roll **d8**
|
||||
(`shuf -i 1-8 -n 1`). On an **8**, the tier is instead picked uniformly at
|
||||
random (`shuf -e S M L -n 1`), overriding the structural derivation — up or
|
||||
down.
|
||||
**The chaos roll is retired** ([ADR-0021](../decisions/ADR-0021-the-chaos-roll-is-retired.md),
|
||||
2026-08-08). The tier is the structural derivation above, and nothing
|
||||
overrides it.
|
||||
|
||||
> **Window 3, opened 2026-08-07 at d8**, running to 12 declarations.
|
||||
> It ran for four windows and acted four times. Its retirement condition
|
||||
> was met — and **the condition was wrong**: it fires on a 1/9 coincidence
|
||||
> and it measured whether an override *changed the tier*, not whether the
|
||||
> change *helped*. The real ground was that **no override ever
|
||||
> demonstrated a benefit**, and the one substantive intervention dropped a
|
||||
> structural L to S on a pass that then needed two follow-ups.
|
||||
>
|
||||
> **Retirement condition (ADR-0017 D2):** retire the roll if **a full
|
||||
> window's overrides all change nothing**, met in **two consecutive
|
||||
> windows**. A window with **no** overrides is *inconclusive* and advances
|
||||
> nothing. **Window 2 counts as the first.**
|
||||
>
|
||||
> Both windows' full records, the rate history, and why the old
|
||||
> "twice running" condition was replaced:
|
||||
> [`specs/ChaosRollHistory.md`](ChaosRollHistory.md), and
|
||||
> `specs/InnerLoopReference.md` §Chaos roll — calibration.
|
||||
>
|
||||
> Record the roll every time, including when it changes nothing
|
||||
> (`tier: L (structural L, chaos 8)`). Why the rate fell, why n=2 makes
|
||||
> that the weakest part of the decision, and the dead rolls:
|
||||
> [`specs/ChaosRollHistory.md`](ChaosRollHistory.md), and
|
||||
> `specs/InnerLoopReference.md` §Chaos roll — calibration.
|
||||
|
||||
Chaos limits: a rolled-down tier relaxes *process* weight only. Invariants
|
||||
(zero foreign types in canonical interfaces, determinism, passing
|
||||
conformance suites) bind at every tier, and a rolled-down pass touching a
|
||||
canonical interface still requires the interface change to be flagged in
|
||||
the commit for retrospective review.
|
||||
> The log is closed at [`ChaosRollHistory.md`](ChaosRollHistory.md).
|
||||
> **The trigger for reviving it** is ossification: declared tiers
|
||||
> collapsing toward one value, or a pass declaring below its structural
|
||||
> tier to dodge a review.
|
||||
|
||||
### Step 1 — Research
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue