access-engine/docs/conformance/security-layer-conformance.md
tegwick 3cb1cfaedf
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 1m1s
Implement local decision delivery and reconcile blocked workplan requirements
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a1046e-fcad-7ea3-bf36-361fc8d679e8
2026-10-04 11:40:37 +02:00

6.6 KiB

Security Layer Model — flex-auth conformance record

Derived artifact (§11). Derives from net-kingdom/canon/standards/security-layer-model_v0.8.md (status: proposed, source_revision: gate-house@516ed4e). Derived at: 2026-09-21. Maintained by flex-auth.

This file exists because INTENT.md deliberately does not carry one. The layer declaration states a boundary — flex-auth is Engine / PDP — and a boundary does not change when the standard text is amended. Conformance state does change, every revision, and belongs in an artifact that is expected to move and that carries the version it was derived at.

The split is the standard's own. Its frontmatter: "assented_by records assent to a BOUNDARY, given at the version named. It is not assent to the current text."

Declaration

Field Value
Layer Engine
Role PDP — the estate's only policy decision point (§6)
Declared at 2026-08-29
Declared by FLEX-DEC-2026-001, FLEX-DEC-2026-002, FLEX-DEC-2026-003
PEP stance null — not PEP-shaped; flex-auth renders decisions and causes no protected side effect
Tooling contacts none — §5 binds Staff; flex-auth holds no Tooling client

Assent history

Assent is to the boundary, recorded at the version where it was given.

Version Record Outcome
v0.4 FLEX-DEC-2026-002 §9.3 contested and upheld
v0.6 FLEX-DEC-2026-003 review; §6.4.2, §9.7.2, §17 adopted into v0.7
v0.7 — four flex-auth findings adopted
v0.8 (proposed) FLEX-DEC-2026-011 assent with four findings, all adopted

Conformance state at v0.8

Scope of this record: one repository, flex-auth, which is the §4 row access-engine. §11 binds §4 and flex-auth is in it, so this is an in-scope record. Stated because a run MUST state its scope (A11, GH-DEC-2026-017 §4).

Not conforming on §11, held as a declared gap. GH-DEC-2026-018 ruled that flex-auth is a §4 source of evidence for the decision record and owes an emission guarantee it did not declare. Recorded in those words, as gate-house wrote them: flex-auth asked for the unflattering reading, and softening it here would make the register useless for whoever is next.

§11's four states: conforming, blocked-clean, declared gap, undeclared violation. flex-auth claims no blocked-clean capability and holds no undeclared violation it is aware of. Everything below is a declared gap: owner, blocker, review date.

# Gap Owner Blocked on Review
G1 Registry-snapshot digest absent from decision provenance. §9.7.2 promotes it to a conformance prerequisite: a decision that turned on registry content must be replayable from its own record. flex-auth implementation FLEX-WP-0019
G2 Emission guarantee declared, not delivered. Ruled 2026-09-21 (GH-DEC-2026-018): flex-auth is the source; custody is never source; audit-core confirmed its half and declined the role (AUDIT-IN-0005). The per-event-class inventory and classification are published in cadence.yaml and named from INTENT.md (source_of_evidence: true, emission_guarantee). Five decision classes are load-bearing; deny, redact, not_applicable, audit_only are rare — heartbeat and reconciliation, rate monitoring forbidden; allow is volume — expected-rate and reconciliation. No production pin emits yet. Durable outbox, per-class heartbeat/drain and optional PVC are implemented and locally tested; sender admission, compatible reconciliation windows and native observer evidence remain pending. flex-auth audit-core AUDIT-IN-0006 admission/token delivery, gate-house GH-WP-0004-T12 ruling, compatible count windows and approved native heartbeat/reconciliation/silence-finding evidence — FLEX-WP-0031 2026-10-19
G3 Published stance-register review is stale: written at two register rows, §13.1 now carries five, and its Finding 1 was ruled by v0.8 §6.4 obligation 3. flex-auth second edition FLEX-WP-0029

G2 fails closed. A stream with no delivered cadence produces no silence finding, so the failure on its distinguishing case is a missed detection, never a manufactured permission (A-17, §9.6's §8-asymmetry). That is why it can be held as a gap rather than being a permission. It is still non-conformance, tracked, and it is not closed by the classification being published: a declaration of a guarantee nobody delivers is the §9.1 defect this standard keeps correcting.

What the classification is. flex-auth's, published as §11 requires the source to publish it. GH-DEC-2026-018 §4 declined to classify on flex-auth's behalf because §11 forbids inferring class from event name, payload or observed rate, and that binds a ruling as hard as a runner. A conformance run is supplied this inventory and must not derive it.

Atomicity is pending, not waived. Whether decision-record emission must be atomic with the decision (§9.4) was expressly left open by GH-DEC-2026-018 pending this inventory. It now exists; the question goes to FLEX-WP-0031.

Not gaps

  • No standard version in INTENT.md. Deliberate, enforced by test (internal/layer), and raised to gate-house as FLEX-WP-0030 B4 in case §11 should say so generally.
  • Canon says access-engine, the repository answers to flex-auth. The rename is ruled (FLEX-DEC-2026-013) and sequenced (FLEX-WP-0020); the coordinate is pending, not broken. Raised as B5.

How this file is kept true

internal/layer asserts that INTENT.md carries no standard_version, names a conformance_record that exists on disk, states source_of_evidence, and — because it is true — names an emission_guarantee that exists on disk and classifies every event class, with every rare load-bearing class carrying heartbeat and reconciliation and forbidding rate monitoring. That is the same property flex-auth praised in ops-warden's stance map: the published artifact is asserted equal to the shipped one by test, rather than merely written down. It does not assert the contents below the declaration — a reviewer still has to read this file.

2026-10-04 implementation review: source-owned docs/contracts/decision-emission-cadence.json passes the supplied InfoTechCanon schema and NetKingdom security profile. This is declaration validity, not native emission evidence. FLEX-DEC-2026-018 supplies the local release rule; GH-WP-0004-T12 still owes the statutory disposition of its failure-path exception. G2 remains open and no atomicity waiver is inferred.