---
id: ADR-PFM-QRY-012
title: Snapshot versions share a ledger and publish after validation
product_area: platform
module: queries
revision: 1
status: proposed
design_intent: confirmed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Applications record versioned monthly runs in the shared snapshot ledger, with owner-restricted
  writes and a final transaction that validates and publishes the new current version.
constrains:
  - DOM-PFM-QRY-006
  - STATE-PFM-QRY-014
  - WF-PFM-QRY-018
  - SVC-PFM-QRY-snapshots
origin: docs/proposals/snapshot-architecture.md D1–D8 (approved 2026-10-15)
alternatives:
  - option: Keep a separate ledger in each application
    why_not: Shared operational status and missing-period inspection would need additional aggregation.
  - option: Overwrite published periods
    why_not: Earlier reported figures would no longer have a retained version.
consequences:
  - Each owner accesses the ledger through its database role.
  - Reruns allocate another version.
  - Large runs may stage committed chunks before the final publication transaction.
supersedes: []
evidence:
  - 'services-platform at ad3f6a6: modules/snapshots/db/snapshot-runs.table.ts'
---

# Snapshot versions share a ledger and publish after validation

## Context

Staff need to distinguish absent, skipped, failed and published months across applications. Reruns must preserve earlier versions.

## Decision

Applications record versioned monthly runs in the shared snapshot ledger, with owner-restricted writes and a final transaction that validates and publishes the new current version.

## Alternatives Considered

Keep a separate ledger in each application: Shared operational status and missing-period inspection would need additional aggregation.

Overwrite published periods: Earlier reported figures would no longer have a retained version.

## Consequences

Each owner accesses the ledger through its database role. Reruns allocate another version. Large runs may stage committed chunks before the final publication transaction.
