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