Clean up PR Previews workflow that prunes closed-PR gh-pages previews and compacts gh-pages history, so deleted render snapshots stop bloating the repo (closes #260).CLAUDE.md review-guideline item flagging roxygen doc copy-paste (use @inheritParams/@inheritDotParams/@inheritSection instead) and manual argument relaying (use ... passthrough instead) (closes #262).run_mod() → run_serodynamics()post_summ() → summarize_posterior()plot_jags_trace() → plot_trace()plot_jags_dens() → plot_density()plot_jags_Rhat() → plot_rhat()plot_jags_effect() → plot_ess()
Breaking change: old function names are no longer available, except
run_mod(), which is still exported with a deprecation warning pointing
to run_serodynamics().run_mod()'s fitted_residuals attribute now covers all observations across
all strata (previously only the last stratum was retained) and always includes
a Stratification column ("None" when unstratified). (#240)run_serodynamics() tests to lower run time/load.
Went from 5 separate run.jags chunks down to 3. (#253)CLAUDE.md, .github/copilot-instructions.md, and a
note in .lintr.R that dplyr::*_join() calls must specify the
relationship argument (for example relationship = "many-to-one"),
so an unexpected many-to-many match errors out instead of silently
duplicating rows.options(lifecycle_verbosity = "error") (via
tests/testthat/setup.R), so tidyverse lifecycle deprecations -
including soft deprecations such as using the .data pronoun in a
tidy-selection context - fail the tests instead of passing silently.calc_fit_mod() to use tidy-selection
(all_of() and bare column-name strings) instead of the .data
pronoun in select(), .by, and pivot_wider() contexts, removing
a soft deprecation surfaced by the stricter test option above. No
change to behavior or output.Claude Code Review workflow now skips (rather than fails) when a
bot triggered the run, so a commit pushed by @claude or the Copilot
agent no longer produces a red review check.Claude Code Review workflow now posts a fresh review comment per
run and collapses the superseded ones as OUTDATED, so each push
surfaces as new PR activity while older reviews fold up out of the way.
@claude task comments are left untouched.CLAUDE.md and expanded the Code Style Guidelines in
.github/copilot-instructions.md to direct reviewers (human and AI)
to flag unnecessarily convoluted or non-idiomatic code - in
particular data-masking used in tidy-selection contexts and
if/else branching that only varies which columns are selected,
renamed, or joined..github/copilot-instructions.md:
the UCD-SeRG Lab Manual takes precedence over the tidyverse style
guide where they conflict, and functions should end with an explicit
return() call per the lab manual / Google R Style Guide. This
closes a gap where @claude reviews were flagging explicit returns
as non-conforming.This is the first CRAN release of serodynamics, a package for Bayesian
hierarchical modeling of antibody kinetics from longitudinal serological
data. It serves as the upstream companion to the serocalculator package.
nepal_sees_jags_output data object with new run_mod()
output (#102)fitted_residuals values as data frame attribute in run_mod()
output. (#101)class assignment to run_mod() output (#76)prep_priors() allow for modifiable inputs in run_mod() (#78)run_mod() function (#22)run_mod() function (#24)run_mod() output:
include_subs as an input option, default will include all
individuals
with_postcurve_params output component,
as specified by argument include_subsrun_mod() function that runs jags with option of stratification
included. (#14)plot_jags_Rhat() function to produce R-hat dotplots with
stratification (#67)plot_summ() function for summarizing estimates in a table (#74)plot_jags_trace() function to create a trace plot with
stratifications (#64)plot_jags_effect() function to produce effective sample size
plots with stratification (#66)plot_jags_dens() function to produce density plots with
stratification (#27)plot_predicted_curve() with support for faceting by multiple IDs (#68)nepal_sees SEES data and added jags_post for SEES (#63)nepal_sees SEES data set data folder and documentation (#41)postprocess_jags_output() to API (#33)initsfunction() to API (#37)nsmpl element of prep_data()
output (#34)prep_data() (#73)initsfunction() to API (#37)as_case_data() to API (#31)as_case_data() now creates column visit_num (#47, #50)prep_priors() to API (#30)autoplot() method for case_data objects (#28)sim_pop_data(), autoplot.case_data() (#18)dplyr::as_tibble() references to tibble::as_tibble() in
post_summ() and run_mod(), since as_tibble() is exported from the
tibble package, not dplyr..github/copilot-instructions.md with additional guidance on
evidence-based claims, Quarto markdown/cross-reference conventions, R style
practices, and phrase-level line-break formatting for source text.as_case_data(), ensuring test suite compatibility with R 4.5 and
later (#109)..github/workflows/copilot-setup-steps.yml GitHub Actions workflow to
automate environment setup for GitHub Copilot coding agent, preinstalling R,
JAGS, and all dependencies.ab() function (#116)lintr::undesirable_function_linter() to .lintr.R (#81).lintr as R file (following
https://github.com/r-lib/lintr/issues/2844#issuecomment-2776725389) (#81)run_mod()prep_data() internals using {dplyr} (#34)dobson.Rmd minimal vignette (#36)prep_data(), sim_case_data() (#18)Started development.