% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/theory.R
\name{mb_assumptions}
\alias{mb_assumptions}
\title{Build a structured assumption register}
\usage{
mb_assumptions(
  level,
  description,
  evidence = NA_character_,
  criticality = "medium"
)
}
\arguments{
\item{level}{Character vector. The theory-of-change level the
assumption sits at. One of \code{"inputs"}, \code{"activities"},
\code{"outputs"}, \code{"outcomes"}, \code{"impact"}.}

\item{description}{Character vector. Plain-English statement of
the assumption.}

\item{evidence}{Optional character vector. Source or rationale
for believing the assumption holds. Defaults to \code{NA}.}

\item{criticality}{Character vector. One of \code{"low"}, \code{"medium"},
\code{"high"}. Failure of high-criticality assumptions invalidates
the causal chain.}
}
\value{
An \code{mb_assumption_register} data frame with columns
\code{level}, \code{description}, \code{evidence}, \code{criticality}.
}
\description{
Captures one or more assumptions from a theory of change in a
tidy register, with the level they sit at, the supporting
evidence (or its absence), and a criticality rating.
}
\examples{
mb_assumptions(
  level       = c("activities", "outcomes"),
  description = c("Workshops are well-attended",
                  "Skills uplift translates into job entry"),
  evidence    = c("Pilot attendance 80\%",
                  "Indirect: similar programmes show 0.3 SD effect"),
  criticality = c("medium", "high")
)
}
\seealso{
\code{\link[=mb_theory_of_change]{mb_theory_of_change()}}, \code{\link[=mb_logframe]{mb_logframe()}}.

Other theory of change: 
\code{\link{mb_logframe}()},
\code{\link{mb_theory_of_change}()}
}
\concept{theory of change}
