Schema v6 (cog_pipeline 2026-07-22) renamed the long table's
fips_state_code/fips_county_code to fips_state_asof/fips_county_asof and added
cog_legacy_state/cog_legacy_county (26 -> 28 cols). This package references
none of those columns and its geography always came from
canonical_fips_xwalk (already present-based), so acceptance is a version-set
bump: supported = c(4L, 5L) -> c(4L, 5L, 6L) in .validate_schema() and
cog_open(). A prominent note in .validate_schema() documents the SILENT
semantic change for raw-long readers: long fips_state/fips_county are now
PRESENT/harmonized geography (carried back per government), not as-of-year.
Fixture regenerated from the published v6 tree (schema_version 6, 28 cols).
Test updates:
* test-manifest.R: v6 accepted; boundary rejection moves to v7.
* test-spending.R: the na_rows_excluded pin (0) predated the Task 18 map
extension, which added E/F/G-prefix discontinued_na rulings (E21/F21/G21,
Education NEC local, SB184-186). Broward's 2011 partition zero-pads
exactly those codes: 3 NA-harmonized rows excluded, all amt=0, so the
excluded AMOUNT pin stays 0. Data-verified against the v6 fixture.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
101 lines
4.2 KiB
JSON
101 lines
4.2 KiB
JSON
{
|
|
"schema_version": 6,
|
|
"built_at": "2026-07-22T17:12:32Z",
|
|
"pipeline_commit": "62bc1b6",
|
|
"fixture_note": "Four-year (2011, 2012, 2019, 2020) fixture for uscogdata tests. Full corpus available via USCOGDATA_URL. Regenerated for Phase R2 (schema_version 5, harmonization_map/harmonization_recipes/ series_breaks parquet tables added). 2011/2012 straddle the wide-aggregate -> modern-leaf format boundary exercised by basis= \"harmonized\" and recipe= queries; 2019/2020 retain the prior per-capita/CPI regression anchors. Full canonical_fips_xwalk master and canonical_alias lookup table included via data-raw/regenerate_fixture_corpus.R.",
|
|
"data_vintage": {
|
|
"source_vintages": {
|
|
"2012": "10162019",
|
|
"2013": "10162019",
|
|
"2014": "10162019",
|
|
"2015": "10162019",
|
|
"2016": "10162019",
|
|
"2017": "06102021",
|
|
"2018": "06102021",
|
|
"2019": "06102021",
|
|
"2020": "06122023",
|
|
"2021": "06122023",
|
|
"2022": "06052025",
|
|
"2023": "06052025"
|
|
},
|
|
"registry_rows": 148,
|
|
"acs_vintage": "ACS 2018-2022 5-year"
|
|
},
|
|
"scope": {
|
|
"gov_types_included": [0, 1, 2, 3],
|
|
"gov_types_excluded": [4, 5],
|
|
"scope_note": "v0.1 covers state, county, city/municipality, and township governments. Special districts (type 4) and school districts (type 5) are excluded pending validation in a future cycle."
|
|
},
|
|
"schema": {
|
|
"long_column_count": 28,
|
|
"long_columns": ["fips_state", "type", "fips_county", "govid", "gov_blank", "gov_name", "county_name", "fips_state_asof", "fips_county_asof", "cog_legacy_state", "cog_legacy_county", "fips_place_code", "population", "popyear", "enrollment", "enrollyear", "function_code", "sch_level_code", "fiscal_year_end", "srvy_year", "item_code", "amt", "srv_data", "impute_flag", "is_aggregate", "canonical_govid", "harmonized_code", "survey_weight"],
|
|
"data_dictionary": "docs/data_dictionary.md"
|
|
},
|
|
"files": {
|
|
"long_partitions": [
|
|
{
|
|
"year": 2011,
|
|
"path": "data/long/year=2011/part-0.parquet",
|
|
"sha256": "485a1639bfe2aec90fbbb596e410f18c5881b3f496ba6b0a9f742525c3c1f0af",
|
|
"row_count": 3037606,
|
|
"size_bytes": 4650038
|
|
},
|
|
{
|
|
"year": 2012,
|
|
"path": "data/long/year=2012/part-0.parquet",
|
|
"sha256": "b82ac82d5e35f844b26c887445601f3748438c52c998ba4e403b025941a6f170",
|
|
"row_count": 1163338,
|
|
"size_bytes": 5929917
|
|
},
|
|
{
|
|
"year": 2019,
|
|
"path": "data/long/year=2019/part-0.parquet",
|
|
"sha256": "5cbd4726dcc7d0dab5c2a05a64702e979533ae119ed0587073cd31c089e0d737",
|
|
"row_count": 318139,
|
|
"size_bytes": 1719548
|
|
},
|
|
{
|
|
"year": 2020,
|
|
"path": "data/long/year=2020/part-0.parquet",
|
|
"sha256": "ee548fec80bf1beda844fe03916ac145f10dd34c45968407cc330ec260935f00",
|
|
"row_count": 317500,
|
|
"size_bytes": 1722918
|
|
}
|
|
],
|
|
"metadata": [
|
|
{
|
|
"path": "data/canonical_alias.parquet",
|
|
"sha256": "3f617051c23a99bea322889857f7106df0c92954564afeec181df7083ee6698e",
|
|
"description": "canonical_alias.parquet"
|
|
},
|
|
{
|
|
"path": "data/canonical_fips_xwalk.parquet",
|
|
"sha256": "f98742f941269dacf8f7de5c273aa4dd4e75017a5bb70c054da35852a95a8d46",
|
|
"description": "canonical_fips_xwalk.parquet"
|
|
},
|
|
{
|
|
"path": "data/summary_categories.parquet",
|
|
"sha256": "8e6fcd4dd9bb4723841a67233b19388c9762dfc23b4479501183cebf7ea3c1b5",
|
|
"description": "summary_categories.parquet"
|
|
},
|
|
{
|
|
"path": "data/harmonization_map.parquet",
|
|
"sha256": "4cf32d0f817079ba4f28dc0ce65450d3247ebbf08d94c0c26c0d02af597bf812",
|
|
"description": "harmonization_map.parquet"
|
|
},
|
|
{
|
|
"path": "data/harmonization_recipes.parquet",
|
|
"sha256": "1133e9a0b02f8f34f5f936e55c5ecd596bb8a55d8425dcce76767f0f3203581c",
|
|
"description": "harmonization_recipes.parquet"
|
|
},
|
|
{
|
|
"path": "data/series_breaks.parquet",
|
|
"sha256": "b0b6794b6887a4f300079adfa10029c2a77109faa4952fbff1c5a270793cc02b",
|
|
"description": "series_breaks.parquet"
|
|
}
|
|
]
|
|
},
|
|
"series_breaks_ref": "docs/series_breaks.md",
|
|
"reader_spec_ref": "docs/reader-specification.md"
|
|
}
|