GROUND-WP-0002 T01: the edition dataset is authoritative

Ruled by the maintainer 2026-08-03. 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. This
unblocks clay-borg and very likely dissolves
gr-e01-threshold-unreachable-2p.

The three sub-questions were not ruled, so proposed defaults are recorded
rather than blocking the import on them: which columns are authoritative
vs presentational; that point_value and required_solution may NOT change
within r0; and that a version bump is the directory name, so it shows in
a diff and is never silent.

The second matters most: the engine hashes 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. Hence 'no' rather than 'probably not'.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-03 19:31:31 +02:00
parent 6c2aaf89b0
commit 0eea287099

View file

@ -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: ready
status: active
owner: bernd
topic_slug: whynot
created: "2026-08-03"
@ -55,7 +55,7 @@ dissolve without anyone changing a rule.
```task
id: GROUND-WP-0002-T01
status: todo
status: done
priority: high
state_hub_task_id: "431cca12-e6d9-4eba-9360-f4f13ed263c1"
```
@ -76,6 +76,35 @@ contract clay-borg can build against:
**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.
### What was ruled, and what was not
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 |
|---|---|
| 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.
## Task: rule on SOLVE's legality
```task