% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/class-ClassificationResult.R
\name{ClassificationResult}
\alias{ClassificationResult}
\title{ClassificationResult: structured outcome of running a key}
\description{
ClassificationResult: structured outcome of running a key

ClassificationResult: structured outcome of running a key
}
\details{
Returned by \code{\link{classify_wrb2022}} (and the future
\code{classify_sibcs}). Carries the full decision trace — which RSGs
were tested, which passed, which failed, which were indeterminate
because of missing data — plus the assigned class, qualifiers,
ambiguities (RSGs that nearly satisfied), missing data that would
refine the result, the provenance-aware evidence grade, and any
biogeographical or prior-based warnings.
}
\section{Public fields}{
\if{html}{\out{<div class="r6-fields">}}
\describe{
\item{\code{system}}{Character. \code{"WRB 2022"} or \code{"SiBCS 5"}.}

\item{\code{name}}{Character. Full classification name with
qualifiers (e.g.
\code{"Rhodic Ferralsol (Clayic, Humic, Dystric)"}).}

\item{\code{rsg_or_order}}{Character. Bare RSG (WRB) or order (SiBCS), e.g.
\code{"Ferralsols"}.}

\item{\code{qualifiers}}{List. Principal and supplementary qualifiers in
canonical order.}

\item{\code{trace}}{List. One element per RSG tested (in key order),
each with \code{code}, \code{name}, \code{passed},
\code{evidence}, \code{missing}.}

\item{\code{ambiguities}}{List. RSGs that came close to passing — useful
hints for follow-up measurements.}

\item{\code{missing_data}}{Character vector. Attributes whose measurement
would refine or resolve the result.}

\item{\code{evidence_grade}}{Character. \code{"A"} (measured), \code{"B"}
(spectra-predicted), \code{"C"} (prior-inferred),
\code{"D"} (VLM-extracted), \code{"E"}
(user-assumed), or \code{NA_character_}.}

\item{\code{prior_check}}{List or NULL. Result of the spatial-prior sanity
check (consistent / inconsistent / not run).}

\item{\code{warnings}}{Character vector. Free-form warnings.}
}
\if{html}{\out{</div>}}
}
\section{Methods}{
\subsection{Public methods}{
\itemize{
\item \href{#method-ClassificationResult-new}{\code{ClassificationResult$new()}}
\item \href{#method-ClassificationResult-print}{\code{ClassificationResult$print()}}
\item \href{#method-ClassificationResult-summary}{\code{ClassificationResult$summary()}}
\item \href{#method-ClassificationResult-report}{\code{ClassificationResult$report()}}
\item \href{#method-ClassificationResult-clone}{\code{ClassificationResult$clone()}}
}
}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-ClassificationResult-new"></a>}}
\if{latex}{\out{\hypertarget{method-ClassificationResult-new}{}}}
\subsection{Method \code{new()}}{
Build a ClassificationResult.
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{ClassificationResult$new(
  system,
  name,
  rsg_or_order = NA_character_,
  qualifiers = list(),
  trace = list(),
  ambiguities = list(),
  missing_data = character(0),
  evidence_grade = NA_character_,
  prior_check = NULL,
  warnings = character(0)
)}\if{html}{\out{</div>}}
}

\subsection{Arguments}{
\if{html}{\out{<div class="arguments">}}
\describe{
\item{\code{system}}{System name.}

\item{\code{name}}{Classification name.}

\item{\code{rsg_or_order}}{RSG (WRB) or order (SiBCS).}

\item{\code{qualifiers}}{List of qualifier names.}

\item{\code{trace}}{List of per-RSG test entries.}

\item{\code{ambiguities}}{List of close-call RSGs.}

\item{\code{missing_data}}{Character vector.}

\item{\code{evidence_grade}}{Single character A/B/C/D or NA.}

\item{\code{prior_check}}{List or NULL.}

\item{\code{warnings}}{Character vector.}
}
\if{html}{\out{</div>}}
}
}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-ClassificationResult-print"></a>}}
\if{latex}{\out{\hypertarget{method-ClassificationResult-print}{}}}
\subsection{Method \code{print()}}{
Pretty-print the result with key trace, ambiguities, and
             warnings.
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{ClassificationResult$print(...)}\if{html}{\out{</div>}}
}

\subsection{Arguments}{
\if{html}{\out{<div class="arguments">}}
\describe{
\item{\code{...}}{Ignored (S3 print signature compatibility).}
}
\if{html}{\out{</div>}}
}
}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-ClassificationResult-summary"></a>}}
\if{latex}{\out{\hypertarget{method-ClassificationResult-summary}{}}}
\subsection{Method \code{summary()}}{
Compact summary list.
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{ClassificationResult$summary(...)}\if{html}{\out{</div>}}
}

\subsection{Arguments}{
\if{html}{\out{<div class="arguments">}}
\describe{
\item{\code{...}}{Ignored (S3 summary signature compatibility).}
}
\if{html}{\out{</div>}}
}
}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-ClassificationResult-report"></a>}}
\if{latex}{\out{\hypertarget{method-ClassificationResult-report}{}}}
\subsection{Method \code{report()}}{
Render this classification as a self-contained
             report (delegates to the package-level
             \code{\link{report}} generic). HTML output is
             dependency-free; PDF requires \code{rmarkdown}
             and a working LaTeX engine.
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{ClassificationResult$report(
  file,
  format = c("auto", "html", "pdf"),
  pedon = NULL,
  ...
)}\if{html}{\out{</div>}}
}

\subsection{Arguments}{
\if{html}{\out{<div class="arguments">}}
\describe{
\item{\code{file}}{Output path. Format is inferred from the
extension.}

\item{\code{format}}{One of "html" or "pdf" (defaults to "auto",
which infers from the extension).}

\item{\code{pedon}}{Optional \code{PedonRecord} whose horizons /
provenance are added to the report.}

\item{\code{...}}{Forwarded to \code{\link{report_html}} or
\code{\link{report_pdf}}.}
}
\if{html}{\out{</div>}}
}
}
\if{html}{\out{<hr>}}
\if{html}{\out{<a id="method-ClassificationResult-clone"></a>}}
\if{latex}{\out{\hypertarget{method-ClassificationResult-clone}{}}}
\subsection{Method \code{clone()}}{
The objects of this class are cloneable with this method.
\subsection{Usage}{
\if{html}{\out{<div class="r">}}\preformatted{ClassificationResult$clone(deep = FALSE)}\if{html}{\out{</div>}}
}

\subsection{Arguments}{
\if{html}{\out{<div class="arguments">}}
\describe{
\item{\code{deep}}{Whether to make a deep clone.}
}
\if{html}{\out{</div>}}
}
}
}
