audit-core/layer.yaml
tegwick 6eaa33699d
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Align to Security Layer Model v0.7; revise SCOPE; raise AUDIT-WP-0009
The standard is accepted at v0.7 and all three of audit-core's v0.6
findings landed in it (§9.6 threat decomposition, cadence MUST for
load-bearing sources with reconciliation/heartbeat for low-volume
classes, §3.3's Evidence row restated as an estate trade).

INTENT.md: layer/role declared in frontmatter as §11 and companion §2
require — layer.yaml alone did not discharge it. Layer section rewritten
for the Evidence role and its obligations. New Evidence Bound section
carrying the §9.6 sound/unsound forms and the three-row threat table,
including the residual nothing in the model prevents.

SCOPE.md: replaced the statehub register stub, which carried no boundary
at all. Statute-fixed prohibitions now live here, separated from the
merely-not-yet — §16 ruled the stronger-custody gap closed, so WORM and
data.archive are not ours rather than not yet.

Assessment found nine gaps. Headline: postgres_backend returns
tamper_evidence=True unconditionally while docs/integrity.md permits it
only against a live external attestation, and the one on record is
2026-08-16 with no job renewing it — audit-core overclaiming its own
bound, the §9.6 defect turned inward. Also: no cadence, heartbeat,
reconciliation, or load-bearing classification exists, so the obligation
audit-core argued up from SHOULD to MUST is not yet dischargeable
against audit-core.

AUDIT-WP-0009 raised, ten tasks.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WpeL68AWHqtqPQZEXY5kFe

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 4040362@bnt-lap001
Assistant-Session: 4fd0fd24-2ee8-4413-bd67-43bd79ca73f1
2026-08-29 14:42:51 +02:00

56 lines
2.4 KiB
YAML

# audit-core — NetKingdom security layer declaration
#
# Framework: net-kingdom/canon/standards/security-layer-model_v0.7.md
# Assent: AUDIT-IN-0001 (audit-core's own voice, per §11 "who must declare")
# history/2026-08-28-approval-evidence-assent.md
# history/2026-08-29-security-layer-model-v0.6-review.md
# history/2026-08-29-v0.7-alignment-and-scope-assessment.md
#
# Reference form offered by ops-warden and adopted here, so §11's declaration
# check is mechanical rather than a reader's judgment about prose. audit-core
# raised that defect; adopting the form is the other half of raising it.
schema_version: "0.1"
framework: netkingdom-security-layer-model
standard_version: "0.7"
repository: audit-core
layer: engine
role: evidence # §3.3 engine typing
declared_by: intakes/intakes.md AUDIT-IN-0001
declared_at: "2026-08-29"
# §3.3: an Evidence engine records what happened and proves integrity of what
# it holds. It is explicitly not a decision point (§6, §9.4).
decision_surfaces_exposed: none
# §9.4 — normative and permanent. audit-core exposes no verdict on whether an
# approval is still valid; a consumer branching on such an answer would route an
# authorization decision through the audit fabric.
approval_validity_query: forbidden
# §5 applies to Staff. audit-core is an Engine and holds no §4 Tooling contact
# (key-cape, OpenBao). Companion §4 asks that UNCATALOGUED infrastructure be
# listed anyway so the check is total, and that carve-out sunsets within two
# review intervals for a store another layer reads. Completing this list and
# adding a conformance test is AUDIT-WP-0009-T10.
tooling_contacts: []
uncatalogued_infrastructure:
- id: platform-pg
system: CNPG PostgreSQL on railiance01
role: audit-core's own operational custody store
read_by_other_layers: true # subject to the companion §4 sunset
note: >-
Not a §4 Tooling row. Listed for totality, not as a declared gap.
# §9.6 — the bound audit-core delivers, stated so no doctrine rests on more.
evidence_bound:
proves:
- records held were not altered after arrival
- records held were not truncated after arrival
does_not_prove:
- that a record was ever sent
- absence of a record as evidence of non-occurrence
conditional_on:
- external chain-head attestation stored outside platform-pg
contract: docs/integrity.md
not_claimed: [WORM, object-lock, archival-custody]