% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/tsqca_fiss_core.R
\name{build_parsim_status_map}
\alias{build_parsim_status_map}
\title{Build the parsimonious condition-status map used for core classification}
\usage{
build_parsim_status_map(models_terms, conditions)
}
\arguments{
\item{models_terms}{List of character vectors, one per minimal solution
(from \code{extract_sol_terms_by_model()}).}

\item{conditions}{Character vector of all condition names.}
}
\value{
Named list mapping each condition to the statuses it holds in every
  minimal solution (possibly \code{character(0)}).
}
\description{
A condition counts as core only for a status it holds in EVERY minimal
parsimonious solution. With a single minimal solution this is identical to
reading that solution directly, so ordinary results are unaffected.
}
\details{
With several tied minimal solutions, pooling their terms first (the previous
behavior) meant that a condition present in M1 and absent in M2 ended up with
both statuses, so an intermediate term matched whichever polarity it used and
the condition was classified core either way. Requiring agreement across all
minimal solutions removes that bias: what cannot be asserted regardless of
which minimal solution is selected is not treated as core.
}
\keyword{internal}
