{
  "audit": "hospital_readmission",
  "case_id": "readmission-post-discharge-followup",
  "evidence_bundle": {
    "ablation_contrast": {
      "conclusion": "The legitimate feature has the larger ablation delta, yet Hindsight clears it.",
      "leaked_feature": 0.21,
      "safe_exceeds_leaked_by": 0.03,
      "safe_feature": 0.24
    },
    "audit_config": {
      "available_column": "available_at",
      "name": "hospital_readmission",
      "post_outcome_table": "followup_appointments_after_discharge",
      "prediction_column": "prediction_time",
      "remediation_sql": "examples/hospital_readmission_remediation.sql",
      "scenario": "scenarios/hospital_readmission/scenario.json",
      "subject": "leaked",
      "synthetic": true,
      "target_urn": null,
      "transformation_sql": "examples/hospital_readmission_leaky.sql"
    },
    "case_id": "readmission-post-discharge-followup",
    "checks": {
      "no_catalog_mutation_without_approval": true,
      "point_in_time_confirmation_passed": false,
      "proposed_remediation_verifies_safe": true,
      "safe_control_cleared": true,
      "transformation_violation_proven": true
    },
    "confirmation_route": "deterministic_sql_time_proof",
    "demo_disclosures": [
      "The deterministic example and point-in-time recording are independent confirmation routes for the same planted defect mechanism.",
      "The planted leak is total by construction, so observed AUC 1.000000 is expected; real-world leakage can be subtler.",
      "The 50% majority-loss threshold is a visible demo policy, not a universal scientific constant, and it cannot confirm leakage without directional post-outcome lineage plus an availability-time violation."
    ],
    "exit_code": 3,
    "point_in_time_verdict": "high_confidence",
    "release_decision": "block",
    "remediation": {
      "path": "examples/hospital_readmission_remediation.sql",
      "sha256": "636337331471725d6ef5b1feaa5be228058b005cfe6093c8db07af01132bfb4c",
      "verification": {
        "available_column": "available_at",
        "cutoff_predicates": [
          "evt.available_at <= src.prediction_time"
        ],
        "exit_code": 0,
        "post_outcome_table": "followup_appointments_after_discharge",
        "prediction_column": "prediction_time",
        "reason": "A directional availability cutoff protects the post-outcome source.",
        "referenced_tables": [
          "discharges_at_decision_time",
          "followup_appointments_after_discharge"
        ],
        "status": "safe"
      }
    },
    "schema_version": 1,
    "sql_verification": {
      "available_column": "available_at",
      "cutoff_predicates": [],
      "exit_code": 3,
      "post_outcome_table": "followup_appointments_after_discharge",
      "prediction_column": "prediction_time",
      "reason": "The post-outcome source is referenced, but no directional available_at <= prediction_time cutoff was found. The transformation does not reference available_at.",
      "referenced_tables": [
        "discharges_at_decision_time",
        "followup_appointments_after_discharge"
      ],
      "status": "violation"
    },
    "trace": [
      {
        "reason": "The post-outcome source is referenced, but no directional available_at <= prediction_time cutoff was found. The transformation does not reference available_at.",
        "status": "violation",
        "step": "transformation_verification"
      },
      {
        "excluded_post_cutoff_records": 4000,
        "status": "failed",
        "step": "point_in_time_reconstruction"
      },
      {
        "reason": "The transformation joins a post-outcome source with no availability cutoff, which proves post-cutoff information entered the feature.",
        "status": "confirmed",
        "step": "deterministic_verdict"
      },
      {
        "ablation_delta": 0.207554,
        "status": "clear_for_release",
        "step": "safe_control"
      },
      {
        "status": "awaiting_human_approval",
        "step": "writeback"
      }
    ],
    "validation": {
      "checks": {
        "leaked_feature_advantage_collapsed": false,
        "post_cutoff_records_were_excluded": true,
        "safe_feature_advantage_persisted": true,
        "safe_feature_has_large_ablation_delta": true,
        "safe_feature_is_point_in_time_stable": true
      },
      "config_sha256": "26248ad0efa1b11f1b142126503606552ace07a01935d0756a06ecef92545fa1",
      "evidence_context": {
        "decision_node": "discharges_at_decision_time.prediction_time",
        "leakage_available_offset_days": 22,
        "leakage_case_id": "readmission-post-discharge-followup",
        "leakage_feature_name": "followup_appointments_booked",
        "leakage_feature_urn": "urn:li:schemaField:(hindsight.readmission_feature_pipeline,followup_appointments_booked)",
        "leakage_lineage_path": [
          "followup_appointments_after_discharge.booked_at",
          "readmission_feature_pipeline.followup_appointments_booked"
        ],
        "leakage_model_urn": "urn:li:mlModel:(urn:li:dataPlatform:mlflow,hindsight.readmission_v1_leaky,PROD)",
        "safe_available_offset_days": -1,
        "safe_case_id": "readmission-prior-admissions-safe-control",
        "safe_feature_name": "prior_admissions_12m",
        "safe_feature_urn": "urn:li:schemaField:(hindsight.patient_history_point_in_time,prior_admissions_12m)",
        "safe_lineage_path": [
          "patient_history_point_in_time.prior_admissions_12m",
          "readmission_feature_pipeline_safe.prior_admissions_12m"
        ],
        "safe_model_urn": "urn:li:mlModel:(urn:li:dataPlatform:mlflow,hindsight.readmission_v2_safe,PROD)"
      },
      "leakage_case": {
        "advantage_retained": 0.511964,
        "baseline_auc": 0.725227,
        "collapsed": false,
        "observed_advantage": 0.274773,
        "observed_auc": 1.0,
        "point_in_time_advantage": 0.140674,
        "point_in_time_auc": 0.865901
      },
      "reconstruction": {
        "cutoff_predicate": "available_at <= prediction_time",
        "engine": "duckdb",
        "excluded_post_cutoff_records": 4000
      },
      "rows": 4000,
      "runtime_seconds": 0.099133,
      "safe_control": {
        "advantage_retained": 1.0,
        "baseline_auc": 0.725227,
        "collapsed": false,
        "observed_advantage": 0.207554,
        "observed_auc": 0.932781,
        "point_in_time_advantage": 0.207554,
        "point_in_time_auc": 0.932781
      },
      "scenario": "readmission_at_discharge",
      "schema_version": 1,
      "seed": 20260728,
      "status": "failed",
      "verdicts": {
        "leakage_case": {
          "case_id": "readmission-post-discharge-followup",
          "evidence": {
            "ablation_delta": 0.274773,
            "deterministic_cutoff_proof": false,
            "lineage_path": [
              "followup_appointments_after_discharge.booked_at",
              "readmission_feature_pipeline.followup_appointments_booked"
            ],
            "point_in_time_advantage_collapsed": false,
            "prediction_time": "2026-01-10T09:00:00+00:00",
            "source_available_at": "2026-02-01T09:00:00+00:00",
            "source_kind": "post_outcome"
          },
          "exit_code": 3,
          "reasons": [
            "Directional outcome lineage and an availability-time violation are established."
          ],
          "verdict": "high_confidence"
        },
        "safe_control": {
          "case_id": "readmission-prior-admissions-safe-control",
          "evidence": {
            "ablation_delta": 0.207554,
            "deterministic_cutoff_proof": false,
            "lineage_path": [
              "patient_history_point_in_time.prior_admissions_12m",
              "readmission_feature_pipeline_safe.prior_admissions_12m"
            ],
            "point_in_time_advantage_collapsed": false,
            "prediction_time": "2026-01-10T09:00:00+00:00",
            "source_available_at": "2026-01-09T09:00:00+00:00",
            "source_kind": "pre_outcome"
          },
          "exit_code": 0,
          "reasons": [
            "No directional post-outcome availability violation was established."
          ],
          "verdict": "clear_for_release"
        }
      }
    },
    "verdict": "confirmed",
    "writeback": {
      "mutation_performed": false,
      "planned_types": [
        "field_tag",
        "structured_property",
        "audit_document",
        "active_incident"
      ],
      "status": "awaiting_human_approval"
    }
  },
  "evidence_sha256": "f9347ff86c2ead115133dca79fad7412d5dfc151bb8514e04325fdb81e88ec53",
  "exit_code": 3,
  "publication": null,
  "published": false,
  "release_decision": "block",
  "rows": 4000,
  "run_id": "20260728T174522-89d397",
  "runtime_seconds": 0.099133,
  "scenario": "hospital_readmission",
  "schema_version": 2,
  "started_at": "2026-07-28T17:45:22.700366+00:00",
  "target_urn": null,
  "verdict": "confirmed"
}