Sidecar algorithm driver key (e.g. xgboost, lightgbm, logistic_regression).
OptionaldataInline matrix data (mutually exclusive with data_ref).
Optionaldata_Shared-storage handle to the matrix (Parquet/Arrow), used for very large sets.
Ordered feature schema describing each input column.
OptionalholdoutThe locked holdout matrix (plan §8.2), carved off the assembled data by
the orchestrator before any train/test split and never present in
TrainRequest.data. Same columns as data (it includes the target
column). When supplied, the sidecar scores these rows exactly once using
the preprocessing fitted on the training data (frozen fitted transform,
never re-fit — the anti-skew guarantee, plan §6.2) and returns the result
as TrainResponse.holdout_metrics.
This is the honest, deterministic holdout: the orchestrator carves the exact
rows in TypeScript (auditable) and forwards them here, rather than asking the
sidecar to re-derive a holdout via ValidationConfig.holdout_size.
When both holdout and validation.holdout_size are set, holdout wins.
Algorithm-specific hyperparameters (validated against the catalog schema).
Ordered preprocessing ops to fit + apply at train time.
Classification or regression.
Target/label column name.
How to validate during training.
POST /trainrequest body. MJ assembles the matrix via the FeatureAssembly executor (plan §6) and sends it here. Either TrainRequest.data (inline) or TrainRequest.data_ref (shared-storage handle) is provided.