CB-WP-0022 T04 follow-up: trim the workplan back under the loadability limit

loop-lint flagged 429 lines against the ~400 limit, and it was right about
the cause: the T02/T03/T04 completion records restated content that
ADR-0012, GameDesign.md and the challenge/response trail already carry.
Trimmed to pointers plus the one sentence each that is not written down
elsewhere.

400 lines, loop-lint clean. No content lost from the artifacts that own
it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-05 15:08:53 +02:00
parent b4f51effad
commit 5092684de5

View file

@ -60,17 +60,13 @@ contradiction, a recorded game the reader can replay, or a named test.
*"This feels unbalanced"* is a note, not a finding. **The SOLVE inertness *"This feels unbalanced"* is a note, not a finding. **The SOLVE inertness
is admissible because a recorded session shows three no-ops.** is admissible because a recorded session shows three no-ops.**
> **The example that stood here was GR-E01, and the adversarial review > **The example that stood here was GR-E01, and the review killed it
> killed it (C1, 2026-08-05).** *"4/6/9 against 5/7/9 is a computation > (C1).** *"4/6/9 against 5/7/9 is a computation anyone can rerun"* had
> anyone can rerun"* was a computation that had already been rerun: > already been rerun: `2da19a4` measured **6/9/12**, and the scenario was
> `2da19a4` measured **6/9/12 against 5/7/9** and renamed the scenario > renamed `-unreachable-``-reachable-`. The conclusion inverted — and
> `-unreachable-``-reachable-`. The finding's conclusion inverted, and > it was one of the two findings that **passed** this rule. So existence
> it was one of the two findings that **passed** this rule. > is not what was missing. See [ADR-0012](../decisions/ADR-0012-the-design-instrument.md)
> > D3: the rule gains **shape**, and **a reproduction must be able to
> So existence is not the property that was missing — three wrong premises
> have now reached `ground-game`, and the third satisfied an existence
> test. T03 must adopt the shape requirement as part of the rule, plus a
> clause the survey never contemplated: **a reproduction must be able to
> fail.** Ours went green and stayed admissible. > fail.** Ours went green and stayed admissible.
This is what would make clay-borg a design tool rather than a suggestion This is what would make clay-borg a design tool rather than a suggestion
@ -200,30 +196,22 @@ commit — quoted the dead number twice.
**Seven challenges: four conceded, two conceded in part, one answered.** **Seven challenges: four conceded, two conceded in part, one answered.**
- **C1 lands hardest and changed the design.** The rule's showcase finding - **C1 lands hardest and changed the design.** The rule's showcase finding
was false and had *passed* the rule. Existence is not the missing was false and had *passed* the rule, so existence is not the missing
property; **shape** and **falsifiability** are. Folded into §The property — **shape** and **falsifiability** are. It also **caught a
load-bearing rule above, and it is T03's to settle. defect in flight**: T06's payload, `todo`, still named the dead number.
- **C1 also caught a defect in flight** — T06's payload, `todo`, still Both folded in above.
named the dead number. Withdrawn above before sending. - **C2 withdrew the baseline's precision.** `design-baseline.py` counts
- **C2 withdrew the baseline's precision.** `tools/design-baseline.py` is a itself, its reproduction check never stats the file, and `Makefile:127`
hand-maintained dict counting itself (`:16-36`, `:89`); `has_reproduction` runs only `--self-test`. Direction stands; **33% is not a measured rate.**
(`:38-43`) never checks the file exists, so the self-test's YES-control - **C3**: "six provisional defaults" is five; GR-E01 is double-counted.
(`:63`) is green against a path `2da19a4` deleted. `Makefile:127` runs - **C4**: `§Underdetermined` was never evaluated as a candidate and already
only `--self-test`, so the reporting path has no CI. The direction delivers four of five benchmarks. **T03's burden flips: argue extension,
stands — 11 files, no index, 0 of 10 ruled are all checkable without the not replacement.**
tool — but **33% is not a measured rate and T05 must not build on it.**
- **C3**: "six provisional defaults" is five, and GR-E01 is double-counted
in the `2/6`. No corrected rate is quoted here; the instrument that would
produce it is the one C2 withdrew.
- **C4**: `§Underdetermined` was never evaluated as a candidate, and it
already delivers four of five benchmarks including the Oracle property
the survey went to Magic to find. **T03's burden flips: argue why it is
extended, not replaced.**
- **C5**: the engine-evolution "third thing" is visible in - **C5**: the engine-evolution "third thing" is visible in
`specs/InnerLoopReference.md` and `history/`'s retrospectives, neither of `specs/InnerLoopReference.md` and `history/`'s retrospectives, neither of
which my redundancy inventory named. Conclusion narrowed, not settled. which my inventory named. Narrowed, not settled.
- **Survived**: the reproduction rule's *affordability*, and §4's reuse of - **Survived**: the rule's *affordability*, and reuse of the provisional
the provisional machinery. Both with stated falsifiers. machinery — both with stated falsifiers.
## Task: decide ## Task: decide
@ -252,36 +240,27 @@ state_hub_task_id: "a2e85810-e949-4ea0-81fc-36b912af326c"
**Done 2026-08-05.** **Done 2026-08-05.**
[ADR-0012](../decisions/ADR-0012-the-design-instrument.md), nine [ADR-0012](../decisions/ADR-0012-the-design-instrument.md), nine
decisions. The two that were not on this list are the two the review decisions. The two not on this list are the two the review forced:
forced:
- **D2 — `§Underdetermined` *is* the register; nothing parallel is built.** - **D2 — `§Underdetermined` *is* the register; nothing parallel is built.**
C4's point, checked and conceded: against the survey's own five Against the survey's own five benchmarks the incumbent already delivers
benchmarks the incumbent already delivers four, including the Oracle four, including the Oracle property the survey went to Magic to find and
property the survey went to Magic to find and we had written down we had written ourselves eight days earlier (`GroundRules.md:231-233`).
ourselves eight days earlier (`GroundRules.md:231-233`). What it lacks What it lacks is reproductions. So this pass **extends** a section — no
is reproductions. So the pass **extends** a section instead of building a new file, no new schema.
register — no new file, no new schema. - **D3 — admissibility is three clauses.** Exists, has the ruled shape
- **D3 — admissibility is three clauses, not one.** Exists, has the ruled (row-level table, never a sum), **and can fail.** GR-E01's artifact went
shape (row-level table, never a sum), **and can fail.** The third is green and the finding stayed admissible and stayed queued, because
C1's: GR-E01's artifact went green when the edition landed and the nothing said a passing artifact was a signal. **A green reproduction is
finding stayed admissible and stayed queued, because nothing said a an alarm.**
passing artifact was a signal. **A green reproduction is an alarm.**
The rest: **D1** INTENT gains property 4, *Instrument* — applied, with the The rest, in one line each: **D1** INTENT gains property 4, *Instrument*,
falsifier in the text. **D4** five kinds, each forced by an existing applied with its falsifier. **D4** five kinds, each forced by an existing
finding, and a sixth appearing during backfill means the taxonomy was finding. **D5** `applied` means the source changed; withdrawals are
invented. **D5** lifecycle with `applied` meaning *the source changed*, the reported, not deleted. **D6** notes admitted but never reportable, 30-day
queue emptying while the log accumulates, and **withdrawals reported, not expiry. **D7** no engine-evolution register, on an inventory C5 corrected.
deleted** — GR-E01 is why. **D6** notes admitted but never reportable, with **D8** `design-baseline.py` retired. **D9** the artifact stays here,
a 30-day expiry on the existing age machinery; refusing them would have ground-game gets a generated file under its own workplan.
thrown away the only class of finding the engine cannot produce itself,
which is CB-WP-0025's entire input. **D7** no engine-evolution register,
on an inventory C5 corrected — argued and narrowed, not settled. **D8**
`design-baseline.py` retired, not extended; kept as a dated snapshot
because deleting it erases the evidence for how 33% got in. **D9** the
finding and its artifact stay here; ground-game gets a generated file
under its own workplan, citing the reproduction by path.
## Task: specify ## Task: specify
@ -331,32 +310,24 @@ and it must cost almost nothing or it will not be done.
**Done 2026-08-05.** [specs/GameDesign.md](../specs/GameDesign.md) v1.0. **Done 2026-08-05.** [specs/GameDesign.md](../specs/GameDesign.md) v1.0.
**It is not a register, and says so in its second line** — ADR-0012 D2 put **It is not a register, and says so in its second line** — ADR-0012 D2 put
the register in `§Underdetermined`, so this spec says what may go in it, that in `§Underdetermined`.
what a reproduction must *show*, and how a finding dies.
**§1.2 had to be written against evidence rather than principle.** A **§1.2 is written against evidence rather than principle**: a finding must
finding must now print the rows behind any number it claims, and the spec print the rows behind any number it claims, and the spec carries the table
carries the table of what shipped instead: a sum, a green scenario, and a of what shipped instead — a sum, a green scenario, and a condition named
condition named without checking which one fired. *"12" was arithmetically without checking which one fired. *"12" was arithmetically defensible and
defensible and still wrong about the game* — that sentence is the whole still wrong about the game.*
requirement.
**§1.3's target is `0` reproductions that have gone green while open.** **§1.3's target is `0` reproductions gone green while open** — what GR-E01
That is the metric GR-E01 would have tripped four days before a human would have tripped four days before a human caught it. **No baseline rate
caught it. is quoted**; the first honest denominator is T05's backfill.
**No baseline rate is quoted.** C2 withdrew the 33%, and the first honest
denominator is T05's backfill — quoting a new number from a discredited
instrument is how the first one got in.
**The trial protocol costs one flag.** `cb-play --record` already writes a **The trial protocol costs one flag.** `cb-play --record` already writes a
finished game as a scenario and `record.rs`'s round trip is its own test, finished game as a scenario, so a trial is that plus a sibling `.md` in
so a trial is that plus a sibling `.md` in the player's own words. The the player's own words. An observation is a **note** until it has a
rule that makes it safe: an observation is a **note** until it has a reproduction — the maintainer's *"I felt it was too easy but then we
reproduction, and a trial log is where findings are *noticed*, not a lost"* is the case it is shaped around, and forcing that into a schema at
finding source. The maintainer's *"I felt it was too easy but then we the moment of observation would lose it.
lost"* is the case it is shaped around — forcing that into a schema at the
moment of observation would lose it.
## Task: build it, and backfill what is already known ## Task: build it, and backfill what is already known