Domain,Item,SourceBasis,PackageSurface,RequiredEvidence,ReleaseDecision,UserImplication,FollowUp
mathematical_core,identified_step_thresholds,Andrich 1978; Masters 1982,fit_mfrm(); diagnose_mfrm(),steps-minus-one identification and parameter counts match the constrained model,blocker_if_failed,Reported RSM PCM and GPCM step parameters remain on a defensible identified scale,Keep targeted tests for parameter count and Hessian basis
mathematical_core,gpcm_slope_identification,Muraki 1992,fit_mfrm(model='GPCM'); build_mfrm_sim_spec(); evaluate_mfrm_recovery(),positive log-slope convention with geometric-mean-one scaling in generation fitting and recovery,blocker_if_failed,GPCM slopes are relative discriminations rather than arbitrary scale artifacts,Keep slope-regime edge cases for unit near-flat moderate and high-dispersion conditions
mathematical_core,gpcm_information_kernel,Muraki 1993; Samejima 1974,compute_information(); category_curves_report(); estimate_bias(),GPCM information uses a squared slope times conditional score variance,blocker_if_failed,Bias screens and information plots do not ignore free discrimination,Keep tests that fail if slope is ignored
mathematical_core,person_fit_lz_reporting,Drasgow Levine and Williams 1985; Snijders 2001,compute_person_fit_indices(),polytomous lz is computed from observed-category probabilities and lz_star uses the Snijders correction only where assumptions are met,blocker_if_failed,Users see lz_star only when the estimating-equation assumptions are documented,Add external comparison fixtures for conditional JML lzstar when available
mathematical_core,fair_average_uncertainty,Linacre FACETS framework; delta-method reporting convention,fair_average_table(fair_se=TRUE); plot_fair_average(show_ci=TRUE),measure-level SE and structural fair-average SE are separated,blocker_if_failed,Users do not mistake facet-measure SE for fair-average uncertainty,Keep unavailable structural SE status visible in summaries
fit_review,engine_vs_facets_df,Wright and Masters 1982; FACETS Winsteps fit documentation,diagnose_mfrm(fit_df_method='both'); facets_fit_review(),engine df and FACETS-style df or ZSTD conventions are reported separately,caveat_if_incomplete,FACETS differences are interpreted as convention differences where appropriate,Add more imported FACETS table examples if external files are available
validation,recovery_validation,ADEMP; Morris White and Crowther 2019,inst/validation/recovery-validation.R,aim data-generating mechanism estimand methods and performance measures are explicit,blocker_if_failed,Release recovery evidence is not confused with ad hoc simulation output,Keep core tier as release gate and extended tier as sensitivity evidence
validation,external_common_data_recovery,ADEMP; common-data engine parity,inst/validation/external-parameter-recovery-simulation-0.2.0.md; external Parameter_Recovery_Simulation workflow,RSM PCM JMLE parity and stress-pattern findings are summarized with explicit scope limits,caveat_if_incomplete,External simulation evidence strengthens recovery guidance without treating recovery evidence as GPCM design-planning evidence,Rerun or refresh the external workflow before using it for a future release decision
validation,uncertainty_status,ADEMP; simulation performance-measure reporting,assess_mfrm_recovery(); validation summaries,uncertainty status is separate from recovery metric status,caveat_if_incomplete,Unavailable coverage is read as a limitation rather than a recovery failure,Keep condition and diagnostic reporting-note tables compact
validation,sparse_linked_design_review,Wind Jones and Grajeda 2023; Wind and Jones 2018,build_mfrm_sim_spec(assignment='sparse_linked'); evaluate_mfrm_design(); evaluate_mfrm_recovery(),planned missingness density and common-person rater links are reported as design diagnostics,caveat_if_incomplete,Sparse linkage problems are not mistaken for parameter-recovery failures,Add larger sparse design examples outside CRAN timing constraints
validation,peer_review_design_boundary,Farrokhi Esfandiari and Schaefer 2012; DeMars Shapovalov and Hathcoat 2023; Uto and Ueno 2020,build_peer_review_sim_spec(); build_peer_review_design_review(); build_mfrm_network_review(),self-review exclusion reviewer load reciprocal pairs and common submissions are reported as design evidence,caveat_if_incomplete,Peer-review design helpers do not claim Bayesian generalized-MFRM estimation or automatic fairness,Keep peer-design tests separated from estimator validation claims
ux,summary_first_reading_order,simulation-reporting and diagnostic triage practice,summary methods; plot(... draw=FALSE); mfrmr_interval_guide(),top-line status appears before detailed row-level tables and interval routes expose basis and interpretation boundaries,caveat_if_incomplete,Users can decide next action without reading raw internals first,Apply the same pattern to remaining review summaries
ux,public_results_surface,user-facing workflow review,mfrm_results(); summary.mfrm_results(); mfrmr_output_guide('public'),first-screen status triage next actions plot routes and replay scaffolds are exposed without adding a new estimator,caveat_if_incomplete,Users can start from a compact surface while reproducible scripts still call fit_mfrm explicitly,Keep data-frame input documented as exploratory rather than manuscript replay
ux,report_export_viewer_surface,user-facing workflow review,mfrm_report(); export_mfrm_results(); launch_mfrmr_viewer(),report drafting export and viewer routes read existing mfrm_results objects and preserve section availability,caveat_if_incomplete,GUI and export workflows do not become hidden analysis records,Keep viewer and export tests focused on object-first behavior
documentation,gpcm_boundary,Muraki 1992; Rasch-family score-side distinction,gpcm_capability_matrix(); mfrmr_output_guide('gpcm'); README; vignettes,supported caveated blocked and deferred GPCM routes are explicit and discoverable from the public route guide,blocker_if_failed,Users do not overclaim GPCM for score-side exports or operational scoring,Keep documentation terminology and output-guide regression tests
validation,gpcm_runtime_guard_coverage,Release-scope contract traceability,gpcm_capability_matrix(); gpcm_runtime_guard_coverage(); mfrmr_output_guide('gpcm'); mfrmr_gpcm_scope_error; release-readiness.R,every blocked or deferred GPCM capability row is represented by a runtime guard or roadmap-only coverage entry and structured errors match matrix guidance,blocker_if_failed,Unsupported bounded-GPCM routes fail consistently instead of silently emitting full FACETS score-side contract review posterior-predictive heavy-backend or broader-planning outputs,Keep guard coverage synchronized whenever a GPCM row helper or status changes
documentation,review_terminology,public API clarity,README; vignettes; man pages,public helpers and components use review check or traceability wording and removed helper spellings are absent from public docs,caveat_if_incomplete,Docs do not expose internal migration decisions,Keep the documentation terminology test source-header allowlist strict
release_engineering,package_check,R package release practice,R CMD build; R CMD check --no-manual --as-cran; GitHub Actions matrix,zero errors zero warnings and zero unexplained notes locally with retained CI check artifacts for platform review,blocker_if_failed,Release candidate is technically installable and testable across local and CI environments,Run fresh 0.2.1 check after source roxygen vignette or C++ changes and review CI artifacts before submission
release_engineering,cran_light_test_boundary,CRAN timing practice; package regression practice,tests/testthat.R; GitHub Actions; coverage workflow,CRAN-time tests stay lightweight while full tests run with NOT_CRAN=true outside CRAN timing constraints,caveat_if_incomplete,Users and maintainers can distinguish CRAN feasibility checks from full regression evidence,Keep cran-comments explicit about the timing constraint and the non-CRAN full-test route
release_engineering,release_readiness_protocol,reproducible release review practice,inst/validation/release-readiness.R; release-evidence map/checklist; cran-comments,review steps check-log summary version gate terminology gate and evidence-artifact gate can be regenerated from files,caveat_if_incomplete,Release decisions are reproducible rather than ad hoc,Keep the protocol aligned with DESCRIPTION NEWS cran-comments and the current tarball version
roadmap,gpcm_posterior_predictive,Muraki 1992; simulation-based model checking,not supported for bounded GPCM in 0.2.1,posterior-predictive computation is not advertised as supported,roadmap_if_missing,Users are not given confirmatory GPCM model-checking claims before validation,Design posterior-predictive checks for a later release
validation,gpcm_design_forecast_boundary,ADEMP; Morris White and Crowther 2019,evaluate_mfrm_design(); predict_mfrm_population(); gpcm_boundary,bounded GPCM design evaluation and population forecasting are advertised only as caveated role-based sensitivity evidence in 0.2.1,blocker_if_failed,Users distinguish design-level sensitivity forecasts from operational scoring or arbitrary-facet planning claims,Keep slope-structure alignment guards and compact GPCM design tests synchronized with capability matrix
validation,gpcm_diagnostic_signal_design_screening,ADEMP; Morris White and Crowther 2019,evaluate_mfrm_diagnostic_screening(); evaluate_mfrm_signal_detection(); gpcm_boundary,bounded GPCM diagnostic-screening and signal-detection operating characteristics are advertised only as caveated slope-aware sensitivity evidence in 0.2.1,blocker_if_failed,Users distinguish screening readouts from calibrated inferential tests operational screening gates or arbitrary-facet planning claims,Keep slope-aware Type I proxy sensitivity proxy DIF and bias-screening tests synchronized with capability matrix
validation,gpcm_dff_screening,Eckes 2011; McNamara and Knoch 2012; bounded GPCM sensitivity analysis,analyze_dff(); analyze_dif(); dif_interaction_table(); dif_report(); plot_dif_heatmap(); plot_dif_summary(); gpcm_boundary,bounded GPCM DFF DIF outputs are advertised only as caveated slope-aware screening and reporting evidence in 0.2.1,blocker_if_failed,Users distinguish DFF screening rows from fairness invariance or operational subgroup-decision claims,Keep DFF summary report plot-payload and guide tests synchronized with capability matrix
roadmap,gpcm_score_side_contract,Muraki 1992; FACETS score-side output contract,gpcm_score_side_contract(); facets_output_contract_review(); score-side facets_output_file_bundle(),full FACETS-style score-side contract review is not advertised as supported for bounded GPCM in 0.2.1,roadmap_if_missing,Users distinguish caveated package-native scorefile output from unsupported FACETS score-side equivalence,Define score-side uncertainty reduction tests schema and wording before unblocking full FACETS score-side review
validation,gpcm_reporting_qc_bundle,Reporting workflow validation; score-side uncertainty contract,build_apa_outputs(); build_visual_summaries(); run_qc_pipeline(); export_mfrm_bundle(); gpcm_boundary,caveated fit-based report and QC bundles carry explicit bounded GPCM boundaries in 0.2.1,blocker_if_failed,Users receive sensitivity-reporting surfaces without unsupported score-side or operational-scoring claims,Keep gpcm_boundary synchronized with the score-side contract and capability matrix
validation,gpcm_linking_synthesis,Wind and Jones linking evidence; bounded GPCM sensitivity analysis,build_linking_review(); gpcm_boundary,exploratory linking review is advertised only as a caveated bounded GPCM synthesis surface in 0.2.1,blocker_if_failed,Users keep exploratory GPCM anchor drift and chain review separate from operational linking claims,Define larger anchor drift and chain assumptions under free discrimination before operational unblocking
roadmap,gpcm_heavy_backend_extensions,Future engine and posterior predictive validation,posterior predictive computation; MCMC engine; heavy backend promotion,MCMC heavy-backend and broader model-structure extensions are not advertised as supported for bounded GPCM in 0.2.1,roadmap_if_missing,Users do not assume optional heavy engines or broader slope structures exist,Add identification covariance reduction and runtime evidence before broadening the bounded GPCM branch
