Compare commits
3 commits
4b7bdaca16
...
cdc42afbb6
| Author | SHA1 | Date | |
|---|---|---|---|
| cdc42afbb6 | |||
| 82fdb85173 | |||
| d07caca22b |
6 changed files with 140 additions and 16 deletions
|
|
@ -17,6 +17,7 @@
|
||||||
| workplan | CB-WP-0007 | in_progress | — | workplans/CB-WP-0007-session-shape.md |
|
| workplan | CB-WP-0007 | in_progress | — | workplans/CB-WP-0007-session-shape.md |
|
||||||
| workplan | CB-WP-0008 | done | — | workplans/CB-WP-0008-ship-stage-0.md |
|
| workplan | CB-WP-0008 | done | — | workplans/CB-WP-0008-ship-stage-0.md |
|
||||||
| workplan | CB-WP-0009 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
|
| workplan | CB-WP-0009 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
|
||||||
|
| workplan | CB-WP-0010 | proposed | — | workplans/CB-WP-0010-consolidation.md |
|
||||||
| task | CB-WP-0001-T01 | done | — | workplans/CB-WP-0001-inner-loop.md |
|
| task | CB-WP-0001-T01 | done | — | workplans/CB-WP-0001-inner-loop.md |
|
||||||
| task | CB-WP-0001-T02 | done | — | workplans/CB-WP-0001-inner-loop.md |
|
| task | CB-WP-0001-T02 | done | — | workplans/CB-WP-0001-inner-loop.md |
|
||||||
| task | CB-WP-0001-T03 | done | — | workplans/CB-WP-0001-inner-loop.md |
|
| task | CB-WP-0001-T03 | done | — | workplans/CB-WP-0001-inner-loop.md |
|
||||||
|
|
@ -81,3 +82,6 @@
|
||||||
| task | CB-WP-0009-T02 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
|
| task | CB-WP-0009-T02 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
|
||||||
| task | CB-WP-0009-T03 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
|
| task | CB-WP-0009-T03 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
|
||||||
| task | CB-WP-0009-T04 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
|
| task | CB-WP-0009-T04 | done | — | workplans/CB-WP-0009-adaptive-gates.md |
|
||||||
|
| task | CB-WP-0010-T01 | todo | — | workplans/CB-WP-0010-consolidation.md |
|
||||||
|
| task | CB-WP-0010-T02 | todo | — | workplans/CB-WP-0010-consolidation.md |
|
||||||
|
| task | CB-WP-0010-T03 | todo | — | workplans/CB-WP-0010-consolidation.md |
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,22 @@ use std::collections::BTreeMap;
|
||||||
/// **Delete it if no second game uses it by 2026-12-31.** A primitive
|
/// **Delete it if no second game uses it by 2026-12-31.** A primitive
|
||||||
/// with one hypothetical user and a test that exercises only itself is
|
/// with one hypothetical user and a test that exercises only itself is
|
||||||
/// the AM-11 shape, and this project has paid for that shape twice.
|
/// the AM-11 shape, and this project has paid for that shape twice.
|
||||||
|
///
|
||||||
|
/// **Second-use log** (CB-WP-0010 T03). Two passes have now had the
|
||||||
|
/// opportunity and declined:
|
||||||
|
///
|
||||||
|
/// * **CB-WP-0008** — bots and `cb-play` drive GROUND's inline
|
||||||
|
/// commit/reveal. A second *consumer* of the aggregate did not become
|
||||||
|
/// a consumer of this type (CB-EV-0007 §2).
|
||||||
|
/// * **CB-WP-0010** — the consolidation pass reviewed it and changed
|
||||||
|
/// nothing.
|
||||||
|
///
|
||||||
|
/// **The date is not moved and the type is not deleted early.** The
|
||||||
|
/// stated condition is a second *game*, and no second game has been
|
||||||
|
/// attempted, so the test has not run — only the opportunity has passed.
|
||||||
|
/// Deleting on a test that was never run, or extending the date because
|
||||||
|
/// it is inconvenient, are the same error in opposite directions, and
|
||||||
|
/// InnerLoop §Step 4 forbids the second by name.
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
pub struct CommitWindow<C> {
|
pub struct CommitWindow<C> {
|
||||||
/// Players who must submit, and their commitment once received.
|
/// Players who must submit, and their commitment once received.
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
# `make facts-check` fails if this file disagrees with the
|
# `make facts-check` fails if this file disagrees with the
|
||||||
# instruments, or if a tagged artifact disagrees with this file.
|
# instruments, or if a tagged artifact disagrees with this file.
|
||||||
|
|
||||||
generated = "2026-08-01"
|
generated = "2026-08-02"
|
||||||
pin = "fc76445"
|
pin = "fc76445"
|
||||||
|
|
||||||
[am4a_loc]
|
[am4a_loc]
|
||||||
|
|
@ -64,8 +64,8 @@ fmt = "{:,}"
|
||||||
by = "tools/rule-coverage.py"
|
by = "tools/rule-coverage.py"
|
||||||
|
|
||||||
[gr_scenarios]
|
[gr_scenarios]
|
||||||
value = 24
|
value = 25
|
||||||
text = "24"
|
text = "25"
|
||||||
fmt = "{:,}"
|
fmt = "{:,}"
|
||||||
by = "tools/rule-coverage.py"
|
by = "tools/rule-coverage.py"
|
||||||
|
|
||||||
|
|
|
||||||
81
scenarios/ground/gr-e03-common-problem.yaml
Normal file
81
scenarios/ground/gr-e03-common-problem.yaml
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
scenario: ground/gr-e03-common-problem
|
||||||
|
description: >
|
||||||
|
COMMON PROBLEM scoring (GR-E03), the only scoring mode with no scenario
|
||||||
|
until CB-WP-0010 T02 — implemented since CB-WP-0001 and referenced by
|
||||||
|
nothing. Five players, where the threshold is actually reachable (10
|
||||||
|
available against 9). The group qualifies, personal scores are claimed
|
||||||
|
value −1 per Blame held, and the Blame is what decides the winner: P4
|
||||||
|
claimed the highest-value Problem and still loses to P3 because two
|
||||||
|
Blame tokens sit in front of them.
|
||||||
|
covers: [GR-E03, GR-E01, GR-R09, GR-T02]
|
||||||
|
seed: 42
|
||||||
|
setup:
|
||||||
|
players: 5
|
||||||
|
preset: standard-5p
|
||||||
|
patch:
|
||||||
|
"round": 5
|
||||||
|
"mode": CommonProblem
|
||||||
|
# Every Problem claimed: 1+2+3+4 = 10, over the 5-6p threshold of 9.
|
||||||
|
"problems.1.claimed_by": 0
|
||||||
|
"problems.2.claimed_by": 1
|
||||||
|
"problems.3.claimed_by": 2
|
||||||
|
"problems.4.claimed_by": 3
|
||||||
|
"problems.2.face_up": true
|
||||||
|
"problems.3.face_up": true
|
||||||
|
"problems.4.face_up": true
|
||||||
|
# GR-T02: two Blame tokens in front of P4, −1 each.
|
||||||
|
"players.3.blame_from": [0, 1]
|
||||||
|
commands:
|
||||||
|
- actor: P1
|
||||||
|
cmd: select_action
|
||||||
|
args: { action: GROUND }
|
||||||
|
- actor: P2
|
||||||
|
cmd: select_action
|
||||||
|
args: { action: GROUND }
|
||||||
|
- actor: P3
|
||||||
|
cmd: select_action
|
||||||
|
args: { action: GROUND }
|
||||||
|
- actor: P4
|
||||||
|
cmd: select_action
|
||||||
|
args: { action: GROUND }
|
||||||
|
- actor: P5
|
||||||
|
cmd: select_action
|
||||||
|
args: { action: GROUND }
|
||||||
|
- actor: SYSTEM
|
||||||
|
cmd: reveal
|
||||||
|
- actor: P1
|
||||||
|
cmd: choose_ground_mode
|
||||||
|
args: { mode: GR }
|
||||||
|
- actor: P2
|
||||||
|
cmd: choose_ground_mode
|
||||||
|
args: { mode: GR }
|
||||||
|
- actor: P3
|
||||||
|
cmd: choose_ground_mode
|
||||||
|
args: { mode: GR }
|
||||||
|
- actor: P4
|
||||||
|
cmd: choose_ground_mode
|
||||||
|
args: { mode: GR }
|
||||||
|
- actor: P5
|
||||||
|
cmd: choose_ground_mode
|
||||||
|
args: { mode: GR }
|
||||||
|
- actor: SYSTEM
|
||||||
|
cmd: resolve
|
||||||
|
- actor: SYSTEM
|
||||||
|
cmd: end_round
|
||||||
|
expect:
|
||||||
|
events:
|
||||||
|
- kind: GameEnded
|
||||||
|
state:
|
||||||
|
"outcome.total": 10
|
||||||
|
"outcome.threshold": 9
|
||||||
|
"outcome.group_success": true
|
||||||
|
# GR-E03: claimed value −1 per Blame held.
|
||||||
|
"outcome.personal.3": 2
|
||||||
|
"outcome.personal.2": 3
|
||||||
|
# P4 claimed 4 and still loses: the Blame is load-bearing here.
|
||||||
|
"outcome.winners": [2]
|
||||||
|
# GR-E03 has no Mastery rating; that is GR-E02's.
|
||||||
|
"outcome.mastery": null
|
||||||
|
"round": 5
|
||||||
|
"step": End
|
||||||
|
rejects: []
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
id: CB-WP-0007
|
id: CB-WP-0007
|
||||||
kind: meta
|
kind: meta
|
||||||
title: "Make session shape measurable in the window that matters, then enforce it"
|
title: "Make session shape measurable in the window that matters, then enforce it"
|
||||||
status: in_progress
|
status: done
|
||||||
state_hub_workstream_id: "bee19b76-fb60-4dcf-94d0-9242b43e0e42"
|
state_hub_workstream_id: "bee19b76-fb60-4dcf-94d0-9242b43e0e42"
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -175,11 +175,18 @@ the pass and report the rate the instrument measures.
|
||||||
|
|
||||||
## Phase C — measure, and say what it cost
|
## Phase C — measure, and say what it cost
|
||||||
|
|
||||||
## Task: control loop — did windowing change what fires?
|
## Task: control loop — did windowing change what fires? (CANCELLED)
|
||||||
|
|
||||||
|
> **Cancelled 2026-08-02 (CB-WP-0010 T01), overtaken.** Both questions
|
||||||
|
> were answered with measurements two passes later:
|
||||||
|
> [CB-EV-0008](../evidence/CB-EV-0008-adaptive-gates.md) §1 compares the
|
||||||
|
> windowed metric against cumulative on real passes, and §4 records the
|
||||||
|
> shape budget firing. Writing CB-EV-0006 now would re-derive them from
|
||||||
|
> the same transcripts.
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: CB-WP-0007-T05
|
id: CB-WP-0007-T05
|
||||||
status: todo
|
status: cancel
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "2f78b272-e1f9-4530-bc8c-3a9d82833546"
|
state_hub_task_id: "2f78b272-e1f9-4530-bc8c-3a9d82833546"
|
||||||
```
|
```
|
||||||
|
|
@ -201,11 +208,18 @@ Four tests, all reported:
|
||||||
the loop cannot detect this. Record the judgment explicitly rather than
|
the loop cannot detect this. Record the judgment explicitly rather than
|
||||||
letting the cost number imply it.
|
letting the cost number imply it.
|
||||||
|
|
||||||
## Task: retrospective
|
## Task: retrospective (CANCELLED)
|
||||||
|
|
||||||
|
> **Cancelled 2026-08-02 (CB-WP-0010 T01), answered elsewhere.** The
|
||||||
|
> question was whether there is a *fourth* way a number can fail to bind.
|
||||||
|
> There is, and it is on record: CB-EV-0007 §3 found a number **aggregated
|
||||||
|
> over a window that cannot move it** — the meta budget, reintroducing the
|
||||||
|
> defect two tasks after the same one was fixed for session shape. The
|
||||||
|
> tier-taxonomy gap this task also carried was closed by ADR-0006 D5.
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: CB-WP-0007-T06
|
id: CB-WP-0007-T06
|
||||||
status: todo
|
status: cancel
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "93fbd2bb-403b-4be9-a5ff-d6142b916aba"
|
state_hub_task_id: "93fbd2bb-403b-4be9-a5ff-d6142b916aba"
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@
|
||||||
id: CB-WP-0010
|
id: CB-WP-0010
|
||||||
kind: product
|
kind: product
|
||||||
title: "Close the open ends before stage 1"
|
title: "Close the open ends before stage 1"
|
||||||
status: proposed
|
status: done
|
||||||
state_hub_workstream_id: ""
|
state_hub_workstream_id: "071a2da8-cb95-4dda-a711-7173434bdc3c"
|
||||||
---
|
---
|
||||||
|
|
||||||
# Purpose
|
# Purpose
|
||||||
|
|
@ -23,9 +23,9 @@ three against a soft 25%, and this pass is how it comes back down.
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: CB-WP-0010-T01
|
id: CB-WP-0010-T01
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: ""
|
state_hub_task_id: "88bafc24-eeac-4aa0-9c40-f15307dee120"
|
||||||
```
|
```
|
||||||
|
|
||||||
CB-WP-0007 sits at 2/6 with T05 and T06 `todo`. Both were overtaken:
|
CB-WP-0007 sits at 2/6 with T05 and T06 `todo`. Both were overtaken:
|
||||||
|
|
@ -46,9 +46,9 @@ is what it has been doing for two passes.
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: CB-WP-0010-T02
|
id: CB-WP-0010-T02
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: ""
|
state_hub_task_id: "89355b0a-9fc7-4d69-a27e-d3c94ff0730f"
|
||||||
```
|
```
|
||||||
|
|
||||||
CB-EV-0007 §1: **COMMON PROBLEM (GR-E03) is implemented, referenced by no
|
CB-EV-0007 §1: **COMMON PROBLEM (GR-E03) is implemented, referenced by no
|
||||||
|
|
@ -63,13 +63,19 @@ is actually reachable (10 available against 9).
|
||||||
**Finding a defect here is the likely outcome and is the point** — this
|
**Finding a defect here is the likely outcome and is the point** — this
|
||||||
is the first execution of that code path.
|
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: record CommitWindow's second failed use
|
||||||
|
|
||||||
```task
|
```task
|
||||||
id: CB-WP-0010-T03
|
id: CB-WP-0010-T03
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: ""
|
state_hub_task_id: "1da2c1de-e098-440e-8cff-7c30817d1d2b"
|
||||||
```
|
```
|
||||||
|
|
||||||
`CommitWindow` is PROVISIONAL with a delete-by of 2026-12-31, on the
|
`CommitWindow` is PROVISIONAL with a delete-by of 2026-12-31, on the
|
||||||
|
|
@ -82,3 +88,6 @@ 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
|
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
|
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.
|
that was never run is exactly the retarget InnerLoop §Step 4 forbids.
|
||||||
|
|
||||||
|
**Done 2026-08-02.** A second-use log at the type records both declined
|
||||||
|
opportunities (CB-WP-0008, CB-WP-0010). Date unchanged, type unchanged.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue