ground-game/editions/modules/problem_deal/pressure_deck/MODULE.md
codex b5730f280b fix(workplans): adopt ADR-007 derived identifiers
Records absent from central carried random pre-ADR-007 identifiers minted by
the retired local hub, which C-06 refused as stale references. Deriving from
the canonical record id takes no identity from anything.

Refs CUST-WP-0068-T06

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-25 19:30:13 +02:00

77 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Module: `problem_deal.pressure_deck`
| | |
|---|---|
| **aspect** | `problem_deal` |
| **module_id** | `problem_deal.pressure_deck` |
| **role** | Small start set + mid-game **Pressure deck** draws |
| **status** | **ready-for-implement** (draft frozen for v0 kernel) |
| **rules_delta** | [`rules_delta.yaml`](rules_delta.yaml) |
| **design** | [history/260808-deal-end-sequences-design.md](../../../history/260808-deal-end-sequences-design.md) |
Independent of end_condition. **Recommended** compose with
`problem_stress.scoped` so drawn scopes matter. Measure alone first if
possible (with default problem_stress.none, influx still adds board clutter).
## Frozen v0 rules
### DEAL-START
- **Always in play at setup:** Surface Problem (priority 0).
- **Also deal face-down:** hidden priority **1** (and priority **2** only if
seats ≥ 4).
- All other scenario Problems for that scenario go into the **Pressure deck**,
shuffled with the game seed (deterministic).
- Seat-band `k` from r0 does **not** bulk-deal the rest; influx replaces
“deal all k at once.”
| seats | starters in play | rest → pressure deck |
|------:|------------------|----------------------|
| 23 | Surface + H1 | H2… |
| 46 | Surface + H1 + H2 | H3… |
### DEAL-INFLUX
At **Round End** (after problem-stress ticks if any, before DARVO arm):
- If Pressure deck non-empty **and** unclaimed Problems in play < **open_cap**,
draw **1** card into play.
- **open_cap** = number of seats.
- Placement: face-down if hidden/personal/bond as printed; Surface-like global
face-up if scope is global.
- Stop drawing for that End once one card is drawn (v0: max 1 per round).
### DEAL-OWN (if problem_stress.scoped also active)
- **personal:** owner = Lead at time of draw (or next free seat clockwise if
Lead already owns ≥2 personal — v0 simplify: **drawer seat = current Lead**).
- **bond:** same owner rule; network = Bond network of owner.
- **global:** no owner.
If `problem_stress.none`, owners may still be recorded for table clarity but
have no stress effect.
### DEAL-POINTS (v0)
- Cards that entered via **Pressure deck draw** have **point_value 0** for
scoring (stress / fiction only).
- **Starters** keep printed `point_value`.
- Scenario **thresholds unchanged** (5/7/9) and apply only to starter claims
+ any printed values that were starters.
This avoids reopening GR-E01 arithmetic while testing influx.
## Non-goals (v0)
- Problems in Solution hand.
- Multiple draws per round.
- Owner-only SOLVE.
- Changing thresholds mid-game.
## Success criteria (when clay-borg implements)
1. Games show mid-game influx (deck depletes or open_cap binds).
2. With scoped stress: variance and DARVO still possible; greedy SHARED 34p
wins not collapsed to H1-zero.
3. Threshold success still well-defined (starter points only).
4. Composable: works with default end_condition and with hybrid end.