State the harness scope and calibrate E4 and R4 offline.

SCOPE.md now matches the commands that run. E4 and R4 fail known-bad fixtures in process, and the cadence register schedules nothing.

Assistant: grok
Assistant-Session: 01a10450-dda4-7253-91a9-b8dccb2f0173
This commit is contained in:
tegwick 2026-10-04 08:54:40 +02:00
parent 314e2a8bf2
commit 7a2373ae4c
24 changed files with 989 additions and 58 deletions

View file

@ -45,6 +45,12 @@ def load_registration(path: str | Path) -> dict[str, Any]:
raise AuthorizationError(f"{path}: E3 registration must project one runtime identity")
if classes & {"fixture-capacity", "capacity"} and count not in {0, 1}:
raise AuthorizationError(f"{path}: capacity registration projects at most one aggressor identity")
if classes & {"fixture-e4", "fixture-r4"} and count != 0:
raise AuthorizationError(f"{path}: E4 and R4 fixtures project no credential")
if (classes & {"fixture-e4", "fixture-r4"}) and (
classes & {"live-e2", "e3", "capacity", "asm"}
):
raise AuthorizationError(f"{path}: E4 and R4 fixtures cannot carry a live approval class")
if classes & {"fixture-asm", "asm"} and count not in {0, 1, 2}:
raise AuthorizationError(f"{path}: ASM registration projects at most two identities")
if classes & {"fixture-asm", "asm"} and not data.get("test_id"):