% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/api-reports.R
\name{reference_case_review}
\alias{reference_case_review}
\title{Build a package-native reference review for report completeness}
\usage{
reference_case_review(
  fit,
  diagnostics = NULL,
  bias_results = NULL,
  reference_profile = c("core", "compatibility"),
  include_metrics = TRUE,
  top_n_attention = 15L
)
}
\arguments{
\item{fit}{Output from \code{\link[=fit_mfrm]{fit_mfrm()}}.}

\item{diagnostics}{Optional output from \code{\link[=diagnose_mfrm]{diagnose_mfrm()}}. If omitted,
diagnostics are computed internally with \code{residual_pca = "none"}.}

\item{bias_results}{Optional output from \code{\link[=estimate_bias]{estimate_bias()}}. If omitted and
at least two facets exist, a 2-way interaction screen is computed internally.}

\item{reference_profile}{Review profile. \code{"core"} emphasizes package-native
report contracts. \code{"compatibility"} exposes the manual-aligned compatibility
layer used by \code{facets_output_contract_review(branch = "facets")}.}

\item{include_metrics}{If \code{TRUE}, run numerical consistency checks in addition
to schema coverage checks.}

\item{top_n_attention}{Number of lowest-coverage components to keep in
\code{attention_items}.}
}
\value{
An object of class \code{mfrm_reference_review}.
}
\description{
Build a package-native reference review for report completeness
}
\details{
This function repackages the output-contract review into package-native
terminology so users can review output completeness without needing external
manual/table numbering. It reports:
\itemize{
\item component-level schema coverage
\item numerical consistency checks for derived report tables
\item the highest-priority attention items for follow-up
}

It is a package-output completeness review, not an external validation
study.

Use \code{reference_profile = "core"} for ordinary \code{mfrmr} workflows.
Use \code{reference_profile = "compatibility"} only when you explicitly want to
inspect the compatibility layer.
}
\section{Interpreting output}{

\itemize{
\item \code{overall}: one-row review summary with schema coverage and metric
pass rate.
\item \code{component_summary}: per-component coverage summary.
\item \code{attention_items}: direct list of components needing review.
\item \code{metric_summary} / \code{metric_checks}: numerical consistency status.
}
}

\examples{
\donttest{
toy <- load_mfrmr_data("example_core")
fit <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score", method = "JML", maxit = 30)
diag <- diagnose_mfrm(fit, residual_pca = "none")
review <- reference_case_review(fit, diagnostics = diag)
summary(review)
}
}
\seealso{
\code{\link[=facets_output_contract_review]{facets_output_contract_review()}}, \code{\link[=diagnose_mfrm]{diagnose_mfrm()}}, \code{\link[=build_fixed_reports]{build_fixed_reports()}}
}
