{
  "schemaVersion": 1,
  "scope": "synthetic-controls",
  "inputSha256": "433616048349c35acf3fc1548ae7334a19c2f9689939bd9a87c898602a75ade0",
  "inputFiles": {
    "cases.jsonl": "d6972d81803a6bfa5d5df7de2c3b5646dd6ec41665f4d514bb8936dd7574fd1d",
    "expected.json": "dc6525de7cd92091015c17086b7ab8fd3be7ed3256dd39fc1ff24fb0a258f5a9",
    "medication-rules.json": "75f46da22b4a359ec1a7bae1c03cd627193f35330f6e2e4c2a8fda2892b0685c"
  },
  "sourceFiles": {
    "controls.py": "df849a37299ec4b620f3c178d21a51152905d97477c0f3a8922dcae51cb46ed5",
    "run_audit.py": "7440038fe632c55d97e8c8b0627858e2d29d7fd32ecc58ec4d7ec3af23d3c1e3"
  },
  "gates": [
    {
      "id": "G1",
      "title": "데이터 무결성 및 누수 차단",
      "status": "pending_auditor",
      "reason": "가상 입력의 해시를 대조했습니다. 연구 데이터 적격성·분할 승인 대기 중입니다."
    },
    {
      "id": "G2",
      "title": "분야 규칙과 근거 정합성",
      "status": "blocked",
      "reason": "연구 산출물 전수 검사는 G1 승인 후 진행합니다."
    },
    {
      "id": "G3",
      "title": "반례와 독립 코호트 평가",
      "status": "not_run",
      "reason": "고정 가상 반례를 실행했습니다. 독립 코호트 및 연구 모델 평가는 미실행입니다."
    },
    {
      "id": "G4",
      "title": "격리 재실행 및 감사자 서명",
      "status": "not_run",
      "reason": "가상 결과 재실행 명령을 제공합니다. 격리 연구 실행과 감사자 서명은 미실행입니다."
    }
  ],
  "tracks": {
    "5-1": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "relative-free-energy",
          "title": "상대 결합 자유에너지 형식과 오차 계산",
          "status": "pass",
          "cases": 8,
          "matched": 8,
          "caseResults": [
            {
              "id": "ENERGY-ERRORS",
              "expected": "MAE 0.333 / RMSE 0.408 / RMSEc 0.408 kcal/mol",
              "actual": "MAE 0.333 / RMSE 0.408 / RMSEc 0.408 kcal/mol",
              "pass": true
            },
            {
              "id": "ENERGY-CENTERING",
              "expected": "MAE 0.667 / RMSE 0.816 / RMSEc 0.471 kcal/mol",
              "actual": "MAE 0.667 / RMSE 0.816 / RMSEc 0.471 kcal/mol",
              "pass": true
            },
            {
              "id": "ENERGY-UNIT",
              "expected": "unit-mismatch",
              "actual": "unit-mismatch",
              "pass": true
            },
            {
              "id": "ENERGY-MISSING",
              "expected": "coverage-mismatch",
              "actual": "coverage-mismatch",
              "pass": true
            },
            {
              "id": "ENERGY-DUPLICATE",
              "expected": "duplicate-or-missing-id",
              "actual": "duplicate-or-missing-id",
              "pass": true
            },
            {
              "id": "ENERGY-REFERENCE",
              "expected": "reference-not-zero",
              "actual": "reference-not-zero",
              "pass": true
            },
            {
              "id": "ENERGY-NONFINITE",
              "expected": "invalid-number",
              "actual": "invalid-number",
              "pass": true
            },
            {
              "id": "ENERGY-SEM",
              "expected": "invalid-number",
              "actual": "invalid-number",
              "pass": true
            }
          ]
        },
        {
          "id": "benchmark-split",
          "title": "가상 벤치마크 표본 및 골격 그룹 분리",
          "status": "pass",
          "cases": 3,
          "matched": 3,
          "caseResults": [
            {
              "id": "FAMILY-DISJOINT",
              "expected": "disjoint-synthetic-split",
              "actual": "disjoint-synthetic-split",
              "pass": true
            },
            {
              "id": "FAMILY-OVERLAP",
              "expected": "scaffold-overlap",
              "actual": "scaffold-overlap",
              "pass": true
            },
            {
              "id": "SAMPLE-OVERLAP",
              "expected": "sample-overlap",
              "actual": "sample-overlap",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "8-1": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "synthetic-schema",
          "title": "합성 레코드 스키마와 변수 정합성",
          "status": "pass",
          "cases": 5,
          "matched": 5,
          "caseResults": [
            {
              "id": "SYNTHETIC-VALID",
              "expected": "schema-accepted",
              "actual": "schema-accepted",
              "pass": true
            },
            {
              "id": "SYNTHETIC-EXTRA",
              "expected": "schema-rejected",
              "actual": "schema-rejected",
              "pass": true
            },
            {
              "id": "SYNTHETIC-ID",
              "expected": "synthetic-id-required",
              "actual": "synthetic-id-required",
              "pass": true
            },
            {
              "id": "SYNTHETIC-TYPE",
              "expected": "invalid-type-or-range",
              "actual": "invalid-type-or-range",
              "pass": true
            },
            {
              "id": "SYNTHETIC-TIME",
              "expected": "inconsistent-observation",
              "actual": "inconsistent-observation",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "18-2": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "mass-consistency",
          "title": "질량 단위 일치 검사",
          "status": "pass",
          "cases": 5,
          "matched": 5,
          "caseResults": [
            {
              "id": "MASS-EQUIVALENT",
              "expected": "mass-matched",
              "actual": "mass-matched",
              "pass": true
            },
            {
              "id": "MASS-THOUSAND",
              "expected": "mass-mismatch",
              "actual": "mass-mismatch",
              "pass": true
            },
            {
              "id": "MASS-ZERO",
              "expected": "invalid-quantity",
              "actual": "invalid-quantity",
              "pass": true
            },
            {
              "id": "MASS-UNKNOWN",
              "expected": "unknown-unit",
              "actual": "unknown-unit",
              "pass": true
            },
            {
              "id": "MASS-NEGATIVE",
              "expected": "invalid-quantity",
              "actual": "invalid-quantity",
              "pass": true
            }
          ]
        },
        {
          "id": "medication-rules",
          "title": "가상 제품의 단위·조합·식별값 경계",
          "status": "pass",
          "cases": 13,
          "matched": 13,
          "caseResults": [
            {
              "id": "MED-BOUNDARY",
              "expected": "no-rule-triggered",
              "actual": "no-rule-triggered",
              "pass": true
            },
            {
              "id": "MED-AMOUNT",
              "expected": "flag:mass",
              "actual": "flag:mass",
              "pass": true
            },
            {
              "id": "MED-UNKNOWN-UNIT",
              "expected": "review:unknown-unit",
              "actual": "review:unknown-unit",
              "pass": true
            },
            {
              "id": "MED-RENAL",
              "expected": "flag:renal",
              "actual": "flag:renal",
              "pass": true
            },
            {
              "id": "MED-UNKNOWN-RENAL",
              "expected": "review:unknown-renal",
              "actual": "review:unknown-renal",
              "pass": true
            },
            {
              "id": "MED-PAIR",
              "expected": "flag:combination",
              "actual": "flag:combination",
              "pass": true
            },
            {
              "id": "MED-UNKNOWN-PAIR",
              "expected": "review:unknown-combination",
              "actual": "review:unknown-combination",
              "pass": true
            },
            {
              "id": "MED-SIMILAR",
              "expected": "flag:scan",
              "actual": "flag:scan",
              "pass": true
            },
            {
              "id": "MED-TOLERANCE",
              "expected": "flag:scan",
              "actual": "flag:scan",
              "pass": true
            },
            {
              "id": "MED-UNKNOWN-PRODUCT",
              "expected": "review:unknown-product",
              "actual": "review:unknown-product",
              "pass": true
            },
            {
              "id": "MED-UNKNOWN-SCAN",
              "expected": "review:incomplete-scan",
              "actual": "review:incomplete-scan",
              "pass": true
            },
            {
              "id": "MED-LEAK",
              "expected": "review:input-fields",
              "actual": "review:input-fields",
              "pass": true
            },
            {
              "id": "MED-MULTIPLE",
              "expected": "flag:mass,renal,combination,scan",
              "actual": "flag:mass,renal,combination,scan",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "19-1": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "ranking-ties",
          "title": "상위 5개 순위와 동점 처리",
          "status": "pass",
          "cases": 4,
          "matched": 4,
          "caseResults": [
            {
              "id": "RANK-FIFTH",
              "expected": "top-five-hit",
              "actual": "top-five-hit",
              "pass": true
            },
            {
              "id": "RANK-SIXTH",
              "expected": "top-five-miss",
              "actual": "top-five-miss",
              "pass": true
            },
            {
              "id": "RANK-TIE",
              "expected": "cutoff-tie",
              "actual": "cutoff-tie",
              "pass": true
            },
            {
              "id": "RANK-DUPLICATE",
              "expected": "duplicate-id",
              "actual": "duplicate-id",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "16-2": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "adaptation-replay",
          "title": "합성 난이도 제어 재생",
          "status": "pass",
          "cases": 4,
          "matched": 4,
          "caseResults": [
            {
              "id": "ADAPT-UP",
              "expected": "settled",
              "actual": "settled",
              "pass": true
            },
            {
              "id": "ADAPT-DOWN",
              "expected": "settled",
              "actual": "settled",
              "pass": true
            },
            {
              "id": "ADAPT-FATIGUE",
              "expected": "paused-fatigue",
              "actual": "paused-fatigue",
              "pass": true
            },
            {
              "id": "ADAPT-BOUNDARY",
              "expected": "outside-target",
              "actual": "outside-target",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "16-3": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "cohort-eligibility",
          "title": "기관·장비·대상 분리와 같은 대상의 모달리티 확인",
          "status": "pass",
          "cases": 5,
          "matched": 5,
          "caseResults": [
            {
              "id": "COHORT-DISJOINT",
              "expected": "eligible-on-metadata",
              "actual": "eligible-on-metadata",
              "pass": true
            },
            {
              "id": "COHORT-DEVICE",
              "expected": "site-or-device-overlap",
              "actual": "site-or-device-overlap",
              "pass": true
            },
            {
              "id": "COHORT-SUBJECT",
              "expected": "subject-overlap",
              "actual": "subject-overlap",
              "pass": true
            },
            {
              "id": "COHORT-UNPAIRED",
              "expected": "unpaired-modalities",
              "actual": "unpaired-modalities",
              "pass": true
            },
            {
              "id": "COHORT-DUPLICATE",
              "expected": "duplicate-id",
              "actual": "duplicate-id",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "18-1": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "alert-window",
          "title": "평가 시점의 정보 누수와 경보 선행시간",
          "status": "pass",
          "cases": 6,
          "matched": 6,
          "caseResults": [
            {
              "id": "ALERT-3S",
              "expected": "early-alert",
              "actual": "early-alert",
              "pass": true
            },
            {
              "id": "ALERT-BELOW-3S",
              "expected": "late-alert",
              "actual": "late-alert",
              "pass": true
            },
            {
              "id": "ALERT-LEAK",
              "expected": "feature-not-available",
              "actual": "feature-not-available",
              "pass": true
            },
            {
              "id": "ALERT-NO-EVENT",
              "expected": "no-event",
              "actual": "no-event",
              "pass": true
            },
            {
              "id": "ALERT-FALSE",
              "expected": "false-alert",
              "actual": "false-alert",
              "pass": true
            },
            {
              "id": "ALERT-MISSED",
              "expected": "missed-event",
              "actual": "missed-event",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "18-3": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "inventory-close",
          "title": "가림과 반입·반출 상태 제어",
          "status": "pass",
          "cases": 5,
          "matched": 5,
          "caseResults": [
            {
              "id": "COUNT-BALANCED",
              "expected": "inventory-balanced",
              "actual": "inventory-balanced",
              "pass": true
            },
            {
              "id": "COUNT-UNBALANCED",
              "expected": "inventory-unbalanced",
              "actual": "inventory-unbalanced",
              "pass": true
            },
            {
              "id": "COUNT-OBSCURED",
              "expected": "review-obscuration",
              "actual": "review-obscuration",
              "pass": true
            },
            {
              "id": "COUNT-DUPLICATE",
              "expected": "invalid-sequence",
              "actual": "invalid-sequence",
              "pass": true
            },
            {
              "id": "COUNT-NO-CLOSE",
              "expected": "missing-close",
              "actual": "missing-close",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "12-1": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "evidence-span",
          "title": "판정 시점에 확인 가능한 근거 위치",
          "status": "pass",
          "cases": 5,
          "matched": 5,
          "caseResults": [
            {
              "id": "NOTE-MATCH",
              "expected": "span-matched",
              "actual": "span-matched",
              "pass": true
            },
            {
              "id": "NOTE-ALTERED",
              "expected": "quote-mismatch",
              "actual": "quote-mismatch",
              "pass": true
            },
            {
              "id": "NOTE-FUTURE",
              "expected": "future-source",
              "actual": "future-source",
              "pass": true
            },
            {
              "id": "NOTE-WRONG-SOURCE",
              "expected": "unknown-source",
              "actual": "unknown-source",
              "pass": true
            },
            {
              "id": "NOTE-RANGE",
              "expected": "invalid-span",
              "actual": "invalid-span",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "12-2": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "protocol-replay",
          "title": "가상 사건 열의 제한 응답 전환",
          "status": "pass",
          "cases": 4,
          "matched": 4,
          "caseResults": [
            {
              "id": "PROTOCOL-ORDINARY",
              "expected": "protocol|protocol",
              "actual": "protocol|protocol",
              "pass": true
            },
            {
              "id": "PROTOCOL-URGENT",
              "expected": "protocol|handoff|handoff",
              "actual": "protocol|handoff|handoff",
              "pass": true
            },
            {
              "id": "PROTOCOL-BLOCKED",
              "expected": "handoff|handoff",
              "actual": "handoff|handoff",
              "pass": true
            },
            {
              "id": "PROTOCOL-UNKNOWN",
              "expected": "review|review|handoff",
              "actual": "review|review|handoff",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "12-3": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "observation-coverage",
          "title": "집계 관측 결손과 기록 편차 구분",
          "status": "pass",
          "cases": 5,
          "matched": 5,
          "caseResults": [
            {
              "id": "OBS-DEVIATION",
              "expected": "synthetic-deviation",
              "actual": "synthetic-deviation",
              "pass": true
            },
            {
              "id": "OBS-NORMAL",
              "expected": "no-deviation",
              "actual": "no-deviation",
              "pass": true
            },
            {
              "id": "OBS-OUTAGE",
              "expected": "insufficient-observation",
              "actual": "insufficient-observation",
              "pass": true
            },
            {
              "id": "OBS-SHORT",
              "expected": "insufficient-observation",
              "actual": "insufficient-observation",
              "pass": true
            },
            {
              "id": "OBS-RAW",
              "expected": "schema-rejected",
              "actual": "schema-rejected",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    },
    "12-4": {
      "researchStatus": "not_run",
      "checks": [
        {
          "id": "handoff-invariant",
          "title": "가상 위기 플래그 직후 전환과 자유 응답 차단",
          "status": "pass",
          "cases": 6,
          "matched": 6,
          "caseResults": [
            {
              "id": "HANDOFF-SAME-TICK",
              "expected": "handoff-complete",
              "actual": "handoff-complete",
              "pass": true
            },
            {
              "id": "HANDOFF-DELAYED",
              "expected": "handoff-not-immediate",
              "actual": "handoff-not-immediate",
              "pass": true
            },
            {
              "id": "HANDOFF-MISSING",
              "expected": "missing-handoff",
              "actual": "missing-handoff",
              "pass": true
            },
            {
              "id": "HANDOFF-FREE-TEXT",
              "expected": "free-reply-after-handoff",
              "actual": "free-reply-after-handoff",
              "pass": true
            },
            {
              "id": "HANDOFF-OUT-OF-ORDER",
              "expected": "invalid-sequence",
              "actual": "invalid-sequence",
              "pass": true
            },
            {
              "id": "HANDOFF-UNPROMPTED",
              "expected": "unexpected-handoff",
              "actual": "unexpected-handoff",
              "pass": true
            }
          ]
        }
      ],
      "status": "pass"
    }
  },
  "summary": {
    "tracks": 12,
    "checks": 14,
    "cases": 78,
    "matched": 78
  },
  "evidenceSha256": "5260b304876d05a6179e822092e06c37131e90f70f3aba60eb2358ad050b279e"
}
