ground-game/workplans/GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md
tegwick 982c004daf GROUND-WP-0004: reopen GR-E01 -- the void ruling rests on a bad premise
GROUND-WP-0002 T03 voided gr-e01-threshold-unreachable-2p as a stand-in
artifact, on the basis that Problems.csv makes 12 points available. The
12 is wrong and clay-borg supplied it: twelve points exist in the FILE,
but GR-S01 deals 2/3/4 of the five Problems, so 4/6/9 are ever in play.
clay-borg asserted the 12 in its CB-WP-0021 declaration and corrected
itself one commit later, by which time the ruling had been made.

The gap survives the authoritative dataset and is now confirmed at the
table: the maintainer could not win any 3-player game on 2026-08-03.
Three independent forms of evidence -- play, the engine's own constants,
and both datasets agreeing -- plus a named reproduction.

T06 has been removed from GROUND-WP-0002, which is finished; a new task
does not belong in a closed workplan and the hub correctly refused to
register it there.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 23:52:12 +02:00

13 KiB
Raw Blame History

id type title domain repo status owner topic_slug created updated state_hub_workstream_id
GROUND-WP-0002 workplan Rulings the engine is blocked on, and the dataset it never loaded consumer ground-game finished bernd whynot 2026-08-03 2026-08-03 d8fc3a69-a5ae-4f6e-b4fc-b07d1ff9c783

Rulings the engine is blocked on

clay-borg implements the engine that simulates GROUND. Its INTENT says game-semantics questions defer to this repo. Ten underdetermined rules points, six provisional scenarios and three questions raised by play have accumulated there, and none has been answered, because none had a home. This is their home.

Nothing here is a clay-borg change. Every item is a ruling only the game's owner can make; the engine already carries a provisional default for each and will flip it when the ruling lands.

Session 2026-08-03: all rulings below were decided with the maintainer in a guided pass. Residual playtest work handed to GROUND-WP-0003.

The finding that reframes most of this

The engine has never loaded this repository's edition data.

games/ground/src/lib.rs:1839 builds Problems with value: priority and suits cycled by index — a stand-in it has always labelled as such. Mean- while editions/ground-darvo-r0/Problems.csv has carried the real thing since 2026-07-31:

problems per scenario values total available
Problems.csv (real) 5 2, 2, 2, 3, 3 12
the engine's stand-in 3 1, 2, 3 6

The dataset also defines required_solution (Repair / Clarify / Boundary), visibility (Surface / Hidden) and hidden_priority (04) — all of which the engine currently invents.

GR-E01's thresholds are 2p → 5, 34p → 7, 56p → 9. Against 12 available points those are ordinary targets. Against a stand-in worth 6 they are unreachable, which is exactly what clay-borg reported as a rules gap needing a ruling here.

So the first question is not a rules question at all. It is whether this dataset is authoritative — and if it is, several of the items below dissolve without anyone changing a rule.

Task: declare the dataset authoritative, and say what the engine may rely on

id: GROUND-WP-0002-T01
status: done
priority: high
state_hub_task_id: "431cca12-e6d9-4eba-9360-f4f13ed263c1"

State whether editions/ground-darvo-r0/ is the authoritative source for Problem values, required solutions, visibility and priority — and what the engine may treat as stable.

SCOPE.md already promises "stable IDs suitable for layout templates, print merges, and later digital import." This task turns that into a contract clay-borg can build against:

  • which columns are authoritative vs presentational;
  • whether point_value and required_solution may change between r0 and a later revision without a version bump;
  • what a version bump looks like, so the engine can pin one.

Until this is answered the engine cannot import the data, and every threshold question below stays unanswerable.

RULED 2026-08-03, by the maintainer: "The edition dataset is authoritative."

So editions/ground-darvo-r0/ is the source of truth for Problem values, required solutions, visibility and priority, and the engine must import it rather than invent them. That unblocks clay-borg and it very likely dissolves gr-e01-threshold-unreachable-2p — see T03.

Dataset contract (confirmed 2026-08-03)

