v0.23.0
Small, single-feature release on top of 0.22.0.
Changes
chapkit testnow POSTs every generated train/predict payload to/api/v1/ml/$validatebefore submitting the actual job (#45). Error-severity diagnostics fail the step and skip the submit; warnings and info are surfaced in--verboseonly. A 404 from$validate(older service) is silently skipped, so this stays compatible with services that predate the endpoint.
Why
For runners that don't override on_validate_train / on_validate_predict, $validate only runs the framework's cheap pre-flight checks (config exists, data non-empty, prediction_periods in bounds) - exactly the smoke-test failures worth catching before burning a 60s training timeout. For runners that do override, the smoke test now exercises those hooks too. The cost is one extra HTTP roundtrip per submission, negligible against the train/predict jobs themselves.
Compatibility
- No breaking changes vs 0.22.0.
- Services older than 0.22.0's
$validateendpoint are still supported -chapkit testsoft-skips with a[SKIP]line in--verbose.