% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/feature-provenance-manifest.R
\name{create_gazepoint_feature_manifest}
\alias{create_gazepoint_feature_manifest}
\title{Create a Gazepoint feature-provenance manifest}
\usage{
create_gazepoint_feature_manifest(
  features,
  scientific_source = NA_character_,
  source_table = NA_character_,
  transformation = "none",
  availability_stage = "unknown",
  prediction_time_available = NA,
  outcome_derived = FALSE,
  post_outcome = FALSE,
  identifier = FALSE,
  preprocessing_scope = "unknown",
  fold_local_required = NA,
  reviewer_notes = ""
)
}
\arguments{
\item{features}{Character vector of unique feature names.}

\item{scientific_source}{Scientific or measurement source for each
feature.}

\item{source_table}{Source export, table, or object for each feature.}

\item{transformation}{Description of the transformation used to
construct each feature.}

\item{availability_stage}{Availability stage for each feature. One of
\code{"pre_exposure"}, \code{"during_exposure"},
\code{"post_exposure_pre_outcome"}, \code{"at_prediction"},
\code{"post_outcome"}, or \code{"unknown"}.}

\item{prediction_time_available}{Logical vector indicating whether
each feature is available at the intended prediction time.}

\item{outcome_derived}{Logical vector indicating whether each feature
was derived directly or indirectly from the outcome.}

\item{post_outcome}{Logical vector indicating whether each feature was
measured or constructed after the outcome became available.}

\item{identifier}{Logical vector indicating whether each feature is an
identifier or row-location variable.}

\item{preprocessing_scope}{Scope in which any data-dependent
preprocessing was estimated. One of \code{"none"}, \code{"global"},
\code{"analysis_partition"}, \code{"resampling_fold"}, or \code{"unknown"}.}

\item{fold_local_required}{Logical vector indicating whether
preprocessing for each feature must be estimated separately inside
each resampling fold.}

\item{reviewer_notes}{Optional reviewer-facing notes.}
}
\value{
A data frame of class \code{gazepoint_feature_manifest}.
}
\description{
Creates a structured provenance manifest for intended predictive
features. Each row records where a feature originated, when it became
available, whether it is outcome-derived or post-outcome, and where
any data-dependent preprocessing was estimated.
}
\details{
Each row is treated as an intended predictor. Consequently,
outcome-derived, post-outcome, unavailable, and identifier features
are treated as failing conditions by
\code{\link[=validate_gazepoint_feature_manifest]{validate_gazepoint_feature_manifest()}}.

The manifest records declared provenance. It does not independently
prove that preprocessing was estimated within the stated scope.
}
\examples{
manifest <- create_gazepoint_feature_manifest(
  features = c("fixation_duration", "pupil_change"),
  scientific_source = c(
    "Gazepoint fixation export",
    "Gazepoint all-gaze export"
  ),
  source_table = c("fixations", "all_gaze"),
  transformation = c(
    "Trial-level mean",
    "Baseline-adjusted change"
  ),
  availability_stage = "during_exposure",
  prediction_time_available = TRUE,
  preprocessing_scope = c("none", "resampling_fold"),
  fold_local_required = c(FALSE, TRUE)
)

manifest

}
