% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/constructors.R
\name{depgraph_validation_report}
\alias{depgraph_validation_report}
\alias{split_spec}
\alias{split_spec_validation}
\alias{leakage_risk_summary}
\title{Validation Report Object for splitGraph Graphs}
\usage{
depgraph_validation_report(
  graph_name = NULL,
  issues = NULL,
  metrics = list(),
  metadata = list(),
  valid = NULL,
  errors = NULL,
  warnings = NULL,
  advisories = NULL
)

split_spec(
  sample_data = NULL,
  group_var = "group_id",
  block_vars = character(),
  time_var = NULL,
  ordering_required = FALSE,
  constraint_mode = NULL,
  constraint_strategy = NULL,
  recommended_resampling = NULL,
  metadata = list()
)

split_spec_validation(issues = NULL, metadata = list())

leakage_risk_summary(
  overview = character(),
  diagnostics = NULL,
  validation_summary = list(),
  constraint_summary = list(),
  split_spec_summary = list(),
  metadata = list()
)
}
\arguments{
\item{graph_name}{Graph label stored on the report.}

\item{issues}{Canonical issue table. When \code{NULL}, an empty skeleton is
constructed.}

\item{metrics}{Named list of graph- and issue-level counts.}

\item{metadata}{Named list of report metadata.}

\item{valid}{Optional logical override for the overall validity flag.}

\item{errors, warnings, advisories}{Optional character vectors of
severity-specific messages.}

\item{sample_data}{Sample-level mapping table carried by a
\code{split_spec}.}

\item{group_var}{Name of the grouping column.}

\item{block_vars}{Optional blocking variable names.}

\item{time_var}{Optional ordering column name.}

\item{ordering_required}{Whether ordering is required for downstream
evaluation.}

\item{constraint_mode, constraint_strategy}{Constraint-derivation metadata.}

\item{recommended_resampling}{Optional recommended resampling routine.}

\item{overview}{Character vector of human-readable overview lines.}

\item{diagnostics}{Diagnostics data frame for leakage risks.}

\item{validation_summary, constraint_summary, split_spec_summary}{Named lists
carrying pre-computed summaries.}
}
\value{
An S3 object corresponding to the constructor that was called.
}
\description{
\code{depgraph_validation_report} is the structured return type produced by
\code{validate_graph()} and \code{validate_depgraph()}.
}
\details{
The report contains:

\itemize{
  \item \code{graph_name}: graph label when available
  \item \code{valid}: whether any \code{error}-severity issues were found
  \item \code{issues}: canonical issue table
  \item \code{summary}: counts by level, severity, and code
  \item \code{metadata}: report metadata
  \item \code{errors}, \code{warnings}, \code{advisories}: backward-compatible
    message vectors
  \item \code{metrics}: graph and issue counts
}

The canonical issue table includes the columns:
\code{issue_id}, \code{level}, \code{severity}, \code{code}, \code{message},
\code{node_ids}, \code{edge_ids}, and \code{details}.
}
\examples{
meta <- data.frame(
  sample_id  = c("S1", "S2"),
  subject_id = c("P1", "P2")
)
g <- graph_from_metadata(meta)

report <- validate_graph(g)
report$valid
summary(report)
}
\seealso{
\code{\link{validate_graph}}
}
