{
 "때": "2026-09-06T13:35:46",
 "fail": 0,
 "warn": 0,
 "항목": [
  {
   "관문": "C0",
   "이름": "구분 칸이 아는 값인가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "계산·인용·해석 중 하나여야 한다 — 대장 97행을 봤다"
  },
  {
   "관문": "C1",
   "이름": "필수 칸이 다 있는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "인용행 6개를 봤다"
  },
  {
   "관문": "C1",
   "이름": "그 값이 자리표시자가 아닌가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "인용행 6개를 봤다"
  },
  {
   "관문": "C1",
   "이름": "원문확인이 Y 인가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "인용행 6개를 봤다"
  },
  {
   "관문": "C1",
   "이름": "URL 이 주소 형식인가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "인용행 6개를 봤다"
  },
  {
   "관문": "C1",
   "이름": "기준일에 연도가 있는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "인용행 6개를 봤다"
  },
  {
   "관문": "C2",
   "이름": "N01 읍면동수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:단위수:분해|2025|청년|인구 → 604.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N02 시군수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군수:분해|2025|청년|인구 → 31.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N03 읍면동수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:단위수:분해|2011|청년|인구 → 543.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N04 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N07/(N06+N07) → 71.672 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N05 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N31/(N30+N31) → 62.19 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N06 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:분해|2025|청년|인구 → 3.7309 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N07 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:분해|2025|청년|인구 → 9.4395 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N08 청년비중 전체분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:전체분산:분해|2025|청년|인구 → 13.1705 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N09 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N12/(N11+N12) → 71.003 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N10 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N33/(N32+N33) → 59.292 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N11 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:분해|2025|노년|인구 → 12.9069 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N12 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:분해|2025|노년|인구 → 31.6037 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N13 노년비중 전체분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:전체분산:분해|2025|노년|인구 → 44.5105 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N14 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N35/(N34+N35) → 75.706 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N15 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N37/(N36+N37) → 64.28 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N16 노년비중 전체분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:전체분산:분해|2011|노년|인구 → 12.3491 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N17 노년비중 평균",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:평균:분해|2011|노년|인구 → 8.984 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N18 노년비중 평균",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:평균:분해|2025|노년|인구 → 17.7288 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N19 노년비중 표준편차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:sd:분해|2025|노년|인구 → 6.6716 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N20 노년비중 표준편차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:sd:분해|2011|노년|인구 → 3.5141 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N21 노년비중 변이계수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N20/N17 → 0.39115 (허용오차 5.00e-06)"
  },
  {
   "관문": "C2",
   "이름": "N22 노년비중 변이계수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N19/N18 → 0.37631 (허용오차 5.00e-06)"
  },
  {
   "관문": "C2",
   "이름": "N23 노년비중 로짓분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:로짓분산:분해|2011|노년|인구 → 0.146415 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N24 노년비중 로짓분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:로짓분산:분해|2025|노년|인구 → 0.222121 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N25 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N39/(N38+N39) → 67.265 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N26 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N41/(N40+N41) → 71.944 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N27 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N43/(N42+N43) → 77.968 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N28 청년비중 평균",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:평균:분해|2011|청년|인구 → 21.3594 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N29 청년비중 평균",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:평균:분해|2025|청년|인구 → 18.6913 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N30 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:분해|2025|청년|동 → 7.1663 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N31 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:분해|2025|청년|동 → 11.787 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N32 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:분해|2025|노년|동 → 36.1287 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N33 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:분해|2025|노년|동 → 52.622 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N34 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:분해|2011|청년|인구 → 3.2558 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N35 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:분해|2011|청년|인구 → 10.1459 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N36 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:분해|2011|노년|인구 → 4.4111 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N37 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:분해|2011|노년|인구 → 7.938 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N38 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:균형|2025|청년|인구 → 4.4072 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N39 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:균형|2025|청년|인구 → 9.0561 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N40 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:균형|2025|노년|인구 → 11.8318 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N41 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:균형|2025|노년|인구 → 30.341 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N42 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:균형|2011|청년|인구 → 3.2134 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N43 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:균형|2011|청년|인구 → 11.3715 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N44 인구",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:무게:분해|2011|청년|인구 → 11937415.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N45 인구",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:무게:분해|2025|청년|인구 → 13730135.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N47 균형패널 동수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:단위수:표본|2025|전체|인구 → 448.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N48 행정동 코드 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군수:표본|2025|전체|인구 → 747.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N49 균형패널 비중",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N47/N48 → 59.97 (허용오차 5.00e-03)"
  },
  {
   "관문": "C2",
   "이름": "N50 노년 분산 배수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N13/N16 → 3.6 (허용오차 5.00e-03)"
  },
  {
   "관문": "C2",
   "이름": "N51 노년 로짓분산 배수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N24/N23 → 1.52 (허용오차 5.00e-03)"
  },
  {
   "관문": "C2",
   "이름": "N52 노년 시군내몫 차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N26-N09 → 0.94 (허용오차 5.00e-03)"
  },
  {
   "관문": "C2",
   "이름": "N53 청년 시군내몫 차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N04-N25 → 4.41 (허용오차 5.00e-03)"
  },
  {
   "관문": "C2",
   "이름": "N54 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:정의민감도|2025|청년|인구|15_34 → 3.9965 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N55 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N56/(N54+N56) → 69.85 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N56 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:정의민감도|2025|청년|인구|15_34 → 9.2589 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N57 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:정의민감도|2025|청년|인구|25_39 → 5.1603 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N58 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N59/(N57+N59) → 74.603 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N59 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:정의민감도|2025|청년|인구|25_39 → 15.1582 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N60 청년비중 시군간몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100-N04 → 28.328 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N61 노년비중 시군간몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100-N09 → 28.997 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N62 청년비중 시군간표준편차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:sd간:분해|2025|청년|인구 → 1.9316 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N63 청년비중 시군내표준편차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:sd내:분해|2025|청년|인구 → 3.0724 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N64 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N66/(N65+N66) → 47.685 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N65 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군간:분해|2011|노년|동 → 16.3187 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N66 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내:분해|2011|노년|동 → 14.8743 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N67 시군 «안»이 더 좁은 시군 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:단위수:비교|2025|청년|인구 → 3.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N71 분모에서빠진몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N70/N68 → 72.123 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N73 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:로짓내몫:분해|2025|청년|인구 → 70.1763 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N74 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:로짓내몫:분해|2025|노년|인구 → 69.7598 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N75 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군내몫:정의민감도|2025|청년|인구|20_39 → 72.0862 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N76 청년비중 최대기여 동의 몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:상위1몫:기여|2025|청년|인구 → 3.6675 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N77 청년비중 기여 절반을 만드는 동 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:절반동수:기여|2025|청년|인구 → 46.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N78 노년비중 기여 절반을 만드는 동 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:절반동수:기여|2025|노년|인구 → 76.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N79 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:상위5뺀몫:기여|2025|청년|인구 → 70.9117 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N80 노년비중 최대기여 동의 몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:상위1몫:기여|2025|노년|인구 → 1.6011 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N81 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:상위5뺀몫:기여|2025|노년|인구 → 68.6826 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N82 청년비중 시군간몫(η²)",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N06/N08 → 28.3277 (허용오차 5.00e-05)"
  },
  {
   "관문": "C2",
   "이름": "N83 노년비중 시군간몫(η²)",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*N11/N13 → 28.9974 (허용오차 5.00e-05)"
  },
  {
   "관문": "C2",
   "이름": "N84 청년비중 내부 표준편차 최대 시군",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:sd:시군|2025|청년|인구|41450 → 4.502 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N85 노년비중 내부 표준편차 최대 시군",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:sd:시군|2025|노년|인구|41670 → 10.6135 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N88 1호 내국인과 이 호 주민등록 계의 차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:100*(N69-N72)/N69 → 0.448 (허용오차 5.00e-04)"
  },
  {
   "관문": "C2",
   "이름": "N89 균형패널의 시군 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군수:균형|2025|청년|인구 → 29.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N90 청년비중 내부 표준편차 2위 시군",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:sd:시군|2025|청년|인구|41500 → 4.5004 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N91 시군 «안»이 더 좁은 시군 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:단위수:비교|2025|노년|인구 → 4.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N92 2011년 표본에 없고 뒤에 나타난 행정동 코드 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N48-N03 → 204.0 (허용오차 5.00e-02)"
  },
  {
   "관문": "C2",
   "이름": "N93 2025년 표본에 없는 행정동 코드 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N48-N01 → 143.0 (허용오차 5.00e-02)"
  },
  {
   "관문": "C2",
   "이름": "N94 기여가 완전히 고를 때 절반에 드는 동 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N01/2 → 302.0 (허용오차 5.00e-02)"
  },
  {
   "관문": "C2",
   "이름": "N95 시군내몫이 절반 아래인 칸 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:단위수:문턱|2025|전체|인구 → 1.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N96 시군내몫을 잰 칸 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "raw:시군수:문턱|2025|전체|인구 → 60.0 (허용오차 0.00e+00)"
  },
  {
   "관문": "C2",
   "이름": "N97 1호 내국인과 이 호 주민등록 계의 차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "expr:N69-N72 → 24.0 (허용오차 5.00e-02)"
  },
  {
   "관문": "C2",
   "이름": "파생값이 원자료에서 다시 계산되는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "90건 일치 · 0건은 다시 계산할 수 없었다"
  },
  {
   "관문": "C3",
   "이름": "값이 어긋나는 곳을 정의로 구분하고 본문에 병기했는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "대장 97행에서 그런 곳이 없었다"
  },
  {
   "관문": "C4",
   "이름": "본문 수치가 모두 대장에 있는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "통계성 수치 132개를 봤다"
  },
  {
   "관문": "C4",
   "이름": "「무시목록」으로 건너뛴 수치가 없는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "무시목록을 쓰지 않았다"
  },
  {
   "관문": "C5",
   "이름": "해석 주장에 유보 표현이 붙었는가",
   "통과": true,
   "등급": "OK",
   "잼": false,
   "사람": false,
   "한마디": "이 호에는 «해석» 구분의 행이 없어 잴 것이 없었다"
  },
  {
   "관문": "C6",
   "이름": "강조 태그가 글자로 새어 나가지 않았는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "`<b>` 가 본문에 글자로 찍히는 것 (B03 이 그렇게 발행됐다)"
  },
  {
   "관문": "C6",
   "이름": "자리표시자가 다 채워졌는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "`{N04}` 같은 것이 안 채워진 채 나가는 것"
  },
  {
   "관문": "C6",
   "이름": "본문이 비어 있지 않은가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "400자 미만이면 빌드가 덜 된 것으로 본다"
  },
  {
   "관문": "C6",
   "이름": "viewport 메타가 있는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "없으면 폰에서 데스크톱 너비로 그려진다"
  },
  {
   "관문": "C6",
   "이름": "doctype 과 html lang 이 있는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "없으면 쿼크 모드 · 스크린리더가 언어를 못 정한다"
  },
  {
   "관문": "C6",
   "이름": "수치 표기가 안 깨졌는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "대장 값은 정수인데 본문에 「11,937,415.0명」처럼 나가는 것"
  },
  {
   "관문": "C6",
   "이름": "canonical·구조화 데이터가 있는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "없어도 발행은 막지 않는다(WARN) — 검색·공유에서 손해"
  },
  {
   "관문": "C7",
   "이름": "대장 값을 KOSIS 에 다시 물어 맞췄는가",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "1건 일치 — 대장 97행 중 출처식이 적힌 것은 1행"
  },
  {
   "관문": "C8",
   "이름": "선언 1〔분포〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "근거 5개 · 역할 「퍼짐」 을 갖췄다 (N04, N06, N07, N08, N05)"
  },
  {
   "관문": "C8",
   "이름": "선언 2〔구성〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "근거 4개 · 역할 「몫」 을 갖췄다 (N09, N11, N12, N10)"
  },
  {
   "관문": "C8",
   "이름": "선언 3〔문턱〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "근거 3개 · 역할 「견고성」 을 갖췄다 (N10, N05, N64)"
  },
  {
   "관문": "C9",
   "이름": "N04 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N06, N07)"
  },
  {
   "관문": "C9",
   "이름": "N05 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N30, N31)"
  },
  {
   "관문": "C9",
   "이름": "N06 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N07 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N08 청년비중 전체분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N09 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N11, N12)"
  },
  {
   "관문": "C9",
   "이름": "N10 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N32, N33)"
  },
  {
   "관문": "C9",
   "이름": "N11 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N12 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N13 노년비중 전체분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N14 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N34, N35)"
  },
  {
   "관문": "C9",
   "이름": "N15 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N36, N37)"
  },
  {
   "관문": "C9",
   "이름": "N16 노년비중 전체분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N17 노년비중 평균",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "`분모` 칸이 대장 행을 가리킨다 (N44)"
  },
  {
   "관문": "C9",
   "이름": "N18 노년비중 평균",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "`분모` 칸이 대장 행을 가리킨다 (N45)"
  },
  {
   "관문": "C9",
   "이름": "N19 노년비중 표준편차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 표준편차는 분산의 제곱근이지 비율이 아니다 — 분모가 없다."
  },
  {
   "관문": "C9",
   "이름": "N20 노년비중 표준편차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 표준편차는 분산의 제곱근이지 비율이 아니다 — 분모가 없다."
  },
  {
   "관문": "C9",
   "이름": "N21 노년비중 변이계수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N17, N20)"
  },
  {
   "관문": "C9",
   "이름": "N22 노년비중 변이계수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N18, N19)"
  },
  {
   "관문": "C9",
   "이름": "N23 노년비중 로짓분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: ⛔ 로짓 분산의 단위는 pp²(퍼센트포인트 제곱)가 «아니다» — log-odds 의 제곱이라 무차원이다. "
  },
  {
   "관문": "C9",
   "이름": "N24 노년비중 로짓분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: ⛔ 로짓 분산의 단위는 pp²(퍼센트포인트 제곱)가 «아니다» — log-odds 의 제곱이라 무차원이다. "
  },
  {
   "관문": "C9",
   "이름": "N25 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N38, N39)"
  },
  {
   "관문": "C9",
   "이름": "N26 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N40, N41)"
  },
  {
   "관문": "C9",
   "이름": "N27 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N42, N43)"
  },
  {
   "관문": "C9",
   "이름": "N28 청년비중 평균",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "`분모` 칸이 대장 행을 가리킨다 (N44)"
  },
  {
   "관문": "C9",
   "이름": "N29 청년비중 평균",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "`분모` 칸이 대장 행을 가리킨다 (N45)"
  },
  {
   "관문": "C9",
   "이름": "N30 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N31 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N32 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N33 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N34 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N35 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N36 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N37 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N38 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N39 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N40 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N41 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N42 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N43 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N49 균형패널 비중",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N47, N48)"
  },
  {
   "관문": "C9",
   "이름": "N50 노년 분산 배수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N13, N16)"
  },
  {
   "관문": "C9",
   "이름": "N51 노년 로짓분산 배수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N23, N24)"
  },
  {
   "관문": "C9",
   "이름": "N52 노년 시군내몫 차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N09, N26)"
  },
  {
   "관문": "C9",
   "이름": "N53 청년 시군내몫 차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N04, N25)"
  },
  {
   "관문": "C9",
   "이름": "N54 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N55 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N54, N56)"
  },
  {
   "관문": "C9",
   "이름": "N56 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N57 청년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N58 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N57, N59)"
  },
  {
   "관문": "C9",
   "이름": "N59 청년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N60 청년비중 시군간몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N04)"
  },
  {
   "관문": "C9",
   "이름": "N61 노년비중 시군간몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N09)"
  },
  {
   "관문": "C9",
   "이름": "N62 청년비중 시군간표준편차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 표준편차는 분산의 제곱근이지 비율이 아니다 — 분모가 없다."
  },
  {
   "관문": "C9",
   "이름": "N63 청년비중 시군내표준편차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 표준편차는 분산의 제곱근이지 비율이 아니다 — 분모가 없다."
  },
  {
   "관문": "C9",
   "이름": "N64 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N65, N66)"
  },
  {
   "관문": "C9",
   "이름": "N65 노년비중 시군간분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N66 노년비중 시군내분산",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산은 비율이 아니라 «퍼짐의 크기»다 — 단위가 pp²(퍼센트포인트 제곱)이고 나눗셈으로 만든 값이 아니다"
  },
  {
   "관문": "C9",
   "이름": "N71 분모에서빠진몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N68, N70)"
  },
  {
   "관문": "C9",
   "이름": "N73 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: ★ 외부 검수(codex)가 「이게 제목을 위협한다」고 짚어 실었다. 계산은 처음부터 분석표에 있었고 «싣지"
  },
  {
   "관문": "C9",
   "이름": "N74 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산의 «몫»이라 분모가 따로 없다 — 로짓 척도의 시군간+시군내 로 나눈 값이고, 그 성분은 «분석표»에 "
  },
  {
   "관문": "C9",
   "이름": "N75 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: ★ 외부 검수(codex)가 「20~39 수치가 대장에 없다」고 짚었다"
  },
  {
   "관문": "C9",
   "이름": "N76 청년비중 최대기여 동의 몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "`분모` 칸이 대장 행을 가리킨다 (N07)"
  },
  {
   "관문": "C9",
   "이름": "N77 청년비중 기여 절반을 만드는 동 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 개수다 — 나눗셈으로 만든 값이 아니라 「기여 큰 것부터 세어 절반이 될 때까지의 동 수」다"
  },
  {
   "관문": "C9",
   "이름": "N78 노년비중 기여 절반을 만드는 동 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 개수다 — 나눗셈으로 만든 값이 아니라 「기여 큰 것부터 세어 절반이 될 때까지의 동 수」다"
  },
  {
   "관문": "C9",
   "이름": "N79 청년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산의 «몫»이라 분모가 따로 없다 — 시군간+시군내 로 나눈 값이고 성분이 분석표에 있다"
  },
  {
   "관문": "C9",
   "이름": "N80 노년비중 최대기여 동의 몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "`분모` 칸이 대장 행을 가리킨다 (N12)"
  },
  {
   "관문": "C9",
   "이름": "N81 노년비중 시군내몫",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 분산의 «몫»이라 분모가 따로 없다 — 시군간+시군내 로 나눈 값이고 성분이 분석표에 있다"
  },
  {
   "관문": "C9",
   "이름": "N82 청년비중 시군간몫(η²)",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N06, N08)"
  },
  {
   "관문": "C9",
   "이름": "N83 노년비중 시군간몫(η²)",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N11, N13)"
  },
  {
   "관문": "C9",
   "이름": "N84 청년비중 내부 표준편차 최대 시군",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 표준편차는 «퍼짐의 크기»라 나눗셈으로 만든 값이 아니다 — 분모가 없다. ★ 외부 검수(Gemini 3.8"
  },
  {
   "관문": "C9",
   "이름": "N85 노년비중 내부 표준편차 최대 시군",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 표준편차는 «퍼짐의 크기»라 나눗셈으로 만든 값이 아니다 — 분모가 없다. ★ 외부 검수(Gemini 3.8"
  },
  {
   "관문": "C9",
   "이름": "N88 1호 내국인과 이 호 주민등록 계의 차",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분모를 파생식 안의 대장 행으로 짚는다 (N69, N72)"
  },
  {
   "관문": "C9",
   "이름": "N90 청년비중 내부 표준편차 2위 시군",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: ★ 내부 전수 감사가 「사실상 동률인데 1위만 적었다」고 짚어 실었다"
  },
  {
   "관문": "C9",
   "이름": "N95 시군내몫이 절반 아래인 칸 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: ★ 내부 전수 감사가 「아무도 세지 않은 주장」이라고 짚어 코드가 세게 했다"
  },
  {
   "관문": "C9",
   "이름": "N96 시군내몫을 잰 칸 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "«해당없음» 선언 + 이유: 개수는 나눗셈이 아니다 — 분모가 없다"
  },
  {
   "관문": "C10",
   "이름": "검증 1〔결론이 선다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N25, N26, N27)"
  },
  {
   "관문": "C10",
   "이름": "검증 2〔결론을 좁혔다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N05, N10, N64)"
  },
  {
   "관문": "C10",
   "이름": "검증 3〔결론을 좁혔다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N21, N22, N23, N24)"
  },
  {
   "관문": "C10",
   "이름": "검증 4〔말하지 않는다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "「말하지 않는다」 — 값을 안 대는 대신 그렇다고 적었다"
  },
  {
   "관문": "C10",
   "이름": "검증 5〔말하지 않는다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "「말하지 않는다」 — 값을 안 대는 대신 그렇다고 적었다"
  },
  {
   "관문": "C10",
   "이름": "검증 6〔말하지 않는다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "「말하지 않는다」 — 값을 안 대는 대신 그렇다고 적었다"
  },
  {
   "관문": "C10",
   "이름": "검증 7〔결론이 선다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N04, N55, N58, N75)"
  },
  {
   "관문": "C10",
   "이름": "검증 8〔말하지 않는다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "「말하지 않는다」 — 값을 안 대는 대신 그렇다고 적었다"
  },
  {
   "관문": "C10",
   "이름": "검증 9〔결론이 선다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N23, N24, N73, N74)"
  },
  {
   "관문": "C10",
   "이름": "검증 10〔말하지 않는다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "「말하지 않는다」 — 값을 안 대는 대신 그렇다고 적었다"
  },
  {
   "관문": "C10",
   "이름": "검증 11〔결론을 좁혔다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N47, N49, N89)"
  },
  {
   "관문": "C10",
   "이름": "검증 12〔결론을 좁혔다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N67, N62, N91, N84, N90, N85)"
  },
  {
   "관문": "C10",
   "이름": "검증 13〔결론을 좁혔다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N68, N69, N70, N71, N72)"
  },
  {
   "관문": "C10",
   "이름": "검증 14〔결론이 선다〕",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "크기를 값으로 댔다 (N76, N77, N78, N79, N80, N81)"
  },
  {
   "관문": "C10",
   "이름": "한계 문단 ↔ 검증 수",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "한계 문단이 센 항목 14개 ≤ 검증 14건"
  },
  {
   "관문": "C11",
   "이름": "「살기 시작」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「하기 시작했」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「독립했」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「독립하기」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「이사했」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「이사 왔」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「이사왔」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「이사 갔」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「이사갔」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「옮겨 갔」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「옮겨갔」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「빠져나갔」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「빠져나간」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C11",
   "이름": "「떠났」",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "본문에 없다"
  },
  {
   "관문": "C12",
   "이름": "'원자료' #1(자료/읍면동인구_경기_2011_2025.csv) 선언 5칸",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "'원자료' #1(자료/읍면동인구_경기_2011_2025.csv) 선언 5칸"
  },
  {
   "관문": "C12",
   "이름": "'원자료' #2(자료/시군이름_경기.csv) 선언 5칸",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "'원자료' #2(자료/시군이름_경기.csv) 선언 5칸"
  },
  {
   "관문": "C12",
   "이름": "'분석표' 선언 3칸",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "'분석표' 선언 3칸"
  },
  {
   "관문": "C12",
   "이름": "분석표 지문 일치",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "분석표 지문 일치 (c41513146638…)"
  },
  {
   "관문": "C12",
   "이름": "원자료 지문 일치",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "원자료 지문 일치 (읍면동인구_경기_2011_2025.csv · c727664c77a1…)"
  },
  {
   "관문": "C12",
   "이름": "원자료 지문 일치",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "원자료 지문 일치 (시군이름_경기.csv · add6d2a1c5c9…)"
  },
  {
   "관문": "C12",
   "이름": "코드 지문 일치",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "코드 지문 일치 (7b51e4237ec2…)"
  },
  {
   "관문": "C12",
   "이름": "prep.py 가 대는 데이터 파일 이름 4개가 모두 선언 또는 산출물 안에 있…",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "prep.py 가 대는 데이터 파일 이름 4개가 모두 선언 또는 산출물 안에 있습니다"
  },
  {
   "관문": "C12",
   "이름": "재현 검사 통과",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "재현 검사 통과 — 다시 돌려도 같은 분석표"
  },
  {
   "관문": "C12",
   "이름": "정제 규칙 11개 · 버린 행 합계 1",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "정제 규칙 11개 · 버린 행 합계 1"
  },
  {
   "관문": "C13",
   "이름": "「때문」 이 글이 주장하는 것은 거기까지이고, 「4분의 3」처럼 큰 수를 제목에 ",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "(라) 집필 선택"
  },
  {
   "관문": "C13",
   "이름": "「때문」 15년 × 2 × 2 = 60칸 가운데 절반 아래는 2011년 노년·동 ",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "(가·라) 근거변수 노년·절반"
  },
  {
   "관문": "C13",
   "이름": "「이유는」 이 문장을 적는 이유는 「그래서 격차가 벌어졌다」로 잇기 위해서가 아니라",
   "통과": true,
   "등급": "OK",
   "잼": true,
   "사람": false,
   "한마디": "(라) 집필 선택"
  }
 ],
 "줄": [
  {
   "등급": "OK",
   "관문": "C0",
   "말": "구분 값 이상 없음 (계산·인용·해석)"
  },
  {
   "등급": "OK",
   "관문": "C1",
   "말": "인용행 메타 이상 없음 (원문위치·URL·기준일까지 확인)"
  },
  {
   "등급": "OK",
   "관문": "C2",
   "말": "파생값 90건 원자료와 일치"
  },
  {
   "등급": "OK",
   "관문": "C3",
   "말": "같은 지표·대상의 값 충돌 없음"
  },
  {
   "등급": "OK",
   "관문": "C4",
   "말": "본문 통계 수치가 모두 대장에 등록됨"
  },
  {
   "등급": "OK",
   "관문": "C5",
   "말": "해석 주장에 유보 표현이 붙어 있음"
  },
  {
   "등급": "OK",
   "관문": "C6",
   "말": "렌더링 이상 없음 (태그 유출·자리표시자·본문량·viewport·문서구조)"
  },
  {
   "등급": "OK",
   "관문": "C7",
   "말": "N72 주민등록인구: 대장 5,330.0 = KOSIS 재조회 5,330.0 (셀 1개)"
  },
  {
   "등급": "OK",
   "관문": "C7",
   "말": "원본 재조회 1건 일치 (대장 97행 중 출처식 1행)"
  },
  {
   "등급": "OK",
   "관문": "C8",
   "말": "주장 3건이 모두 계산으로 받쳐집니다 (역할이 붙은 근거 5개)"
  },
  {
   "등급": "OK",
   "관문": "C9",
   "말": "비율성 행 76건이 모두 분모를 짚습니다 (그중 «해당없음» 선언 45건)"
  },
  {
   "등급": "OK",
   "관문": "C10",
   "말": "한계 14건이 모두 값 또는 이유를 갖췄습니다 · 값을 댄 것 9건 · 「말하지 않는다」 5건"
  },
  {
   "등급": "OK",
   "관문": "C11",
   "말": "개인 수준 전이 주장 없음 (낱말 14개 · 인용부호 안과 부정문은 세지 않음)"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "'원자료' #1(자료/읍면동인구_경기_2011_2025.csv) 선언 5칸"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "'원자료' #2(자료/시군이름_경기.csv) 선언 5칸"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "'분석표' 선언 3칸"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "분석표 지문 일치 (c41513146638…)"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "원자료 지문 일치 (읍면동인구_경기_2011_2025.csv · c727664c77a1…)"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "원자료 지문 일치 (시군이름_경기.csv · add6d2a1c5c9…)"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "코드 지문 일치 (7b51e4237ec2…)"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "prep.py 가 대는 데이터 파일 이름 4개가 모두 선언 또는 산출물 안에 있습니다"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "재현 검사 통과 — 다시 돌려도 같은 분석표"
  },
  {
   "등급": "OK",
   "관문": "C12",
   "말": "정제 규칙 11개 · 버린 행 합계 1"
  },
  {
   "등급": "OK",
   "관문": "C13",
   "말": "인과 표현 3건이 모두 근거를 짚거나 유보를 선언합니다 (변수 98개와 대조)"
  }
 ]
}