Some checks failed
ci / check (push) Failing after 4s
Every workplan is done and nothing is in flight -- the session stopped at
a boundary, not mid-change -- so the risk on pick-up is not lost context
but MISREAD context.
Records the three findings most likely to be misread (attack_relief is
unreachable-then-real, not null; H1's rejection covers half of H1; the
scope module is inert in round one), what is waiting on ground-game
versus what is ours, the conventions a new session trips over (hub is a
read model; workplan status is active not in_progress; make vendor;
replays/ is gitignored), and the two habits that paid for themselves
repeatedly -- mutate every control, and test the path a player takes.
Linked from the README above the gates, since it should be read before
design — the finding register
QUEUE (open findings)
repro F17 degenerate raised 6d ground-game
repro F18 inert raised 6d clay-borg
repro F24 inert raised 5d clay-borg
repro F25 inert raised 4d clay-borg
repro F26 inert ruled 4d ground-game
repro F27 unplayed reported 4d clay-borg
repro F31 unplayed reported 4d clay-borg
repro F30 degenerate ruled 4d ground-game
NOTES (not reportable — GameDesign §3.1)
F12 degenerate 11d
F15 underdetermined 7d
F21 degenerate 6d
findings 28 (+3 note(s))
with a resolving reproduction 19/28 = 67% target 100%
open, lacking a reproduction 0 target 0
reproductions green while open 0 target 0
notes past 30 days 0 target 0
closed (log) 20 [U1, U2, U3, U4, U5, U6, U7, U8, U9, U10, F11, F13, F14, F16, F19, F20, F23, F22, F29, F28].
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
130 lines
5.3 KiB
Markdown
130 lines
5.3 KiB
Markdown
# Handoff — 2026-08-09
|
||
|
||
Written at the end of the session that landed CB-WP-0043 through
|
||
CB-WP-0050. **`.custodian-brief.md` is generated; this is not.** It says
|
||
what a generated index cannot: what is true, what is merely reported, and
|
||
what would be a mistake to assume.
|
||
|
||
Start with `make all` (expect green), then `make design` for the finding
|
||
queue and `make panels` for the current measurements.
|
||
|
||
---
|
||
|
||
## 1. Where the work stands
|
||
|
||
**Nothing is in flight.** Every workplan is `done`; no task is `todo`.
|
||
That is deliberate — the session was stopped at a boundary, not
|
||
mid-change.
|
||
|
||
The last four passes built one capability, in this order, and each
|
||
depends on the one before it:
|
||
|
||
| pass | what it made possible |
|
||
|---|---|
|
||
| CB-WP-0047 | all four Scenarios and all three Modes are selectable |
|
||
| CB-WP-0048 | a configuration is a **point in aspect space**, not a package name |
|
||
| CB-WP-0049 | policies that can *see* an objective and a module |
|
||
| CB-WP-0050 | a panel that sweeps configurations and says what it could not measure |
|
||
|
||
Before this, the engine dealt `SCN_01` and only `SCN_01`, and `Variant`
|
||
was a three-armed enum that could not name a two-module configuration.
|
||
|
||
---
|
||
|
||
## 2. The three things most likely to be misread
|
||
|
||
**(a) `attack_relief.self_soothe_ge4` is not "measured, no effect".** It
|
||
is **unreachable in the printed game** — peak Stress never exceeds 2 and
|
||
the gate is at 4 — and *real* once a `problem_stress` module supplies
|
||
pressure (F31). Its panel row carries `← never fired: UNMEASURED` for
|
||
exactly this reason. Do not read that row's numbers as a verdict on it.
|
||
|
||
**(b) H1's rejection covers half of H1.** CB-EV-0030 measured H1 with
|
||
bots that never attacked, so H1-B had no opportunity in any of those
|
||
games. The rejection stands on flat pressure alone. Corrected to
|
||
ground-game as GROUND-RPT-0007.
|
||
|
||
**(c) `problem_stress.scoped` is inert in round one.** Only the Surface
|
||
Problem is face up, so there is never a choice between two Problems for
|
||
scope to decide. Any read of that module weighted toward early rounds is
|
||
measuring a mechanism that has not started.
|
||
|
||
---
|
||
|
||
## 3. What is waiting on ground-game
|
||
|
||
Not ours to move, and worth not pre-empting:
|
||
|
||
- **F17** — ATTACK's degeneracy; a design judgement, open longest.
|
||
- **F26, F30** — `ruled`, tracked on their side (GROUND-WP-0008).
|
||
- **Unanswered asks:** the two in GROUND-RPT-0006 §5 and the reachability
|
||
question in GROUND-RPT-0007 §4.
|
||
|
||
Reports are written into `../ground-game/reports/` and **left
|
||
uncommitted** — their maintainer commits them. That is the established
|
||
pattern, not an oversight.
|
||
|
||
---
|
||
|
||
## 4. What is ours
|
||
|
||
### Blocked on capability, not effort
|
||
|
||
**F27 — no policy models a rival playing their objective.** This is the
|
||
*whole* of what keeps F27 open. The competitive modes are measured by
|
||
seats that never anticipate an opponent, and no amount of additional
|
||
measurement fixes that. Opponent modelling is the largest single item on
|
||
the board.
|
||
|
||
### Debt, small and dull
|
||
|
||
- **F18 / F24 / F25** — the "engine hardcodes what the edition states"
|
||
family. F25 shrank when the threshold moved to the Scenario card
|
||
(CB-WP-0047); F24 is the Solution deck as a Rust literal.
|
||
- **62 untagged literals** in `make facts-check` — reported, not failing.
|
||
- **11 trial notes read `unrecorded`.** Permanent by choice: they predate
|
||
CB-WP-0046's marker stamp, and inventing provenance is the defect that
|
||
pass existed to avoid.
|
||
|
||
### Named in workplans, never started
|
||
|
||
- **A second game.** `clay-borg` claims to be a general engine and has
|
||
exercised exactly one. Everything built this week assumed that claim
|
||
without testing it. **My recommendation for what to do first.**
|
||
- **Mode × module is unswept.** `module-panel` runs SHARED GROUND only,
|
||
and CB-EV-0033 showed the modes move *who wins*.
|
||
- **Per-round effect** is unreported, which is where `scoped` lives.
|
||
|
||
---
|
||
|
||
## 5. Conventions a new session will trip over
|
||
|
||
- **The State Hub is a read model.** Never `create_workplan` or
|
||
`create_task` by hand: write the file, commit, run `fix-consistency`
|
||
(its C-06 check registers it and writes the ids back).
|
||
- **Workplan status is `active | done | paused`.** `in_progress` is a
|
||
*task* status; using it on a workplan 422s on every sync.
|
||
- **`make vendor`** re-syncs the edition mirror from `../ground-game` and
|
||
regenerates the digest block by walking `editions/`. Upstream changes
|
||
several times a day; a red `edition-check` usually means run this.
|
||
- **`replays/` is gitignored** — a build artifact, not a fixture.
|
||
- **Reports to ground-game** are `GROUND-RPT-####`, written into their
|
||
`reports/`, with a clay-borg `evidence/CB-EV-####` as the upstream.
|
||
|
||
---
|
||
|
||
## 6. Two habits this session paid for repeatedly
|
||
|
||
**Mutate every control before trusting it.** Three separate controls in
|
||
this session were *vacuous* and said so only under mutation: a peek
|
||
detector whose variation was invariant under what a violator reads; a
|
||
"module-aware seat is ordinary under the baseline" check that swept
|
||
positions where no ranking term could change the answer; and a panel that
|
||
printed real-looking numbers for a module that had never fired. Each
|
||
looked correct and proved nothing.
|
||
|
||
**Test the path a player takes, not the helper.** `--module
|
||
problem_deal.pressure_deck` played a full baseline game and reported
|
||
success while every unit test of `resolve()` passed. CB-WP-0033 found the
|
||
same shape and said it plainly: *only the integration test proves the
|
||
driver.*
|