Admit E3 and capacity on the test plane
Register in-process E3 and capacity fixtures, keep live database and substrate targets pending, and ask ops-mason for namespace-only provision. No packets, no credentials, no cancelled engagement IDs. Assistant: grok Assistant-Session: 01a02670-3345-76f2-a014-70fde8e2a2bb
This commit is contained in:
parent
4882c2d47a
commit
7e83a66573
22 changed files with 501 additions and 74 deletions
|
|
@ -37,9 +37,15 @@ def load_registration(path: str | Path) -> dict[str, Any]:
|
|||
if not data["routes"]:
|
||||
raise AuthorizationError(f"{path}: applicable target must register routes")
|
||||
identities = data["identities"]
|
||||
if identities.get("count") != 2:
|
||||
count = identities.get("count")
|
||||
classes = set(data["approval_classes"])
|
||||
if classes & {"fixture-e2", "live-e2"} and count != 2:
|
||||
raise AuthorizationError(f"{path}: E2 registration must project two identities")
|
||||
if identities.get("ttl_seconds", 0) > 900:
|
||||
if classes & {"fixture-e3", "e3"} and count != 1:
|
||||
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 count and identities.get("ttl_seconds", 0) > 900:
|
||||
raise AuthorizationError(f"{path}: identity TTL must be at most 900 seconds")
|
||||
if data.get("known_bad_calibration") in {None, "", "pending"}:
|
||||
raise AuthorizationError(f"{path}: applicable target needs completed known-bad calibration")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue