What problem does it solve? ML pipelines that load, featurize, and then split data silently drop cold-start rows at predict time, producing fewer predictions than expected. This Skill writes a small, diagnostic-by-construction pytest that catches that structural bug at iteration time, before it reaches production. ## Core Features & Use Cases - Hard row-count assertion: Builds train and predict environments from the real data source where the predict env carries no pre-history buffer, then asserts the prediction count exactly equals the predict-grid row count. - Soft metric sanity check: Compares smoke-set MAE against a hardcoded 3x CV-mean bound from the experiment's design note to detect NaN-poisoned predictions. - Fixture construction guidance: Covers three source-binding shapes (directory of raw files, predict-grid plus history sources, materialized X/y) using pytest's tmp_path for ephemeral fixtures. - Use Case: After building a forecasting pipeline with skrub, you need an executable proof that predict-time featurization does not drop rows. This Skill produces tests/smoke/test_NN_experiment.py that fails deterministically on the buggy pipeline shape and passes on the correct one. ## Quick Start Write the smoke test for experiment 01_baseline by reading its design note and script, then constructing train and predict environments from the real data directory with an exact row-count assertion.