Skip to main content
← Back to Docs

Audit & Evidence Generation

This page defines the audit record, hash chaining, and trace linkage required to satisfy INV-5.

INV-5

Spec Drift Warning

Changes to implementation that violate invariant mappings invalidate compliance with v1.0. Implementations MUST preserve invariant-to-component, invariant-to-artifact, and invariant-to-verification-step mapping.

Compliance Assertion

  • Satisfies INV-5 by requiring attributable records for approvals, denials, and execution outcomes.

Non-Compliance Results In

  • Missing denial records are non-compliant.
  • Broken hash chaining or missing trace linkage invalidates compliance evidence.

Audit Record Contract

Invariant Mapping: INV-5

Every request MUST produce an attributable audit record, including denials.

  • Each audit record MUST contain record_id, timestamp, identity, decision, request_hash, trace_id, and data_hash.
  • Execution records MUST include approval_id and execution outcome.
  • Denial records MUST include a denial decision code.

Hash Chaining & Trace Linkage

Invariant Mapping: INV-5

  • Audit records MUST be linked by previous_hash or equivalent tamper-evident ordering field.
  • All records for a request MUST share the same trace_id.
  • All records for a request MUST share the same request_hash.

Required Evidence Exports

Invariant Mapping: INV-5

  • Implementations MUST support export of request, approval envelope, execution trace, and audit chain.
  • Exports MUST preserve field values used during verification.
  • Exports MUST be sufficient to confirm denials as well as approvals.

Compliance Evidence

  • Sample audit chain export with hash continuity.
  • Sample denial record proving denied requests are logged.
  • Verification output confirming trace_id and request_hash linkage.

Verification Linkage

INV-5

Artifact: audit-chain-001.json

Check: Hash continuity and trace linkage validate

Verification step: verify.sh: INV-5

INV-5

Artifact: audit-chain-001.json

Check: Request hash and approval_id correlate with execution trace

Verification step: verification walkthrough: Step 6