ADR 0009: Persisted Report Runs
Context
BooksPlus reports must be traceable when they support review, close, audit, or management decisions.
A live report view answers a current question, but it does not by itself preserve who ran the report, when it was run, which period or as-of date it covered, or what values were reviewed at that time.
Decision
BooksPlus will support persisted report runs for standard accounting reports.
A report run records an execution of a report definition with its parameters, actor, capture time, summary, and durable snapshot payload.
Initial report definitions are:
- trial balance;
- balance sheet;
- income statement.
Rules
- Formal accounting reports derive from canonical ledger truth.
- Draft or unposted workflow records must not become report truth.
- A report run must preserve the report definition, as-of date or covered period, actor, generated-at timestamp, and snapshot payload.
- Report snapshots used for close review must be stored or referenced durably.
- Report rendering is presentation behavior; report run identity and snapshot meaning belong to Reporting.
- Close may consume report runs or report snapshots, but Reporting owns report definition and report execution meaning.
The launch definitions use the stable codes trial_balance, balance_sheet,
and income_statement. Detailed statement calculations, immutable RR-
identity, fingerprints, replay, currentness, security, audit, Close resolver,
and recovery behavior are binding through the
Reporting Contract.
Consequences
- Close packs and audit review can refer to stable report artifacts.
- Users can distinguish a live report from a report that was captured for review.
- Report execution can become attributable without overbuilding a full report catalog immediately.
Binding implementation contract
The Reporting Contract fixes the launch definition, calculation, result, persisted-run, snapshot, drilldown, authorization, audit, replay, currentness, backup, and Close-consumption boundary governed by this decision.