Some checks failed
CI / skinny-install (aco) (push) Successful in 50s
CI / skinny-install (bls) (push) Successful in 32s
CI / skinny-install (cms) (push) Successful in 28s
CI / skinny-install (cli) (push) Successful in 36s
CI / skinny-install (perf) (push) Successful in 27s
CI / skinny-install (conf) (push) Successful in 35s
CI / skinny-install (pfs) (push) Successful in 36s
CI / skinny-install (rex) (push) Successful in 35s
CI / lint-test (push) Successful in 1m24s
CI / skinny-install (api) (push) Successful in 34s
CI / skinny-install (bcda) (push) Successful in 34s
CI / skinny-install (bib) (push) Successful in 33s
CI / skinny-install (ccw) (push) Successful in 32s
Deploy / build-scan-report (push) Has been cancelled
Rewrite ingest_asp.py with academic rigor: - Strict filter to skin_substitute_hcpcs.csv code universe (NO regex) - 28 non-skin-sub Q4 codes excluded (Q4054 darbepoetin, Q4055 epoetin, Q4074-Q4099 ESRD drugs) that were incorrectly included before - source_url and source_file columns on every output row (100% provenance) - Documented column mapping rationale across 20 years of CMS format drift - DuckDB path corrected to data/aco.duckdb Result: 1,974 observations, 68 quarters (2009-Q1–2025-Q4), 169 codes Canonical source URLs: data/cms/asp_source_urls.csv (86 CMS.gov URLs) Refs #233