{
  "schema": "DAT007_LAB_MODEL_CONTRACT_v1",
  "owned_invariant": "Every accepted customer_profile row has a non-null unique normalized handle after migration closure.",
  "source_of_truth_choice": "Learner must explicitly declare codebase-first for the worked path or justify another bounded route.",
  "negative_probe": "Two distinct failures must be kept separate: generated required-column precondition (23502) and naive normalized-handle uniqueness collision (23505).",
  "completion_requires": [
    "human SQL review",
    "clean apply",
    "direct database observation",
    "negative evidence",
    "repair/recovery",
    "drift probe",
    "residual limitation",
    "separate SQLSTATE evidence for the two negative probes",
    "exact generated-schema cleanup provenance"
  ]
}
