## Что это
Audit log rotation: при достижении 500MB на single SQLite файл, текущий файл закрывается с финальным `chain-tail-hash`, archived в `~/.rox/audit/archive/audit-.db`, новый файл стартует с `genesis-row` ссылающимся на predecessor's tail-hash. Эта схема создаёт verifiable chain между файлами.
Verify-команда `rox audit verify [--from=] [--to=]`:
1. Identify файлы in range
2. For each: compute row-by-row hash, compare с stored
3. Cross-file: tail-hash file N == genesis-prev-hash file N+1
4. Report mismatches с row-id и hash-diff
Компоненты: `packages/audit/verifier`, CLI hook через `@rox-one/cli`. Performance: 500MB → verify ≤ 30s через streaming read.
## Зачем
Post-rotation verify — критичный operational primitive для compliance audit. SOC2 typer-2 auditor может потребовать proof, что N лет логов нетронуты — без cross-file chain verification ответ «trust us» неубедителен. Это T221 retention + post-rotation hash-chain verify.
## Источники вдохновения
- [databendlabs/databend](https://github.com/databendlabs/databend) — analytical warehouse с verifiable chain patterns
- [agisota/bslog](https://github.com/agisota/bslog) — CLI для Better Stack логов в ClickHouse-SQL стиле
- [Siddhant-K-code/agent-trace](https://github.com/Siddhant-K-code/agent-trace) — strace-style queryable trace API
## 🔗 Linear
- [PZD-429](https://linear.app/kuhjie/issue/PZD-429) — backing ticket