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