question ruling
authoritative vs presentational columns Authoritative: problem_id, scenario_id, visibility, hidden_priority, required_solution, point_value. Presentational: title, problem_text, symbol_id, front_rules, reveal_effect, unresolved_effect, back_design_id
may point_value / required_solution change within r0? No — a change to either is a new revision
what a version bump looks like the directory name: ground-darvo-r0-r1. The engine pins a directory, so a bump is visible in a diff and never silent

Rationale: Problem value and required suit are in hashed game state. Silent in-revision edits would rot every recorded scenario hash in clay-borg.

Task: rule on SOLVE's legality

id: GROUND-WP-0002-T02
status: done
priority: high
state_hub_task_id: "895573ac-d7b9-4160-a118-5bc8866c28c8"

Three related questions, all raised by play, all currently decided by the engine's default rather than by the rules.

(a) May SOLVE be selected against a face-down Problem? Measured in the browser on 2026-08-03: a player selected SOLVE on a face-down Problem in three consecutive rounds. Nothing happened, three times, because GR-A02's resolver skips a Problem that is not face up. The engine offered the move each time.

A face-down commit you cannot fulfil is a plausible bluff in a commit/reveal game with DARVO — which is why this is a ruling and not a bug. But if it is a bluff it should be intended; if it is not, the move should not be offered.

(b) May SOLVE be selected when the seat holds no Solution of the required suit? Same shape: currently offered, silently does nothing.

(c) GR-A13 — SOLVE against an already-claimed Problem. Long-standing in clay-borg's evidence as "wasted SOLVE". Intended cost of a bad read, or a gap?

For each: intended, or not offered. If intended, say what the player is meant to learn from the waste.

RULED 2026-08-03

sub ruling what the player learns
(a) face-down Problem Not offered — illegal target Matches ACT_SOLVE target and Rules §Problems: only face-up, non-Denied. Browser no-ops were a filter bug, not a bluff mechanic.
(b) no matching Solution in hand Not offered — digital legality filter Player always knows their hand; engine only offers SOLVE when a matching suit is held. Physical tables self-police the same way.
(c) already-claimed Problem Same-round race legal; prior-round claim not offered Competing SOLVEs resolve Lead-then-clockwise; losers keep their Solution. That race is the intended cost of a bad read. Targeting a Problem claimed in a prior round is illegal (nothing left to race for).

Task: answer the ten underdetermined points (U1U10)

id: GROUND-WP-0002-T05
status: done
priority: high
state_hub_task_id: "e1d6a548-dedf-473a-9ebd-a2e3a286d510"

This is the oldest item and it has never been read. clay-borg messaged this repo on 2026-07-30 with ten points the dataset does not decide, each simulated under a provisional default, asking for "confirm / correct (with ruling)" per item. Four days later the message was still unopened, because there was nowhere for it to land. Now there is.

question the default clay-borg simulates
U1 Bond-acceptance timing the target decides during Support resolution, post-reveal
U2 Stress clamping clamp on every application, not only at End — this changes when DARVO triggers mid-round
U3 DENY with no legal target no-op; the sequence still advances
U4 Solution deck exhaustion deterministic reshuffle of the discard, else skip the draw
U5 rejected REVERSE self-effects owner still gets 2 Stress and the sequence ends; no Blame, no +1, no Protection
U6 same-round Bond-Support vs DARVO the Support cancels that round's DARVO stage before it fires (step order 2 before 3)
U7 player elimination none exists — confirm
U8 GROUND—OU vs Attack OU cancels the Attack before Protection is consumed
U9 simultaneous double DARVO trigger needs no extra rule — confirm
U10 hand limit none

Full text of each default is in clay-borg/specs/GroundRules.md §Underdetermined. U2, U6 and U8 are the ones that change play, because each decides whether a DARVO stage fires at all; the rest are edge cases or confirmations.

Answer per item: confirm, or correct with the ruling.

RULED 2026-08-03 — all ten confirmed as clay-borg defaults

