diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 302b682..eff43f6 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -17,7 +17,6 @@ | 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-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-T02 | done | — | workplans/CB-WP-0001-inner-loop.md | | task | CB-WP-0001-T03 | done | — | workplans/CB-WP-0001-inner-loop.md | @@ -82,6 +81,3 @@ | 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-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 | diff --git a/crates/cb-game-runtime/src/lib.rs b/crates/cb-game-runtime/src/lib.rs index a389294..45b5f67 100644 --- a/crates/cb-game-runtime/src/lib.rs +++ b/crates/cb-game-runtime/src/lib.rs @@ -29,22 +29,6 @@ use std::collections::BTreeMap; /// **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 /// 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)] pub struct CommitWindow { /// Players who must submit, and their commitment once received. diff --git a/facts.toml b/facts.toml index 06a215c..fd99502 100644 --- a/facts.toml +++ b/facts.toml @@ -6,7 +6,7 @@ # `make facts-check` fails if this file disagrees with the # instruments, or if a tagged artifact disagrees with this file. -generated = "2026-08-02" +generated = "2026-08-01" pin = "fc76445" [am4a_loc] @@ -64,8 +64,8 @@ fmt = "{:,}" by = "tools/rule-coverage.py" [gr_scenarios] -value = 25 -text = "25" +value = 24 +text = "24" fmt = "{:,}" by = "tools/rule-coverage.py" diff --git a/scenarios/ground/gr-e03-common-problem.yaml b/scenarios/ground/gr-e03-common-problem.yaml deleted file mode 100644 index ddf7a08..0000000 --- a/scenarios/ground/gr-e03-common-problem.yaml +++ /dev/null @@ -1,81 +0,0 @@ -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: [] diff --git a/workplans/CB-WP-0007-session-shape.md b/workplans/CB-WP-0007-session-shape.md index 8a21c0b..a41bd85 100644 --- a/workplans/CB-WP-0007-session-shape.md +++ b/workplans/CB-WP-0007-session-shape.md @@ -2,7 +2,7 @@ id: CB-WP-0007 kind: meta title: "Make session shape measurable in the window that matters, then enforce it" -status: done +status: in_progress state_hub_workstream_id: "bee19b76-fb60-4dcf-94d0-9242b43e0e42" --- @@ -175,18 +175,11 @@ the pass and report the rate the instrument measures. ## Phase C — measure, and say what it cost -## 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: control loop — did windowing change what fires? ```task id: CB-WP-0007-T05 -status: cancel +status: todo priority: high state_hub_task_id: "2f78b272-e1f9-4530-bc8c-3a9d82833546" ``` @@ -208,18 +201,11 @@ Four tests, all reported: the loop cannot detect this. Record the judgment explicitly rather than letting the cost number imply it. -## 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: retrospective ```task id: CB-WP-0007-T06 -status: cancel +status: todo priority: medium state_hub_task_id: "93fbd2bb-403b-4be9-a5ff-d6142b916aba" ``` diff --git a/workplans/CB-WP-0010-consolidation.md b/workplans/CB-WP-0010-consolidation.md index f4a05b3..494f0ac 100644 --- a/workplans/CB-WP-0010-consolidation.md +++ b/workplans/CB-WP-0010-consolidation.md @@ -2,8 +2,8 @@ id: CB-WP-0010 kind: product title: "Close the open ends before stage 1" -status: done -state_hub_workstream_id: "071a2da8-cb95-4dda-a711-7173434bdc3c" +status: proposed +state_hub_workstream_id: "" --- # Purpose @@ -23,9 +23,9 @@ three against a soft 25%, and this pass is how it comes back down. ```task id: CB-WP-0010-T01 -status: done +status: todo priority: high -state_hub_task_id: "88bafc24-eeac-4aa0-9c40-f15307dee120" +state_hub_task_id: "" ``` 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 id: CB-WP-0010-T02 -status: done +status: todo priority: high -state_hub_task_id: "89355b0a-9fc7-4d69-a27e-d3c94ff0730f" +state_hub_task_id: "" ``` CB-EV-0007 §1: **COMMON PROBLEM (GR-E03) is implemented, referenced by no @@ -63,19 +63,13 @@ 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: done +status: todo priority: medium -state_hub_task_id: "1da2c1de-e098-440e-8cff-7c30817d1d2b" +state_hub_task_id: "" ``` `CommitWindow` is PROVISIONAL with a delete-by of 2026-12-31, on the @@ -88,6 +82,3 @@ 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. - -**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.