Skip to content

Release prep for 0.1.0: breaking renames, stub removal, stricter CI#99

Merged
wcurrangroome merged 11 commits into
mainfrom
release-prep-0.1.0
Jul 10, 2026
Merged

Release prep for 0.1.0: breaking renames, stub removal, stricter CI#99
wcurrangroome merged 11 commits into
mainfrom
release-prep-0.1.0

Conversation

@wcurrangroome

Copy link
Copy Markdown
Collaborator

Implements the release judgment calls from the 2026-07-04 handoff (items 1–5); item 6 (B25106 indicators) remains open as a product decision.

Breaking changes (all recorded in NEWS.md)

  • Strip literal $ from generated variable names (clean_acs_names()): income- and rent-band columns are now syntactic, e.g. ..._less_than_$10000..._less_than_10000. Verified against the 2023 variables codebook: 3,175 names change (exactly those with $ in their labels), no new duplicate names, and all nine cost_burden regexes match identical column sets before and after.
  • employment_civilian_labor_force_percentemployment_civilian_labor_force_employed_percent: the variable is the employment rate (employed / civilian labor force); the old name read like the labor-force participation share.
  • median_household_income_nhpi_median_household_income_nhpi_alone_: adds the _alone suffix its sibling race iterations already carry.
  • Removed the deprecated list_acs_variables() stub (function, test, man page, pkgdown entry, NAMESPACE export). Use list_variables().

CI

  • R-CMD-check now uses error-on: '"warning"'. Running the check locally with CI arguments surfaced one WARNING (non-ASCII characters in R/view_acs_data.R string literals — now \uxxxx escapes, with comments converted to ASCII) and two packaging NOTEs (.claude/CLAUDE.md/dev now in .Rbuildignore).

Verification

  • Full local suite: 1550 passed / 0 failed (−2 expectations from the deleted stub test).
  • Local R CMD check with CI args: 0 errors / 0 warnings; sole remaining NOTE is the pre-existing janitor/tidyr unused-Imports one, which does not fail error-on: warning.
  • Fixtures (test_data_2026-02-08.rds, codebook_2026-02-08.rds) regenerated per the recipe in test-compile_acs_data.R (2024 vintage, TX counties, all tables). The block-group fixture is untouched: its tables contain no $ labels and none of the renamed variables.

Note: the CENSUS_API_KEY repository secret still doesn't exist, so API-dependent tests will skip on this PR's CI run (they don't fail).

William Curran-groome added 9 commits July 4, 2026 09:40
clean_acs_names() now removes $ so income- and rent-band columns
(e.g., B25074/B25106) are syntactic without backticks:
..._less_than_$10000 -> ..._less_than_10000.

Verified against the 2023 variables codebook: 3,175 names change (exactly
those whose concept/label contains $), no new duplicate names, and all
nine cost_burden regexes match identical column sets before and after.
- employment_civilian_labor_force_percent ->
  employment_civilian_labor_force_employed_percent: the variable is the
  employment rate (employed / civilian labor force), but the old name read
  like the share of the population in the labor force.
- median_household_income_nhpi_ -> median_household_income_nhpi_alone_:
  adds the _alone suffix its sibling race-iteration names already carry.
The stub warned and returned NULL invisibly. With no external users
before the first tagged release, shipping a day-one deprecation is
noise; the function, its test, man page, pkgdown entry, and NAMESPACE
export are removed. Use list_variables() instead.
- R-CMD-check now uses error-on: warning; the loose error-only setting
  predated fixes to the metadata notes that motivated it.
- view_acs_data.R had non-ASCII characters in string literals (the one
  check WARNING): now \uxxxx escapes in strings, ASCII in comments.
- .Rbuildignore gains .claude, CLAUDE.md, and dev/ (check NOTEs about
  non-standard/hidden files).
Fixtures rebuilt from the 2024 vintage (TX counties, all tables) so they
reflect the $-stripped and renamed columns. NEWS.md documents the three
breaking changes; CLAUDE.md drops the removed stub from its inventory.
With CENSUS_API_KEY now set, the site build got further and surfaced a
second missing credential: the custom-geographies vignette calls
crosswalk::get_crosswalk(), which reads IPUMS_API_KEY. The secret has
existed on the repo since March; the workflow just never exported it.
…by tenure

- tenure_by_housing_costs (B25106) gains owner 30-percent-or-more burden
  shares (all incomes, incomes below $35k, below $50k) and an all-tenures
  headline share. Denominators exclude households with no computable cost
  ratio (zero/negative income; renters paying no cash rent), which B25106
  reports as standalone lines outside the cost bands.
- New owner_cost_burden table (B25091, selected monthly owner costs as a
  percentage of household income) adds 30- and 50-percent-or-more burden
  shares by mortgage status plus a combined all-owners severe-burden share;
  not-computed households are excluded from denominators, matching the
  B25074 renter measures.
- The six existing renter measures are renamed cost_burdened_* ->
  cost_burdened_renter_*, disambiguating them from the new owner measures.
- make_pretty_names() learns the new tokens and the 10.0-19.9 cost bands.
New universe column carries the Census Bureau's published universe
statement for each variable (e.g., "Households", "Population 25 years
and over"). Raw variables resolve via a new session-cached
load_acs_groups() fetch of the groups.json endpoint (keyless); derived
variables inherit their first numerator's universe, with a second pass so
complements inherit through their source variable; metadata fields read
"Not applicable". The API publishes universes for 2020+ vintages (the
field name carries a trailing space); earlier vintages yield NA.
William Curran-groome and others added 2 commits July 5, 2026 22:20
Owner cost-burden measures, tenure-labeled renter measures, codebook universe statements
@wcurrangroome wcurrangroome merged commit 40d6776 into main Jul 10, 2026
2 of 3 checks passed
@wcurrangroome wcurrangroome deleted the release-prep-0.1.0 branch July 10, 2026 02:11
wcurrangroome added a commit that referenced this pull request Jul 10, 2026
Sync the renv library and lockfile: Rcpp, bit64, openssl, and rlang move
to current CRAN versions (exact pinned versions are no longer available
as binaries and source compilation fails locally); renv upgraded to
1.2.3 per the lockfile, which rewrites renv.lock in its slimmer record
format and updates renv/activate.R. Package set is unchanged (61
packages). Full test suite passes (1645 tests, 0 failures).

Also remove dev/release-decisions.md: every handoff item is resolved
now that PRs #99 and #100 are merged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant