evidence(AUDIT-WP-0008): establish E2 target pass
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02991-be07-7bb3-8b6d-e9701b5621de
This commit is contained in:
tegwick 2026-08-23 00:26:32 +02:00
parent 375f970061
commit f9d83a95a4
5 changed files with 297 additions and 23 deletions

View file

@ -6,8 +6,8 @@
# provider block per Decision 5.5.
#
# Conformance is accuracy, not altitude (§6). Nothing here is claimed above
# what this repo can evidence today. E is deliberately declared lower than the
# mechanism in place because the adversarial artifact is still absent.
# what this repo can evidence today. E2 is backed by a bounded adversarial
# target run; its scope and freshness limit are recorded below.
schema_version: "0.1"
framework: netkingdom-tenancy-posture
@ -15,20 +15,19 @@ service: audit-core
role: tenant-audit-service
tenancy:
reviewed: "2026-08-17"
review_due: "2027-02-17"
reviewed: "2026-08-22"
review_due: "2026-08-23"
service_class: batch # §8.3.2. Co-resident with latency-critical
# tenant-engine on platform-pg; the mixture is
# reported by the platform, not hidden.
current: { I: 1, A: 2, E: 1, P: 1, R: 2, V: 0 }
implemented: { E: 2 }
current: { I: 1, A: 2, E: 2, P: 1, R: 2, V: 0 }
target: { I: 1, A: 2, E: 3, P: 1, R: 2, V: 1 }
# §5.2 — declare per path, quote the minimum. The quoted E above is the
# minimum across paths. As of AUDIT-WP-0008-T04 both paths carry the same
# mechanism; the quoted level stays at 1 for the evidence reason in gap.E,
# not because a path is weaker.
# mechanism. The quoted level is now 2 because the adversarial target artifact
# required by §13.2 exists for this revision.
paths:
E:
write: 2 # Sender credential bound to the sources and tenants it may
@ -60,16 +59,17 @@ tenancy:
delegating to it today would lower this service's assurance, not raise it.
E: >-
The E2 mechanism is in place on both paths as of AUDIT-WP-0008-T04, and
the quoted level is still 1. This is deliberate. §13.2 states that a
passing CI run is not E2 evidence: the E2 artifact is adversarial, needs
separate tenant contexts compared against each other, and carries a review
date rather than a green build. The repo's cross-tenant tests are
mechanical. Under §13.1 the level is not claimable until that artifact
exists, so E stays at 1 until AUDIT-WP-0008-T05 produces it with
whitehat-security. Declaring E2 on the strength of unit tests would be the
overclaim §6 prohibits, and the read-path defect this repo just fixed was
found precisely by refusing that kind of reasoning.
E2 is implemented on both paths by AUDIT-WP-0008-T04 and evidenced by the
bounded whitehat-security target run WH-ENG-20260822-AUDIT-E2-03. An
ordinary tenant-A identity could not fetch tenant B's event by id, observe
tenant B's correlation fixture, or append as tenant B across ten attempted
operations. The run ended 2026-08-22T22:10:25Z with no limitations;
receipt-bound cleanup removed both temporary identities, both exact KV
paths, all projection resources and the runner. This says only that the
attempted attacks did not work, not that the boundary always holds. The
24-hour facility baseline makes review or replacement due at
2026-08-23T22:10:25Z, and relevant boundary changes require a
pre-promotion run.
E_target: >-
E3 (row-level security per rapp-postgres ADR-0003) targeted 2027-03-31.
Blocked behind the E2 artifact — §4.3 requires E2 evidence alongside any
@ -125,6 +125,7 @@ provider:
evidence:
- "audit_core/ingestion.py"
- "tests/test_ingestion.py"
- "docs/evidence/AUDIT-WP-0008-T05-whitehat-e2-03-pass-2026-08-22.md"
R:
available: 2
maximum: 2
@ -158,9 +159,9 @@ evidence:
A2:
- "audit_core/ingestion.py"
- "tests/test_ingestion.py"
E1:
- "audit_core/postgres_backend.py"
- "tests/test_backend_conformance.py"
E2:
- "docs/evidence/AUDIT-WP-0008-T05-whitehat-e2-03-pass-2026-08-22.md"
- "docs/evidence/AUDIT-WP-0008-T05-whitehat-e2-03-final-report.json"
P1: "rapp-postgres/docs/evidence/isolation-2026-08-10.md"
R2:
- "rapp-postgres/consumers/audit-core.yaml"