{
  "lab_id": "DAT010-LAB1",
  "objective": "Prove correction-without-mutation and deterministic projection rebuild in a bounded local ledger fixture.",
  "critical_dimensions": [
    "append_only_history",
    "correction_entry",
    "projection_rebuild",
    "posting_identity",
    "audit_boundary"
  ],
  "required_evidence": [
    "positive append-and-replay",
    "history mutation negative probe",
    "duplicate posting negative probe",
    "missing-lineage negative probe",
    "evidence completeness probe",
    "changed-context transfer",
    "residual domain rule"
  ],
  "runtime_rule": "Only the bundled in-memory synthetic fixture may be observed. PostgreSQL and Azure sources are reference boundaries, not runtime claims.",
  "decision_rule": "Runner writes raw local observations only; learner supplies final bounded integrity decision.",
  "safety": "Synthetic local data only; no external network or production credentials.",
  "probe_semantics_rule": "The five named probe IDs and expected classes are contract data and must execute exactly once.",
  "prediction_completeness_rule": "All five predictions and all six required decision fields must be present before local execution.",
  "provenance_rule": "Any local runtime evidence must bind all required runtime input files by SHA-256.",
  "history_hash_rule": "History integrity hashing must cover complete canonical entries, not amount-only projections.",
  "claim_boundary_rule": "Local fixture observations do not prove legal compliance, distributed exactly-once, PostgreSQL production behavior, or regulatory sufficiency."
}
