test(store): prove the audited claims instead of asserting them

The audit established which rows understated what was built by locating
implementations and their call sites. That proves code exists, not that
it works, so each corrected claim is now tied to an executable test.

Seven of the nine were already covered and just needed naming: the
allocated ServerConfig fields, signed-authorisation admission, endpoint
wiring, casual lineup being reached through formation, three of the four
penalty kinds, signed roster metadata, the season countdown, and the
matcher deployments.

Two had no proof at all:

- INITIAL_CONNECT_NO_SHOW was the one penalty kind with no integration
  coverage, so "all four penalty kinds are written durably" rested
  entirely on reading the code.
- Cross-replica revocation is a behavioural property. An in-memory cache
  in front of the session read would break it while leaving every call
  site looking correct, so no amount of reading establishes it.

Writing the first one found my own error rather than a defect: casual
deliberately waits past InitialConnectWindow to CasualBotStartAfter
before deciding a no-show, giving a slow-loading player longer than the
ranked deadline. Reconciling at the earlier window only yields WAIT.

Both new tests were mutation-checked -- removing the penalty insert and
removing the revoked_at check each make them fail -- so they assert
something real rather than passing incidentally.
This commit is contained in:
Josh Creek
2026-09-05 17:07:05 +01:00
parent 8033d52db3
commit a1f30f6af9
2 changed files with 150 additions and 0 deletions
+21
View File
@@ -80,6 +80,27 @@ up a row, verify its claim against the code before planning against it** —
and correct the row if it is stale, since an unverified row is a rumour, not
a backlog item.
Every corrected claim is backed by an executable test rather than by having
located an implementation, because locating one proves it exists, not that it
works:
| Claim | Proof |
|---|---|
| 8.6 allocated `ServerConfig` fields | `test_server_config.gd::test_allocated_mode_is_opt_in_and_requires_compatibility_manifest` |
| 8.6 signed-authorisation admission | `test_match_net.gd` join-authorisation cases, incl. the key-rotation set |
| 8.6 endpoint wiring | `test_assignment_state.gd` — endpoint preserved, unsafe endpoint rejected |
| 8.8 cross-replica revocation | `TestPostgreSQLSessionRevocationIsImmediateOnAnotherReplica` |
| 8.19 lineup reached through formation | `TestPrepareProposalBuildsCasualLineupBeforeCreatingProposal` |
| 8.19 all four penalty kinds durable | existing integration tests, plus `TestPostgreSQLInitialConnectNoShowWritesADurablePenalty` |
| 8.30 signed roster metadata | `TestRealAllocatorWorkerPublishesSignedAssignmentRoster` |
| 8.42 season countdown | `test_control_plane_client.gd``"Season ends in 2d"` and the clamped case |
| 8.16/8.43 matcher deployed | `test_kubernetes_policies.py::test_every_required_workload_role_is_deployed` |
Two claims had no proof and needed one written: `INITIAL_CONNECT_NO_SHOW`
penalties and cross-replica revocation. Both new tests were mutation-checked —
disabling the behaviour makes them fail — so they assert something real. 8.13
and 8.52 are cross-references and assert nothing.
### Blocking sign-off — the work exists, the verification does not
| # | What | Why it is not done | Detail |