Appendix C — Hash-chain verification
====================================
Every entry in the audit log carries a SHA-256 hash chained to the
previous entry. The first entry has prev_hash = NULL; every subsequent
entry's prev_hash equals the previous entry's self_hash.

To verify the chain in this pack:
  1. Read 06-audit-log.csv
  2. For each row, compute SHA-256 of:
        canonical_json({organization_id, actor_type, actor_id,
                        action, target_type, target_id, metadata,
                        prev_hash, created_at})
  3. The result must equal the row's self_hash
  4. The row's prev_hash must equal the previous row's self_hash

Tooling: open-source verifier at
  https://github.com/Apeere1/ai-literacy/blob/main/scripts/verify-audit.ts

Hash chain prefix at pack generation: 7d22a04a...e0c4b1
