Apply ground-game's rulings: mastery in points, four boards, and a
Some checks failed
ci / check (push) Failing after 4s

vendor tool that covers what the gate checks

They ruled on all seven items the same day. Two were actionable here.

F28 RULED: points. Modes.csv MODE_COOP clarified upstream to say
"penalties apply to points, not card count"; mastery is now
total - blame - denied. A recorded scenario went red on it --
gr-e02-shared-ground pinned 0 (2 claimed CARDS - 1 - 1) and now expects
2 (4 POINTS - 1 - 1). The number moved because the rule was decided, not
because the engine drifted, and the scenario records both rulings; its
schema has no field for a second one, so both live in ruled_note with
`ruled` carrying the LATEST date.

F29 RULED not-intended and APPLIED upstream: SCN_02's suits re-tuned the
same day. The characterisation test is how we found out -- it pinned the
duplication, went red on the re-tune, and that red WAS the notification.
It now asserts every pair distinct, the stronger statement the
duplication had made unavailable. SCN_02 re-measures at 73 at 2p, not
67: its own board now.

F26/F30 ruled and recorded. F30's ruling incidentally confirms our
reading -- they name priority-2's suit as the first lever, which is the
difference we identified without having measured causation.

vendor-editions grew twice, both times because it covered less than the
gate it exists to satisfy:

  - It refused to touch ground-darvo-r0/ on the reasoning that the
    baseline is "a separate record". That was wrong within the hour:
    ground-game clarified Modes.csv and `make vendor` reported a clean
    sync while edition-check went red. A sync tool that covers less than
    its check reports success into a red gate.
  - Its two-block rewrite DETECTED which fence held which set and
    preserved the arrangement -- faithfully preserving a swap an earlier
    write had introduced, leaving each fence under a heading describing
    the other. edition-check reads every sha256 line flat and passed
    throughout: a document can be self-consistently wrong and green.
    Order is now asserted, with a control that goes red on a swap.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-09 00:15:14 +02:00
parent 98f600b1d3
commit 704b99975b
15 changed files with 373 additions and 154 deletions

View file

@ -196,3 +196,57 @@ their own.
§3.1 would now forbid. They were reported on 2026-07-30, before the rule
existed. They are grandfathered rather than rewritten, and the debt is a
reported metric with a target of zero.
- **F28 — SHARED GROUND's mastery rating counts cards where the mode
card counts points.** *"All claimed Problem cards form one shared score.
… For a mastery rating, subtract 1 for each Blame token still in play
and 1 for each Denied Problem."* The shared score is claimed **value**
(`total`); `mastery` subtracts the same penalties from the claimed
**count**. Both readings fit the sentence and they differ on every game
where a 3-point Problem is claimed. Ours to report, theirs to rule.
**Sensitivity:** vary only the point value of the claimed Problems and
the gap moves with `sum(value) - count`. The two readings agree exactly
when every claimed Problem is worth 1 — no Problem in the edition is —
or when nothing is claimed, which is a loss. Everything else is held
fixed: same board, same penalties, same threshold.
**RULED and APPLIED 2026-08-08.** ground-game: *"points."* `Modes.csv`
MODE_COOP clarified upstream to read *"start from that shared point
total and subtract 1 point for each Blame token still in play and 1
point for each Denied Problem (penalties apply to points, not card
count)."* The engine now computes `total blame denied`.
**A recorded scenario went red on it**, which is the gate working:
`gr-e02-shared-ground` pinned mastery 0 (2 claimed cards 1 1) and
now expects 2 (4 points 1 1). The number moved because the rule was
decided, not because the engine drifted, and the scenario says so.
- **F29 — SCN_01 and SCN_02 are the same board.** Identical suit and
value at every priority; every measured cell matches exactly at every
seat band under both policies. **Not called a defect** — a reskin is a
legitimate design choice — but "four scenarios" is three boards, and a
study treating them as four independent samples double-counts one.
`inconsistent` because two artifacts that present as distinct are not;
the register does not have a kind for "intended duplication", and
inventing one before ground-game rules would be answering for them.
**Sensitivity:** none — this is an identity, not a measurement. It
holds for every seed and every seat band by construction, and the test
is a characterisation so a future divergence is a decision.
**RULED 2026-08-08:** *not* an intended reskin. ground-game will
re-tune SCN_02's suits and/or values under a content workplan. The
characterisation test stays as-is until they do — when the decks
diverge it goes red, which is exactly the notification we want.
**APPLIED 2026-08-08, upstream.** SCN_02's suits were re-tuned the same
day: priorities 14 are now Change / Clarify / Boundary / Repair
against SCN_01's Clarify / Boundary / Repair / Change. Re-measured, it
is its own board — 2p group success **73** where it read 67 as SCN_01's
twin.
**The characterisation test is how we found out.** It pinned the
duplication, went red on the re-tune, and that red was the
notification. It now asserts every pair distinct — the stronger
statement the duplication had made unavailable.