v0.1.3: Geography resolution fully operational — 8 bugs fixed (3 critical)
Geography resolution fully operational — 8 bugs fixed (3 critical)
Field-test pass that restored full geography resolution, removed the
CENSUS_API_KEY requirement from discovery-only tools, and simplified
service initialization across 10 files.
Fixed:
- census_resolve_geography: wrong geocoder endpoint (/address vs /onelineaddress) — address lookup always failed
- census_resolve_geography: STUSAB filter on county/place/tract layers (field absent) — all non-state resolution failed
- census_resolve_geography: two-letter state abbreviation now matched via STUSAB= directly
- census_resolve_geography: empty name now fails fast with no_match instead of upstream call
- census_resolve_geography: geocoder response parsing now covers Census Tracts, 2020 Census Blocks, Incorporated Places layers
- census_compare_geographies: invalid dataset now throws dataset_not_found (correct reason + contract entry)
- census_list_geographies / census_search_variables / census_get_variable: no longer require CENSUS_API_KEY at startup
- census_api_service: 404 from Census Data API now returns empty result (enables year_not_available path)
- TIGERweb place layer: corrected from Places_CouSub layer 0 to Places_CouSub_ConCity_SubMCD layer 4
Changed:
- DiscoveryConfig split from ServerConfig — tools that don't need the API key use getDiscoveryConfig()
- Service init signatures simplified — AppConfig and StorageService params removed
- Tool descriptions and error clauses tightened across all 7 tools
50 tests pass; bun run devcheck clean.