[ADR-1166] ADR-105: audit log model — locks D1–D10

Story 1166Epic None3 files · +312/−0

PR #147 · pramaan-io/pramaan-docs · merged 2026-06-10

Why this matters

Who changed this record on March 15?

If your audit log can't answer, neither can you.

The naive table wasn't a witness. It was a diary.

The fix — One emit, one vocabulary, one shape, one seal — the audit log earns its name as a witness, not a diary.

How it flows

sequenceDiagram
  autonumber
  participant actor as Actor
  participant hook as audit.emit
  participant store as Audit table
  participant reader as Query surface
  actor->>hook: action
  hook->>store: same-tx write
  store->>reader: two surfaces

Files changed (3)

File±
docs/decisions/adrs/ADR-105-audit-log-model.md ★+262
docs/decisions/adrs/ADR-REGISTRY.md ★+1
docs/decisions/adrs/adr-registry.json ★+49