diff --git a/INTENT.md b/INTENT.md index dabdc46..5cbd922 100644 --- a/INTENT.md +++ b/INTENT.md @@ -5,7 +5,6 @@ layer: Engine role: Evidence standard: canon/standards/security-layer-model_v0.7.md -standard_version: "0.7" declared_by: intakes/intakes.md AUDIT-IN-0001 declared_at: "2026-08-29" --- diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 344022e..e151745 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -71,6 +71,7 @@ | task | AUDIT-WP-0009-T10 | done | — | workplans/AUDIT-WP-0009-evidence-role-conformance.md | | task | AUDIT-WP-0009-T11 | done | — | workplans/AUDIT-WP-0009-evidence-role-conformance.md | | task | AUDIT-WP-0009-T12 | done | — | workplans/AUDIT-WP-0009-evidence-role-conformance.md | +| task | AUDIT-WP-0009-T13 | done | — | workplans/AUDIT-WP-0009-evidence-role-conformance.md | | task | AUDIT-WP-0010-T01 | done | — | workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md | | task | AUDIT-WP-0010-T02 | done | — | workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md | | task | AUDIT-WP-0010-T03 | done | — | workplans/AUDIT-WP-0010-tenant-engine-sender-admission.md | @@ -80,3 +81,4 @@ | intake | AUDIT-IN-0002 | open | — | intakes/intakes.md | | intake | AUDIT-IN-0003 | closed | — | intakes/intakes.md | | intake | AUDIT-IN-0004 | open | — | intakes/intakes.md | +| intake | AUDIT-IN-0005 | closed | — | intakes/intakes.md | diff --git a/intakes/intakes.md b/intakes/intakes.md index a007ad1..dbc0bf0 100644 --- a/intakes/intakes.md +++ b/intakes/intakes.md @@ -71,6 +71,7 @@ resolution: 'audit-core is NOT the §4 source of evidence for the decision been the flattering reading of an unruled boundary.' recorded_in: docs/section-4-source-of-evidence.md work: AUDIT-WP-0009-T13 +state_hub_intake_id: "01a0c14c-bb1c-77ed-8c85-79a7130ee078" ``` ## AUDIT-IN-0003 — Register informed-decision as a load-bearing sender; commitment-only payload doctrine diff --git a/layer.yaml b/layer.yaml index 4655c89..f5cbaa7 100644 --- a/layer.yaml +++ b/layer.yaml @@ -12,7 +12,10 @@ schema_version: "0.1" framework: netkingdom-security-layer-model -standard_version: "0.7" +# GH-DEC-2026-017 / amendment A11: INTENT.md frontmatter governs; this file is +# its derived machine-readable form. A12: no standard version in a declaration. +derived: true +derived_from: INTENT.md repository: audit-core layer: engine role: evidence # §3.3 engine typing diff --git a/tests/test_layer_conformance.py b/tests/test_layer_conformance.py index 54b8540..931a5ab 100644 --- a/tests/test_layer_conformance.py +++ b/tests/test_layer_conformance.py @@ -146,3 +146,38 @@ def test_the_declared_freshness_window_matches_the_contract(): assert surface["window_hours"] == 168 contract = (ROOT / surface["contract"]).read_text() assert "168 hours" in contract + + +# GH-DEC-2026-017 (amendments A9, A11, A12): INTENT.md governs, layer.yaml is +# derived from it, the §3 vocabulary is closed at four tokens compared after an +# ASCII case fold, and a declaration carries no standard version. +VOCABULARY = {"taxonomy", "tooling", "engine", "staff"} + + +def _intent_frontmatter() -> dict: + text = (ROOT / "INTENT.md").read_text() + assert text.startswith("---\n"), "INTENT.md must carry frontmatter" + return yaml.safe_load(text.split("---\n", 2)[1]) + + +def _fold(value: str) -> str: + return value.encode("ascii").lower().decode("ascii") + + +def test_layer_yaml_is_marked_derived_from_intent(): + assert LAYER["derived"] is True + assert LAYER["derived_from"] == "INTENT.md" + + +def test_the_two_forms_agree_after_folding_and_nobody_re_spells(): + intent_layer = _intent_frontmatter()["layer"] + assert _fold(intent_layer) in VOCABULARY + assert _fold(LAYER["layer"]) in VOCABULARY + # Assert the fold, not equality: a casing difference is conforming, a + # layer divergence that survives folding is a finding and must fail. + assert _fold(intent_layer) == _fold(LAYER["layer"]) + + +def test_no_standard_version_in_either_form(): + assert "standard_version" not in LAYER + assert "standard_version" not in _intent_frontmatter() diff --git a/workplans/AUDIT-WP-0009-evidence-role-conformance.md b/workplans/AUDIT-WP-0009-evidence-role-conformance.md index 63b8e08..ec365bc 100644 --- a/workplans/AUDIT-WP-0009-evidence-role-conformance.md +++ b/workplans/AUDIT-WP-0009-evidence-role-conformance.md @@ -680,6 +680,7 @@ Receipt: [native readback](../docs/evidence/2026-09-11-factory-native-readback.j id: AUDIT-WP-0009-T13 status: done priority: high +state_hub_task_id: "cfe3e530-28e5-515e-a5e5-a9ca4b960054" ``` `AUDIT-IN-0005`. flex-auth (access-engine) produces the decision record,