feat: complete local layer model v0.7 conformance work
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a06eaf-3425-7f92-a0c2-bb4aa4faebe4
This commit is contained in:
parent
89b117f640
commit
00145d705e
13 changed files with 279 additions and 27 deletions
|
|
@ -30,6 +30,7 @@ class TestDeclaration:
|
|||
d = _decl()
|
||||
assert d["repository"] == "ops-warden"
|
||||
assert d["layer"] == "staff"
|
||||
assert d["standard_version"] == "0.7"
|
||||
# §11: "only the repository's own file, in its own voice, conforms."
|
||||
assert d["declared_by"] == "docs/adr/ADR-0010"
|
||||
|
||||
|
|
@ -131,3 +132,21 @@ class TestPepStanceMap:
|
|||
"""§6.4 obligation 2: caching an input claim is permitted; caching the
|
||||
answer is a second decision point deciding early (§6.1)."""
|
||||
assert self._stance()["verdict_caching"] == "none"
|
||||
|
||||
def test_revocation_visibility_deadline_equals_enforced_ttl_policy(self):
|
||||
"""§9.7.2: a published replay window must not drift from issuance."""
|
||||
from warden.models import ActorType, MAX_TTL_HOURS
|
||||
|
||||
published = self._stance()["revocation_visibility"]
|
||||
expected = {actor.value: MAX_TTL_HOURS[actor] for actor in ActorType}
|
||||
assert published["deadline_hours"] == expected
|
||||
assert published["mechanism"] == "ttl_expiry"
|
||||
assert published["revocation_channel"] == "none"
|
||||
|
||||
def test_attributive_emission_cadence_deferral_carries_measurement(self):
|
||||
cadence = self._stance()["emission_cadence"]
|
||||
assert cadence["classification"] == "attributive"
|
||||
assert cadence["status"] == "deferred"
|
||||
assert cadence["observed_window"]["signature_records"] == 3
|
||||
assert cadence["observed_window"]["active_signature_days"] == 2
|
||||
assert cadence["reason"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue