You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
...so that I can confirm the accuracy of the missing products reports and identify any false positives where products are listed as missing in the legacy registry but are actually accessible via the PDS Search API.
A spot-check validator script (validate_missing_in_api.py) reads the overall missing_bundles_in_registry.csv and missing_collections_in_registry.csv, randomly samples up to 500 LIDVIDs from the combined pool, queries the PDS Search API for each, and reports HTTP status codes. Products returning 200 are flagged as unexpectedly found in the API.
Acceptance Criteria:
Script reads missing bundle and collection CSVs and queries PDS Search API endpoint for each LIDVID: /products/{lidvid}
Random sampling (default 500) with optional fixed seed for reproducibility (--sample, --seed)
Results written to docs/status/validation_results.csv with columns: node, lidvid, product_class, http_status, in_api
Summary printed to stdout showing counts of confirmed missing (404), found (200), errors, and timeouts
Configurable workers, timeout, sample size, and API base URL via CLI args
--dry-run mode to preview URLs without querying the API
--sample 0 runs against the full pool
--found-only flag to write only products unexpectedly found in the API
Checked for duplicates
Yes - I've already checked
π§βπ¬ User Persona(s)
PDS Node Operator, PDS Engineering Node
πͺ Motivation
...so that I can confirm the accuracy of the missing products reports and identify any false positives where products are listed as missing in the legacy registry but are actually accessible via the PDS Search API.
Relates to #476 and #481.
π Additional Details
A spot-check validator script (validate_missing_in_api.py) reads the overall missing_bundles_in_registry.csv and missing_collections_in_registry.csv, randomly samples up to 500 LIDVIDs from the combined pool, queries the PDS Search API for each, and reports HTTP status codes. Products returning 200 are flagged as unexpectedly found in the API.
Acceptance Criteria:
/products/{lidvid}--sample,--seed)docs/status/validation_results.csvwith columns: node, lidvid, product_class, http_status, in_api--dry-runmode to preview URLs without querying the API--sample 0runs against the full pool--found-onlyflag to write only products unexpectedly found in the APIFor Internal Dev Team To Complete
Acceptance Criteria
βοΈ Engineering Details
π I&T