Land attended sitting create now that CCR-2026-0026/0027 is live.

Platform verified create-only exchange; this shell cannot POST.
create_sitting_approvals.py requires attended reader, skips c01, and
refuses a non-loopback approval origin. Dry-run lists the seven memos.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
This commit is contained in:
tegwick 2026-09-15 22:19:25 +02:00
parent 8c03eb85c0
commit c3742e27d2
8 changed files with 318 additions and 16 deletions

View file

@ -9,7 +9,7 @@ REG = json.loads((ROOT / "docs" / "keycape-sitting-requester-registration.json")
INTENTS = json.loads((ROOT / "docs" / "batches" / "2026-09-14" / "approval-create-intents.json").read_text())
def test_sitting_requester_is_create_only_and_unapplied():
def test_sitting_requester_is_create_only_and_applied():
assert REG["clientId"] == "informed-decision-sitting-requester"
assert REG["audience"] == "approval-engine"
assert REG["allowedScopes"] == ["approval:create"]
@ -17,7 +17,8 @@ def test_sitting_requester_is_create_only_and_unapplied():
assert REG["clientType"] == "confidential"
assert REG["serviceSubject"] == "informed-decision"
assert REG["tenant"] == "tenant:platform"
assert REG["applied"] is False
assert REG["applied"] is True
assert REG["ccrs"] == ["CCR-2026-0026", "CCR-2026-0027"]
assert "redirect" not in json.dumps(REG).lower()
forbidden = {"approval:approve", "approval:consume", "approval:read", "openid"}
assert forbidden.isdisjoint(REG["allowedScopes"])