A2 v7 parity lock
- Locks the served classifier to the submitted MLN601 Assessment 2 v7 contract.
- Validates dataset hashes, row counts, feature order, target semantics, split, parameters, exact metrics, and confusion matrix before writing artifacts.
- Adds exact fresh-retrain parity tests for predictions, probabilities, and internal tree arrays.
- Exposes the model contract and source submission commit through /health and /model/info.
- Keeps all existing prediction request and response contracts unchanged.
Verification: 26 tests passed; make parity passed 18 checks; ruff passed.