// Intentional failure: valid scope and dimensionless units do not prove preprocessing ran.
// This synthetic numeric fixture is explicitly declared as a dimensionless signal.
import aner.data
import aner.ml
var schema = data.schema()
schema = data.column(schema, "row_id", "Int64", false)
schema = data.column(schema, "building_id", "String", false)
schema = data.column(schema, "temperature", "Float64", false)
schema = data.column(schema, "energy", "Float64", false)
let table = data.collect(data.scan_csv("examples/fixtures/contextual/standardization.csv", schema, "NA"), 3, 1048576, 2)
let signal = data.frame(table, "row_id", "building_id", "energy", List("", "", "1", "kWh"))
    .rename("temperature", "signal")
let populations = data.partition_groups(signal, List("TrainA", "TrainB"), List(), List("TestC"))
let preparation = ml.fit_standardizer(populations.train())
let training = data.batch(ml.transform(preparation, populations.train()), 1024)
let model = ml.fit_linear(training)
// The test input has not received the preparation used by training.
let raw_test = data.batch(populations.test(), 1024)
let forbidden = ml.predict(model, raw_test)
