clay-borg/workplans/CB-WP-0010-consolidation.md
tegwick 82fdb85173 CB-WP-0010-T02: GR-E03 gets a scenario
COMMON PROBLEM was the only scoring mode with no scenario — implemented
since CB-WP-0001, referenced by nothing, and would not have failed if
deleted. Five players, where the threshold is reachable at all: every
Problem claimed for a total of 10 against 9, and the winner is decided
by Blame rather than by claimed value — P4 claimed the highest Problem
and loses to P3 because two Blame tokens sit in front of them.

No defect was found on the first execution of that path, which is worth
saying plainly rather than implying the scenario was hard-won.

The assertions were mutation-checked three ways instead of trusted,
because a dot-path expectation that silently fails to resolve would
report PASS: a wrong personal score, a wrong mastery, and removing the
Blame from the fixture each turn it red.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 02:16:51 +02:00

90 lines
3.4 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.

---
id: CB-WP-0010
kind: product
title: "Close the open ends before stage 1"
status: in_progress
state_hub_workstream_id: "071a2da8-cb95-4dda-a711-7173434bdc3c"
---
# Purpose
Tier **S** (structural S — fixes and one scenario, no capability port, no
canonical interface, no dependency; chaos d4=1, no override; declaration
5 of 12). One provenance paragraph per commit, no survey, no ADR.
Four items were carried out of CB-WP-0008 and CB-WP-0009 as open. Three
are cheap and closing them costs less than carrying them into a tier-L
stage-1 pass, where they would compete for attention with new work.
[CB-EV-0008](../evidence/CB-EV-0008-adaptive-gates.md) §4 also says the
next pass should be `product` — the meta budget reads 45% of the trailing
three against a soft 25%, and this pass is how it comes back down.
## Task: close CB-WP-0007
```task
id: CB-WP-0010-T01
status: done
priority: high
state_hub_task_id: "88bafc24-eeac-4aa0-9c40-f15307dee120"
```
CB-WP-0007 sits at 2/6 with T05 and T06 `todo`. Both were overtaken:
- **T05** (control loop for the session-shape pass) was answered by
CB-EV-0008 §1 and §4, which measured the windowed metric and the budget
firing on real passes.
- **T06** asked whether there is a *fourth* way a number can fail to bind.
There is, and it is on record: CB-EV-0007 §3 found one **aggregated over
a window that cannot move it** — reintroduced two tasks after the same
defect was fixed for session shape.
Cancel both with pointers and mark the workplan `done`. A workplan left
`in_progress` forever makes `make status` name a stale next task, which
is what it has been doing for two passes.
## Task: GR-E03 gets a scenario
```task
id: CB-WP-0010-T02
status: done
priority: high
state_hub_task_id: "89355b0a-9fc7-4d69-a27e-d3c94ff0730f"
```
CB-EV-0007 §1: **COMMON PROBLEM (GR-E03) is implemented, referenced by no
test, and would not fail if deleted.** GR-E02 and GR-E04 both have
scenarios; this is the only scoring mode with none.
Deliver `scenarios/ground/gr-e03-common-problem.yaml`: the group meets the
threshold, personal scores are claimed value 1 per Blame held, and the
highest personal score wins. Use the 5-player preset, where the threshold
is actually reachable (10 available against 9).
**Finding a defect here is the likely outcome and is the point** — this
is the first execution of that code path.
**Done 2026-08-02.** `gr-e03-common-problem.yaml` passes, and **no
defect was found** — GR-E03 scored correctly on its first execution.
The assertions were mutation-checked three ways rather than trusted:
a wrong personal score, a wrong `mastery`, and removing the Blame from
the fixture each turn it red. Every scoring mode now has a scenario.
## Task: record CommitWindow's second failed use
```task
id: CB-WP-0010-T03
status: todo
priority: medium
state_hub_task_id: "1da2c1de-e098-440e-8cff-7c30817d1d2b"
```
`CommitWindow` is PROVISIONAL with a delete-by of 2026-12-31, on the
condition *"delete it if no second game uses it"*. CB-WP-0008 was its
best chance at a second consumer and did not take it — the bots and the
CLI drive GROUND's inline implementation.
**Do not delete it early.** The stated condition is a second *game*, and
no second game has been attempted, so the test has not run. Record the
evidence at the type so the December decision is already argued, and
leave the date alone. Moving a delete-by date on the strength of a test
that was never run is exactly the retarget InnerLoop §Step 4 forbids.