Every published GII value must decompose back to its evidence, which requires a disciplined set of stores. Raw evidence is append-only; corrections happen in the derived layers and retain a link to the originally ingested object. Personally identifiable or confidential data never enters this pipeline.
Implemented in @gii/registry · the facts below are computed live by the library from the fictional snapshot.
The logical stores#
| Store | Kind | Holds |
|---|---|---|
| Raw evidence store | append-only | Immutable retrieved files and API payloads, content-addressed by checksum. |
| Normalized source layer | derived | Parsed, typed, quality-checked records, each linked back to its raw evidence. |
| Decision Event Registry | versioned | Stable government-action objects — identity, authority, status, dates. |
| Policy Lineage Graph | graph | Typed relationships and temporal status (see /lineage). |
| Outcome Registry | versioned | Outcome definitions, orientation rules, sources, denominators, and revisions. |
| Analysis Registry | versioned | Designs, estimands, models, code, diagnostics, and results. |
| Score Registry | versioned | Versioned scorecards and their decomposition. |
| Publication Registry | versioned | Releases, citations, corrections, and deprecations. |
Append-only and versioned#
Raw payloads are content-addressed by checksum: re-ingesting identical content is idempotent, and a checksum collision with different content is refused rather than silently overwritten. Derived records are versioned monotonically from 1 — a revision or a correction is a new version that links back to the one it replaces, so prior vintages remain retrievable and visibly superseded.
Identifier reconciliation#
Cross-government identifiers are inconsistent, so GII preserves source identifiers rather than overwriting them and maps each to a GII entity through a crosswalk carrying the source, validity period, match method, and confidence. Reconciling an incoming record’s identifiers against the crosswalk is what stops an agency rename, reissued rule, or corrected opinion from creating an accidental duplicate.
This storage layer backs the API, the lineage graph, and the production pipeline’s reproducible release packages.