ruling note
U1 Confirm Target accepts during Support resolution, with full knowledge of revealed Actions. Bond formed by this Support still does not cancel DARVO (printed designer note).
U2 Confirm Clamp Stress to 05 on every application. Matches physical mats. DARVO still arms only at End when at Stress 5 (GR-R08).
U3 Confirm DENY with no legal target is a no-op; sequence still advances.
U4 Confirm Deterministic reshuffle of discard into new deck; if both empty, skip the draw.
U5 Confirm GROUND—ND rejection cancels target effects (no Blame, no +1, no Protection) and owner still gets 2 Stress and the sequence ends.
U6 Confirm Pre-existing Bond Support (step 2) cancels that round's DARVO stage before it fires (step 3) and ends the sequence.
U7 Confirm No player elimination.
U8 Confirm When both GROUND—OU and Protection could cancel the same Attack: OU applies first; Protection is consumed only if it actually cancels.
U9 Confirm Two players at Stress 5 at the same End both trigger; later stages resolve in Lead order. No extra interaction rule.
U10 Confirm No hand limit in r0. Revisit only if playtest shows bloat.

Task: confirm or overturn the six provisional defaults

id: GROUND-WP-0002-T03
status: done
priority: medium
state_hub_task_id: "52cc157f-8fbd-469d-9da7-a96f1c60b654"

Six engine scenarios are tagged provisional: true with provisional_owner: ground-game. These are the scenarios that encode T05's defaults — answering U1U10 will settle most of them, so take T05 first and use this list to check nothing was missed. A ruling flips the scenario; it does not change the kernel.

scenario the default currently in force
gr-a04-bond-support a Support with no existing relation forms no Bond, because GR-L02 requires the target's consent
gr-d01-darvo-trigger Stress clamps at 5 on every application (GR-F01 under the U2 default)
gr-d05-darvo-reverse the REVERSE stage's default resolution
gr-e01-threshold-unreachable-2p thresholds measured against the stand-in values — see the finding above
gr-e02-shared-ground SHARED GROUND scoring default
gr-e04-coalitions Bond networks score together; Rivalries do not connect; an unbonded player is a coalition of one

Confirm each or overturn it. gr-e01 should be taken last, because T01 may dissolve it.

RULED 2026-08-03

scenario ruling
gr-a04-bond-support Confirm — consent required; no auto-Bond from no-relation Support
gr-d01-darvo-trigger Confirm — follows U2
gr-d05-darvo-reverse Confirm — follows printed REVERSE + U5
gr-e01-threshold-unreachable-2p Void / overturn as a rules gap — stand-in artifact. With authoritative Problems.csv (12 pts available) the printed thresholds (2p→5, 34p→7, 56p→9) stand. Retire or rewrite the scenario as a non-provisional data-import check, not a design ruling.
gr-e02-shared-ground Confirm — encode Modes.csv MODE_COOP as printed
gr-e04-coalitions Confirm — encode Modes.csv MODE_COALITION as printed

Task: GR-E03 and GR-E04 have never been played to the end

id: GROUND-WP-0002-T04
status: done
priority: medium
state_hub_task_id: "6c55eb56-22dc-4ee2-ac1a-4ced0dedfab9"

Both scoring modes are implemented and neither has been played through a full game — by a person or by the engine. Whatever the rules say, nobody knows what these modes feel like at the table.

This is a playtest task, not an engine task, and it belongs here.

Handed off 2026-08-03 (residual)

Rules encoding for both modes is confirmed under T03 (gr-e02, gr-e04). Full-game felt experience is not a ruling and is residual work:

  • Residual workplan: GROUND-WP-0003
  • origin: residual of GROUND-WP-0002-T04

This task is done as a handoff, not as a completed playtest.

Ruling index (for clay-borg)

One-page flip list. Engine may clear provisional: true against these.

  1. Dataseteditions/ground-darvo-r0/ authoritative; contract rows under T01.
  2. SOLVE legality — offer only face-up non-Denied, unclaimed (or same-round race), with matching suit in hand.
  3. U1U10 — all confirmed as prior clay-borg defaults (table under T05).
  4. Provisional scenarios — confirm five; void gr-e01 as stand-in artifact.
  5. Playtest residual — GROUND-WP-0003.