131 lines
5.3 KiB
Markdown
131 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.*
|