diff --git a/workplans/CB-WP-0022-the-design-instrument.md b/workplans/CB-WP-0022-the-design-instrument.md index 90325b6..c1ba327 100644 --- a/workplans/CB-WP-0022-the-design-instrument.md +++ b/workplans/CB-WP-0022-the-design-instrument.md @@ -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