Finish GROUND-WP-0002 rulings; hand off playtest residual as WP-0003
Record owner confirmations for SOLVE legality, U1–U10, the dataset contract, and provisional scenarios (void gr-e01). Spawn GROUND-WP-0003 for full-game playtests of semi-coop and coalitions.
This commit is contained in:
parent
b29d2788a2
commit
b3acf89afb
2 changed files with 161 additions and 21 deletions
|
|
@ -4,7 +4,7 @@ type: workplan
|
|||
title: "Rulings the engine is blocked on, and the dataset it never loaded"
|
||||
domain: consumer
|
||||
repo: ground-game
|
||||
status: active
|
||||
status: finished
|
||||
owner: bernd
|
||||
topic_slug: whynot
|
||||
created: "2026-08-03"
|
||||
|
|
@ -24,6 +24,10 @@ This is their home.
|
|||
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](GROUND-WP-0003-playtest-semi-and-coalitions.md).
|
||||
|
||||
## The finding that reframes most of this
|
||||
|
||||
**The engine has never loaded this repository's edition data.**
|
||||
|
|
@ -84,32 +88,23 @@ 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.
|
||||
|
||||
### What was ruled, and what was not
|
||||
### Dataset contract (confirmed 2026-08-03)
|
||||
|
||||
The headline is answered. The three sub-questions were not, and rather
|
||||
than block the import on them, these are the **proposed defaults**; each
|
||||
is cheap to overturn and none is load-bearing for a first import:
|
||||
|
||||
| question | proposed default |
|
||||
| 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 |
|
||||
| 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 |
|
||||
|
||||
**The distinction that matters** is the second: the engine will hash game
|
||||
state, and a Problem's value and required suit are *in* that state. If
|
||||
they can change under a fixed revision name, every recorded scenario hash
|
||||
in clay-borg silently rots. That is why "no" is proposed rather than
|
||||
"probably not".
|
||||
|
||||
**Owed:** confirm or overturn the three rows above. Until then the engine
|
||||
imports under them and says so.
|
||||
**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
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0002-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "895573ac-d7b9-4160-a118-5bc8866c28c8"
|
||||
```
|
||||
|
|
@ -138,11 +133,19 @@ 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 (U1–U10)
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0002-T05
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "e1d6a548-dedf-473a-9ebd-a2e3a286d510"
|
||||
```
|
||||
|
|
@ -173,11 +176,26 @@ 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 0–5 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
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0002-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "52cc157f-8fbd-469d-9da7-a96f1c60b654"
|
||||
```
|
||||
|
|
@ -200,11 +218,22 @@ scenario; it does not change the kernel.
|
|||
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, 3–4p→7, 5–6p→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
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0002-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "6c55eb56-22dc-4ee2-ac1a-4ced0dedfab9"
|
||||
```
|
||||
|
|
@ -214,3 +243,24 @@ 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](GROUND-WP-0003-playtest-semi-and-coalitions.md)
|
||||
- **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. **Dataset** — `editions/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. **U1–U10** — 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.
|
||||
|
|
|
|||
90
workplans/GROUND-WP-0003-playtest-semi-and-coalitions.md
Normal file
90
workplans/GROUND-WP-0003-playtest-semi-and-coalitions.md
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
---
|
||||
id: GROUND-WP-0003
|
||||
type: workplan
|
||||
title: "Playtest GR-E03 semi-coop and GR-E04 coalitions to end of game"
|
||||
domain: consumer
|
||||
repo: ground-game
|
||||
status: ready
|
||||
owner: bernd
|
||||
topic_slug: whynot
|
||||
created: "2026-08-03"
|
||||
updated: "2026-08-03"
|
||||
origin: residual
|
||||
origin_ref: GROUND-WP-0002
|
||||
---
|
||||
|
||||
# Playtest semi-coop and coalitions to the end
|
||||
|
||||
**Residual of** [GROUND-WP-0002](GROUND-WP-0002-rulings-clay-borg-is-blocked-on.md)
|
||||
**T04.** Rules for both modes are ruled (Modes.csv + T03 confirms). What is
|
||||
missing is a full game — human table or full engine playout — through
|
||||
Round 5 and scoring.
|
||||
|
||||
Nothing here changes the kernel unless play exposes a new underdetermined
|
||||
point; if it does, open a new rulings workplan rather than silent defaults.
|
||||
|
||||
## Modes under test
|
||||
|
||||
| Mode | Title | Success condition | Winner |
|
||||
|------|--------|-------------------|--------|
|
||||
| MODE_SEMI (GR-E03) | COMMON PROBLEM, PERSONAL EDGE | Group meets Scenario threshold | Among success: highest personal (claimed − Blame) |
|
||||
| MODE_COALITION (GR-E04) | BONDED COALITIONS | Group meets Scenario threshold | Highest Bond-network total; Rivalries do not connect; unbonded = coalition of one |
|
||||
|
||||
## Task: 2p semi-coop full game
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0003-T01
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Play or simulate one complete 2-player game under MODE_SEMI (threshold 5).
|
||||
Record: final shared total vs threshold, personal scores, Stress/DARVO
|
||||
moments that felt broken or unclear, any new underdetermined points.
|
||||
|
||||
## Task: 4p semi-coop full game
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0003-T02
|
||||
status: todo
|
||||
priority: medium
|
||||
```
|
||||
|
||||
Same checklist at 3–4p (threshold 7). Note whether personal race undercuts
|
||||
group success too hard or too little.
|
||||
|
||||
## Task: 2p coalitions full game
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0003-T03
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Complete 2p game under MODE_COALITION. At 2p a Bond makes one coalition of
|
||||
two; no Bond is two solo coalitions. Check that end scoring is intelligible.
|
||||
|
||||
## Task: 4p coalitions full game
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0003-T04
|
||||
status: todo
|
||||
priority: medium
|
||||
```
|
||||
|
||||
Complete 3–4p game under MODE_COALITION. Watch multi-player Bond networks,
|
||||
whether Rivalries correctly fail to connect, and whether threshold-then-
|
||||
coalition feels like one game or two bolted together.
|
||||
|
||||
## Task: write playtest notes back into repo
|
||||
|
||||
```task
|
||||
id: GROUND-WP-0003-T05
|
||||
status: todo
|
||||
priority: medium
|
||||
```
|
||||
|
||||
For each completed run, leave a short note under `history/` (or append to
|
||||
this workplan) with date, mode, player count, outcome, and any follow-up
|
||||
ruling needs. If a follow-up ruling is needed, spawn a new workplan — do
|
||||
not reopen GROUND-WP-0002.
|
||||
Loading…
Add table
Add a link
Reference in a new issue