{
  "artifact_version": "1.0.0",
  "identity": {
    "metric_id": "M26",
    "metric_version": "1.0.0",
    "metric_label": "Schedule lead bands and weighted middle month",
    "topic": "hearing-schedules",
    "example": "snc-sep2026"
  },
  "source": {
    "agency": "EOIR",
    "dataset": "CASE",
    "edition": "August 2026",
    "cutoff": "2026-08-31",
    "reference": "https://www.justice.gov/eoir/foia-library-0",
    "archive_sha256": "0a409ce1b175532df7bb2f0c58d06dd20fa6b4d904d749fde7df1b038ac498e2",
    "contract_path": "contracts/source-2026-08.json",
    "tables": {
      "tbl_schedule": "ec2c5d8a9d206d23d72cf43ff86f7627f9d5f8ef5f831a42b5071794a157ff65",
      "B_TblProceeding": "da490293373f060aa73a7da79bf04b9f5c2f1c9005525e68c1f6089c6f95c17f",
      "tbllookupSchedule_Type": "6ea2ed12e6d4a42886a15953ffd7ce7dd568bff6aa3fb316a0dab06692835b7d",
      "tblAdjournmentcodes": "b49372af5b0e85bc0a6736a2e5ee48efc774b6d73f479a75599951aa1e141d34",
      "tblLookupBaseCity": "cd768834bfff1dce52ad27717b7f7d06ae37f0ffe10b07fda45c576cb4e4f933"
    },
    "fields": {
      "tbl_schedule": [
        "IDNSCHEDULE",
        "IDNPROCEEDING",
        "IDNCASE",
        "BASE_CITY_CODE",
        "SCHEDULE_TYPE",
        "CAL_TYPE",
        "ADJ_RSN",
        "ADJ_DATE",
        "INPUT_DATE",
        "ADJ_TIME_START"
      ],
      "B_TblProceeding": [
        "IDNPROCEEDING",
        "IDNCASE",
        "COMP_DATE"
      ],
      "tbllookupSchedule_Type": [
        "strCode",
        "strDescription"
      ],
      "tblAdjournmentcodes": [
        "strcode",
        "strDesciption"
      ],
      "tblLookupBaseCity": [
        "BASE_CITY_CODE",
        "BASE_CITY_NAME"
      ]
    }
  },
  "semantics": {
    "unit": "schedule_record",
    "inclusion": "Twelve allowed master/individual codes; selected SNC master source rows",
    "exclusion": "Invalid, sentinel or post-horizon dates excluded from future; nonqualifying statuses outside future_observation",
    "deduplication": "Unique IDNSCHEDULE; no case/person deduplication",
    "association": "Exact proceeding link and case match for future eligibility",
    "time_assignment": "Saved ADJ_DATE relative to 2026-08-31 cutoff",
    "missing_values": "Missing reason can be candidate; missing linkage, calendar, creation or slot makes future status uncertain/excluded",
    "partial_period": "Future is a cutoff observation, not a completed FY",
    "small_sample": "No new publication threshold"
  },
  "calculation": {
    "numerator": "future_observation rows where applicable",
    "denominator": "selected schedule rows where applicable",
    "formula": "Calendar-month distance bands and lower weighted middle month from future_observation rows",
    "aggregation": "SNC master type, saved future months",
    "statistical_convention": "Lead bands 1-3,4-6,7-12,13-120; weighted lower middle month at ceil(N/2)",
    "rounding": "Exact integer counts and calendar month"
  },
  "reproduction": {
    "mode": "full_source",
    "logic_path": "public/audits/metrics/hearing-schedules/august-2026/reproduce.sql",
    "logic_sha256": "8eb7ae287a06d6db6f2f3193d90fe2a9c2f904956046d78c8f5e95d13b8edf66",
    "required_inputs": [
      ".data/eoir/parquet/tbl_schedule.parquet",
      ".data/eoir/parquet/B_TblProceeding.parquet",
      ".data/eoir/parquet/tbllookupSchedule_Type.parquet",
      ".data/eoir/parquet/tblAdjournmentcodes.parquet",
      ".data/eoir/parquet/tblLookupBaseCity.parquet"
    ],
    "output_fields": [
      "saved_september",
      "future_observation_september",
      "lead_n",
      "band_1_3",
      "band_4_6",
      "band_7_12",
      "band_13_120",
      "median_month"
    ],
    "expected": {
      "saved_september": 5341,
      "future_observation_september": 3835,
      "lead_n": 7986,
      "band_1_3": 7214,
      "band_4_6": 772,
      "band_7_12": 0,
      "band_13_120": 0,
      "median_month": "2026-10"
    },
    "deterministic": true
  },
  "verification": {
    "audited_at": "2026-09-28",
    "source_hash_verification": "full_required",
    "implementation_path": "pipeline/schedules.py",
    "display_path": "/hearings",
    "methodology_anchor": "/methodology#schedule-lead",
    "status": "full_source_pass"
  }
}
