Skip to content

fix(scout): restore discrepancy detection and confirmed repairs - #197

Merged
djgormley merged 1 commit into
CHIMEFRB:mainfrom
WVURAIL:djg/fix-scout-healing
Sep 29, 2026
Merged

djgormley merged 1 commit into
CHIMEFRB:mainfrom
WVURAIL:djg/fix-scout-healing

Conversation

@djgormley

Copy link
Copy Markdown
Contributor

datatrail scout can crash when scopes are omitted, miss Minoc discrepancies, and send site checksums to a misspelled endpoint. Site checksum responses also use absolute filenames, while the repair endpoint expects dataset-relative names; passing them through can report success without creating replicas.

Use the returned scopes and each scope's site set, include the queried Minoc count, and render every reported storage site. Fetch checksums from the correct endpoint and normalize remote filenames to the backend's expected names with strict root and dataset boundaries. Repairs still require individual confirmation; invalid reports, failed queries, and malformed checksum payloads prevent the affected repair and produce a nonzero exit status. Independent confirmed repairs may continue after a failure.

Adds 45 regression cases, including Minoc recovery, omitted scopes, different site sets, CHIME/baseband-buffer comparisons, realistic absolute checksum paths, cancellation, and HTTP/transport/payload failures. The combined non-CADC suite passes on Python 3.10 and 3.14 (343 tests on each), and all pre-commit hooks pass. Nine tests requiring CADC credentials are excluded; no live archive repairs were performed.

Fixes #85.
Fixes #86.
Fixes #104.

@djgormley
djgormley merged commit 54dfbf4 into CHIMEFRB:main Sep 29, 2026
9 checks passed
@djgormley
djgormley deleted the djg/fix-scout-healing branch September 29, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant