test(b-gate): the contract binds the three judgement steps, and the pin moves 5 -> 8

The entries for validering / verdict-id / dom were console-script pointers at run.py::main, which
the gate itself refused with a named reason: the way from that main() requires a chat client.
They now point at the toolbox subcommand that reaches each symbol, with the probe that drives it.

Measured, same denominator both ways, no other row moved:
  row 1  5 av 17  ->  8 av 17   (RED both ways)
  row 2  0/2 · row 3  15/15 GREEN over 514 published files · row 4  0/3 · row 5  4/5 · row 6 NOT
  MEASURED -- unchanged, exit 1 unchanged.

_EXTERNAL_TODAY follows the measurement, and _WITH_A_DOOR_TODAY names WHICH eight, so a door that
moves without being built shows up as a red test rather than as a different number. The arm that
asserted "validering has no door" had to pick a step that still does not: kjorekonfig.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-20 10:08:48 +02:00
commit 10cef82f7b
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
2 changed files with 39 additions and 19 deletions

View file

@ -206,11 +206,14 @@
"scope": "evaluate_mandate_candidates"
},
"entry": {
"kind": "console-script",
"module": "run.py",
"scope": "main"
"kind": "subcommand",
"module": "toolbox.py",
"scope": "main",
"command": "validate-proposal"
},
"probe": []
"probe": [
"tests/test_toolbox_doors.py::test_validate_proposal_from_outside_reproduces_the_bases_own_golden"
]
},
{
"id": "verdict-id",
@ -222,11 +225,14 @@
"scope": "run_project"
},
"entry": {
"kind": "console-script",
"module": "run.py",
"scope": "main"
"kind": "subcommand",
"module": "toolbox.py",
"scope": "main",
"command": "verdict-key"
},
"probe": []
"probe": [
"tests/test_toolbox_doors.py::test_verdict_key_from_outside_is_the_key_the_learning_loop_mints"
]
},
{
"id": "dom",
@ -238,11 +244,14 @@
"scope": "run_project"
},
"entry": {
"kind": "console-script",
"module": "run.py",
"scope": "main"
"kind": "subcommand",
"module": "toolbox.py",
"scope": "main",
"command": "capture-verdict"
},
"probe": []
"probe": [
"tests/test_toolbox_doors.py::test_capture_verdict_from_outside_is_the_verdict_the_store_would_hold"
]
},
{
"id": "kjørekonfig",