Monthly Snapshot
What It Models
Monthly snapshots preserve a versioned view for later reporting. The shared ledger makes missing, skipped and failed periods visible as operational outcomes.
Identity and Attributes
Every type owns its generation behavior and rows. The workspace’s time zone defines its calendar periods; staff policy controls eligibility.
Relationships
The available-period interface is ready for a report selector, but the corresponding console integration remains unfinished.
Invariants
The invariant rows separate final publication atomicity from chunk staging. Earlier published versions remain current when final validation fails.
How It Is Stored and Shared
The snapshot service declares the shared ledger and Platform self-test types. Owner roles use the shared library; the jobs HTTP function hosts snapshot routes.
Open Design Questions
Cross-application staff reruns and backfills remain outside the implemented scope. Product must reconcile the failed-run row-retention promise with chunked generation.