Registry Loading Status
Reports are automatically generated on a schedule, committed to this repository, and published to GitHub Pages. They track migration progress from the legacy PDS Solr registry to the new OpenSearch-based registry.
Note
Reports update automatically whenever the scheduled workflow runs (typically daily).
The burnup chart is published to GitHub Pages on every push to main or develop.
How These Reports Work
The baseline for what bundles and collections should exist in the registry is the PDS Keyword Search, which is populated by the Engineering Node (EN) each time a formal data release occurs. This is the authoritative inventory of PDS archive data — a product that EN has released is the agreed-upon source of truth for what belongs in the archive.
These reports compare that baseline against what is actually accessible through the PDS Registry API to surface gaps.
A product is missing when it appears in the PDS Keyword Search but is not yet present in the new
OpenSearch-based registry. A product is staged when it is in the new registry but its
archive_status has not yet been advanced to archived — it has been loaded but requires
operator action to complete the transition.
For detailed guidance on interpreting the reports, filtering by node, and understanding the
superseded flag, see the
docs/status README on GitHub.
Burnup Chart
The Burnup Chart shows cumulative products loaded into the new registry over time, broken down by PDS node. It includes:
Overall and per-node loading progress vs. target
Both “all versions” and “latest version per LID” views
An interactive date-range filter (defaults to the last 12 months)
Status Reports
All CSV reports and the full metrics summary are in the docs/status directory on GitHub. The README in that directory contains the latest metrics table and detailed field descriptions.
Missing Products
Products present in the legacy Solr registry but not yet loaded into the new OpenSearch registry.
File |
Description |
|---|---|
All missing Product_Bundle records (all versions) |
|
All missing Product_Collection records (all versions) |
Each row includes NODE_ID, LIDVID, PRODUCT_CLASS, and a SUPERSEDED flag
(true if a newer version of the same LID exists anywhere in the dataset).
Loaded Products
All products currently in the new OpenSearch registry, regardless of archive status.
Queried with search_after pagination so counts are not capped at 10,000.
File |
Description |
|---|---|
All Product_Bundle records in new OpenSearch |
|
All Product_Collection records in new OpenSearch |
Note
Loaded counts will exceed the legacy Solr counts because the new registry also contains products harvested directly from non-Solr sources (e.g., PSA/ESA ~900 bundles, ~4,000 collections).
Staged Products
Products loaded into the new registry but with archive_status = staged
(loaded but not yet transitioned to archived). These require operator action.
File |
Description |
|---|---|
Staged Product_Bundle records |
|
Staged Product_Collection records |
Historical Counts
Append-only snapshots of missing and staged totals per script run. Use these files to plot burndown charts externally.
File |
Description |
|---|---|
Missing/staged totals per run (append-only) |
|
Cumulative loaded counts by date (all versions) |
|
Cumulative loaded counts by date (latest version per LID only) |
|
Per-node cumulative loaded counts (all versions) |
|
Per-node cumulative loaded counts (latest version per LID only) |
Report Generation
Reports are generated by scripts/generate_registry_status_reports.py.
To regenerate locally without committing:
./venv/bin/python scripts/generate_registry_status_reports.py --no-commit
Requires AWS/Cognito credentials configured in ~/.pds/.registry-client or .env.
See Developer for environment setup details.