← 계열사 전체

시스템 기준서두 축 — 긴급 감시(mGSCS)·동향 관측(SK SIGNAL) — 이 하는 것과 하지 않는 것, 거르는 법과 고치는 법. 손으로 쓰지 않고 코드에서 뽑습니다. 게이트 결과는 이번 빌드의 실행값입니다.
게이트
14
전부 외부 호출 0
판정 코드
39
HARD 22 · soft 17
이번 빌드 게이트 결과
12/12
캡처가 아니라 실행 결과
주장한다
  • 긴급 축 — 공개 재난 정보를 다섯 게이트로 걸러 등급을 매기고, 걸린 사업장이 있을 때만 사람이 알린다
  • 동향 축 — 공개 정보에서 계열사별 사건을 모아 형식 정합을 기계로 검증하고, 회사별 관측축으로 파일 하나에 낸다
  • 게이트는 실제 사고에서 나왔고, 정한 이유와 고친 기록이 함께 간다
주장하지 않는다
  • 진위를 기계가 보증한다 — 게이트를 다 통과해도 사람이 본다
  • 내부 의사결정·재고·계약의 추정
  • AI 구간의 재현율 100%
  • 두 축을 자동으로 잇는 엔진 — 인계는 지금 사람이 하고, 연결 화면의 사건 표본은 구조만 실제다

0. 계보

어디에서 왔고 어떻게 넓어졌는가 — 원류에서 전수까지 여섯 단

구조가 관점을 옮겨도 서는지 먼저 두 번 이식으로 확인했고, 그 다음에 전수로 갔습니다.

①
m-SIGNAL — 원류
왜
반도체 소재 관점의 주간 동향 관측. 근거 URL·발행일 필수, 확인불가는 확인불가로, 갈리는 수치는 병기 — 이 규율 전부가 여기서 왔다
승계원
②
이식 두 번 — 기획 단계 제출
왜
배터리 소재 판과 그룹 사업축 판. 같은 골격·같은 검증 규율·다른 데이터. 두 판의 성숙도 격차는 숨기지 않고 기획서에 명시했다
예선
③
계열사별 리서치·검증
왜
회사마다 무엇을 관측할지부터 그 회사를 조사해 정한다. 조사는 AI, 근거의 실재는 코드, 채택은 사람
AI+코드+사람
④
영역 세분화
왜
검증을 통과한 리서치가 회사별 관측축·메뉴가 된다. 무엇을 안 보기로 했고 왜인지까지 구성 사유로 남긴다 — 빈칸을 다음 사람이 추정으로 채우지 않게
판정
⑤
계열사 관계
왜
계열사는 목록이 아니라 관계다. 지배구조 계통도와 전이 원장 — 한 사건이 어느 계열사로 번지는가가 통합의 이유다
동향 축
⑥
계열사 전수 SIGNAL
왜
이 전 과정을 33사 전수로 돌린 결과. 주간 수집 → 게이트 → 적재 → 재생성, 산출물은 외부 호출 0의 단일 파일
본선

긴급 축의 계보는 따로 있습니다. mGSCS는 사내 재난 대응 이력에서 나온 원류이고, 두 축은 2026-08-26 연결 규약(data/bridge_spec.json)에서 만났습니다. 그쪽 기준은 「긴급 축 기준」 절에, 두 축이 서로 가져온 것은 「하네스」 절에, 여섯 체계의 상태를 한 표에 놓은 것은 「m-BRIDGE를 이루는 체계」 절에 있습니다.

1. 원칙 다섯

실데이터만
지어낸 사건·수치·URL은 산출물 폐기 사유. 확인 못 한 것은 「확인불가」로 적고 비워 두지 않는다
틀린 것을 싣지 않는 것이 많이 싣는 것보다 중요하다
게이트는 의심스러우면 막는 쪽으로 기울어 있다. 건수 목표를 두지 않는다
출처가 갈리면 병기
한쪽을 고르지 않는다. 고르는 순간 그 선택이 근거 없는 판정이 된다
규칙은 한 곳에
enum·금지어·차단 도메인은 collect_spec.py 하나를 세 경로가 읽는다. 복제본은 반드시 낡는다
외부 호출 0 · 결정론 · 사람이 마지막
단일 HTML로 사내망에서 열리고, 같은 입력이면 같은 바이트가 나오며, 되돌릴 수 없는 일(발송·채택)은 사람이 한다

2. 계통

다섯 단계. 사람은 마지막에 섭니다

각 단계는 무엇을 통과해야 다음으로 가는지가 정해져 있습니다. 색이 다른 칸이 사람이 서는 자리입니다.

①
지시
왜
회사별 관측축에서 수집 지시서를 뽑는다. 회사마다 다른 지시가 나간다
코드
②
수집
왜
지시에 걸리는 사건만 공개 소스에서 찾아 근거 URL·발행일과 함께 돌려보낸다
AI
③
판정
왜
게이트 14종. HARD가 하나라도 있으면 다음으로 가지 않는다
코드
④
적재
왜
통과한 것만 정본에 쌓인다. 판정 안 된 시그널로 화면을 만들지 않는다
코드
⑤
산출물·채택
왜
화면 43개·주간 리포트·카드뉴스가 같은 절차에서 나온다. 진위와 채택은 사람이 보고, 배포물은 만들어 두고 사람이 올린다
사람

3. 게이트

무엇을 잡고, 이번 빌드에서 어땠는가

선행 운영판(m-SIGNAL)에서 하루에 잘못된 시그널 4건이 발행된 뒤 발견됐습니다 — 넷 다 과거 사건을 당주로 옮겨 적은 것.

경위
원인은 하나 — 검색 요약만 보고 발행일을 확인하지 않았습니다. 같은 날 외부 수집 회신이 실적 수치를 2년 전 값으로 적은 조작도 두 번 들어왔습니다. 게이트는 그 두 사고에서 나왔습니다.
게이트잡는 것HARD 판정이번 빌드출력
validate_ia.pyIA 게이트 — 관측축·메뉴·근거 URL의 구조 결함BADDATE · FRONTURL · NODATE · NOURL · SLUGURL통과회사 33 · 판정 0건 (HARD 0 · SOFT 0)
validate_intake.py수집 회신 판정 — 외부에서 돌아온 것을 그대로 믿지 않는다BADDATE · BADSECTOR · BADSEV · BADSRC · BLOCKED · DUPKEY · FORBIDDEN · FRONTURL · NOANCHOR · NOCITE · NODATE · NOURL · ORPHANCITE · OUTOFWINDOW · SLUGURL통과파일 28 · 시그널 115 · 인용 224 (tier1 60) · 미해결 289
audit_dates.py인용 발행일 ↔ 사건일 불일치 — 과거 사건을 최근으로 옮겨 적기BADDATE · NOANCHOR통과[audit_dates] 판정 10건 (HARD 0) — 인박스 115 · 스토어 115 · IA events 218
audit_numbers.py실적 수치가 다른 시점인데 원 단위까지 일치 — 조작BASECONFLICT · REPEAT통과[audit_numbers] 판정 0건 — 실적 수치 472개 대조
audit_links.pyURL 형태·차단 도메인·산출물 최신성·외부 호출BADURL · BLOCKED · FRONTURL · SLUGURL · STALE_ART · URLDEAD빌드 후 검증에서산출물 최신성을 보는 게이트라 이 화면 안에서 돌리면 결정론이 깨진다. rebuild_all.py의 빌드 후 검증에서 돈다
audit_style.py문체 — 질문형·서술형 제목, AI 상투어, 조사 띄어쓰기, 표 말끝 섞임CLICHE · HEADASK · HEADTAIL · LONGBLOCK · SPACING · TABLEMIX통과[audit_style] 판정 22건 — 화면 43개
audit_dupes.py같은 사건이 두 행으로 적재됨DUPKEY · DUPTITLE통과[audit_dupes] 판정 38건 (HARD 0) — 시그널 230건 검사
audit_axes.py축 어휘가 정본을 벗어나 두 층이 안 이어짐 — 「없음」과 「못 이음」의 혼동AXISLABEL · JOINDROP통과[audit_axes] 판정 2건 (HARD 0 · soft 2) — 시그널 115 · 전이 58
audit_collect.py수집 축이 끊겼는데 산출물은 정상으로 보임 — 「안 들어온 것」AXISDROP · SRCSTALE통과[audit_collect] 판정 2건 (HARD 0 · soft 2) — 원천 6층
validate_monthly.py월간 층 회신 판정 — rcpNo·DOI·공보번호 형태 · 회사·축 매핑 · 검증자 판정(DEAD/MISMATCH 제외)—통과[validate_monthly] 파일 4 · 항목 841 · 판정 358건 (HARD 0 · soft 358)
audit_scope.py대조량 — 「볼 것이 없었다」가 「통과」로 보고되는 것을 막는다—통과[audit_scope] 대조량 — 코퍼스 14종 · 기준선 14종
audit_docs.py문서 표류 — 손으로 적은 수가 실측과 다른가 · 판정마다 강제 수단이 적혀 있는가—빌드 후 검증에서산출물(단일본)의 화면 수를 세는 게이트라 이 화면 안에서 돌리면 직전 빌드를 읽게 된다. rebuild_all.py의 빌드 전 게이트에서 돈다
audit_design.py화면 규약 — 임의 px·토큰 밖 색·의미 클래스가 있는 조합의 인라인 재작성—통과[audit_design] 판정 0건 (HARD 0 · soft 0) — 인라인 style 219곳 (상한 220)
audit_canary.py게이트가 아직 도는가 — 심어 둔 결함을 잡지 못하면 실패—통과[audit_canary] 생존 14/14
게이트가 아닌 도구 4종 — 네트워크 사용으로 분리
도구하는 일게이트와의 관계
check_urls.pyURL 실재 검사 — 형태는 멀쩡한데 존재하지 않는 URL을 잡는다결과를 data/url_check.json에 남기고, audit_links가 그것을 **오프라인으로** 읽는다
measure_ai.pyAI 구간 재현율·회수율 실측주장하지 않고 잰다. 결정론 구간은 audit_canary가 따로 본다
export_metrics.py실측값 내보내기 — 기획서를 쓰는 쪽에 넘길 숫자손으로 옮기면 어긋난다. 정본과 산출물을 읽어 그 시점의 값을 낸다
build_dist.py배포 패키지 조립 + **배포물 자체 감사**게이트의 경계는 인박스가 아니라 배포 폴더까지다

4. 교정 플로우

틀린 것이 발견되면

게이트를 통과시키는 것이 목적이 아니라 원인을 없애는 것이 목적입니다. 여섯 단계를 건너뛰지 않습니다. 틀린 것을 흔적 없이 지우지 않습니다.

1
발견
왜
게이트 판정, 카나리아 사망, 사람 지적, 1차 자료 대조 — 어디서 왔든 같은 길로 들어온다
코드
2
판정
왜
HARD 면 멈춘다. soft 면 표시만 하고 사람이 본다. 판정을 지워서 통과시키지 않는다
사람
3
원인 제거
왜
데이터가 틀렸으면 인박스를 고쳐 다시 적재한다. 규칙이 틀렸으면 규칙을 고친다 — 게이트가 과잉이면 게이트가 틀린 것이다
사람
4
기록
왜
정정이력에 C-번호로 남긴다 — 무엇이 틀렸고, 어떻게 알았고, 무엇으로 바꿨고, 무엇이 재발을 막는가
사람
5
게이트 반영
왜
같은 결함을 잡는 판정을 게이트에 넣고, 카나리아에 그 결함을 심는다. 과잉 게이트였다면 정상본을 심는다
코드
6
재생성·확인
왜
rebuild_all로 전량 재생성. 게이트 전건 통과와 결정론(같은 입력 → 같은 지문)을 확인한다
코드
실측 예 — C-007 (2026-08-26)
  1. 금지어 정본에서 단어 하나를 빼자 카나리아가 8/9로 죽었다
  2. HARD, 멈춤
  3. 원인은 fixture가 그 단어를 글자로 박아 둔 것 — 규칙이 두 곳에 있었다
  4. 정정이력 C-007
  5. fixture가 정본을 읽도록 고침
  6. 재생성, 9/9, 지문 동일
이 흐름이 반복돼 정정 64건·판정 83건이 쌓였습니다. 그중 둘은 정상 데이터 92건을 잡던 과잉 게이트를 게이트 쪽을 고쳐 푼 것입니다(C-004 · C-005).
판정 코드 사전 39종 — 뜻과 손댈 곳
코드등급뜻손댈 곳
STALEHARD인용 기사가 사건일보다 30일 이상 과거과거 사건을 당주로 옮겨 적은 것이다. 시그널을 뺀다
FUTUREHARD인용 발행일이 사건일보다 미래날짜 오타이거나 그 사건의 인용이 아니다
REPEATHARD같은 지표가 다른 시점인데 원 단위까지 일치1차 자료로 확인하고 정정하거나 뺀다
SLUGURLHARD사람이 읽는 슬러그 URL지어낸 것이다. 배치째 의심한다
FRONTURLHARD대문·섹션 URL 단독 인용기사가 아니다. 뺀다
BLOCKEDHARD시장조사 SEO·리포트밀 도메인1차 출처로 대체하거나 그 항목을 버린다
NOURLHARD근거 URL 없는 사건근거 없는 사건은 뺀다
NODATEHARD인용에 발행일 없음발행일 미확인 인용은 싣지 않는다
FORBIDDENHARD외부 노출 금지어 포함산출물이 사외로 나간다. 즉시 제거
BADSEV / BADSECTOR / BADSRCHARDenum 밖의 값정본은 collect_spec.py 하나다
DUPKEY / DUPURL / DUPTITLEHARD같은 사건이 두 행같은 이슈는 한 행으로 갱신한다
STALE_ARTHARD산출물이 입력보다 오래됨생성기·데이터를 고치고 재빌드하지 않았다. 과거 실제 사고
EXTCALLHARD외부 리소스 호출사내망 CDN 차단 환경에서 깨진다
URLDEADHARD근거 URL이 실제로 사라짐(404/410)대체 근거를 찾거나 그 항목을 뺀다
BADRCP / BADDOI / BADPUBHARD월간 층 식별자(rcpNo·DOI·공보번호) 형태가 틀리거나 url과 다름지어낸 것이다. 항목을 뺀다
DEAD (검증자)HARD검증 에이전트가 식별자를 열어 사멸·불일치로 판정정본에 넣지 않는다. 인박스에는 감사용으로 남긴다
UNCHK / NOAXIS (월간)soft검증자가 못 본 항목 · 관측축 매핑 없음사람이 본다. 축 매핑이 비면 그 회사 축 정의를 의심한다
URLUNCHECKEDsoftURL 실재를 확인한 적 없음형태만 통과했다. check_urls.py를 돈다
URLERRsoft연결 실패·타임아웃사멸과 다르다. 재검사한다
HALFCONFLICTsoft같은 시점인데 값이 갈림양쪽 병기. 한쪽을 고르지 않는다
IMPERATIVEsoft영향 서술이 권고·명령형서술형만. '해야 한다' 대신 '~로 보도됐다'
NOAXISsoft대응 관측축을 밝히지 않음축에 안 걸리면 이 회사 시그널이 아니다
NOTIER1soft1차 자료 인용 0건보강하거나 confidence_note에 명시
XCOMPANYsoft같은 근거가 여러 회사에 걸림계열사 시스템에서는 정상일 수 있다. 사람이 본다
UNVERIFIEDsoft명부 재검증에서 확인 못 함추측으로 OK를 내지 않는다
NOANCHORHARD사건일을 정박하는 인용이 없음 — 발행일이 사건일 창 밖사건이 그 인용으로 서지 않는다. 사건일에 닿는 인용을 찾거나 뺀다
NOCITEHARD인용이 0건인 시그널근거 없는 시그널은 싣지 않는다
ORPHANCITEHARD본문에 붙지 않은 인용인용은 시그널에 걸려야 한다. 어느 행에도 안 걸린 인용은 뺀다
OUTOFWINDOWHARD사건일이 수집 회차 창 밖과거 사건을 이번 회차로 옮겨 적은 것이다. 회차를 바로잡거나 뺀다
AXISDROPHARD닫힌 회차인데 들어온 것이 0고장이다. 수집 경로를 본다 — 「없음을 가르는 법」 절
SRCSTALEHARD원천 층의 갱신이 멎음산출물은 정상으로 보이는데 입력이 낡았다. 원천을 본다
NOHEADLINEsoft인용에 제목 없음제목 없는 인용은 무엇을 인용했는지 알 수 없다. 원문을 열어 채운다
BADAXISsoft정본에 없는 관측축을 가리킴축 밖의 값은 그 회사 시그널이 아니다. 축 정의를 보거나 시그널을 옮긴다
INTERPsoft귀속 없는 해석·성격 규정누가 그렇게 말했는지를 붙인다. 우리 판정으로 부호를 붙이지 않는다
AXISHELDsoft보류한 회차 — 회신이 지시서에 못 미침삭제가 아니다. 회신이 차면 되돌린다
AXISPENDsoft아직 닫을 때가 아닌 회차구멍이 아니다. 마감 뒤에 본다
AXISHOLEsoft지나간 회차의 누락보고만 하고 막지 않는다
NOCLOCKsoft신선도를 잴 날짜 자체가 없음나쁜 것과 다르다. 날짜 필드를 세운다
NOROUTEsoft수집 경로를 두지 않기로 함고장이 아니라 의도다. 이유가 적혀 있어야 한다

5. AI 구간과 사람 구간

후보·축 매칭·요약까지가 AI, 형태 검사는 결정론 코드, 진위·채택·발행은 사람. AI 구간의 재현율 100%를 주장하지 않습니다 — 그래서 그 위에 결정론 층을 둡니다.

단계주체하는 일보장 범위
수집 — 후보 발굴AI회사별 관측축에 걸리는 사건을 공개 소스에서 찾는다재현 보장 없음. 온도 0이어도 동일 출력을 약속하지 않는다
수집 — 축 매칭AI찾은 사건이 어느 관측축에 걸리는지 제안한다축 밖의 값을 내면 게이트가 BADAXIS로 거부
수집 — 요약AI사실 → 수치 순으로 요약문을 만든다결론·전망·대응 방향은 쓰지 않는다
판정 — 형태 검사결정론URL 형태·발행일 정합·enum·중복·금지어같은 입력이면 항상 같은 판정
판정 — 진위사람주장이 사실인가게이트 셋을 다 통과해도 진위는 사람이 본다
채택 — 적재 여부사람무엇을 싣고 무엇을 버리는가AI는 후보와 근거를 내는 데까지
발행 — 배포사람배포물은 나가면 되돌릴 수 없다발송 자동화하지 않는다

AI 구간 실측

주장하지 않고 잽니다

리서치 재현율 — 같은 지시로 같은 회사를 두 번 리서치했을 때의 일치도 (19사)
축 라벨
0.077
메뉴 라벨
0.401
근거 URL
0.277
이 값은 일치도이지 정확도가 아닙니다. 낮은 값이 곧 결과가 틀렸다는 뜻은 아닙니다. 다만 근거 URL 겹침이 낮은 것은 두 회차가 **서로 다른 사건**을 찾았다는 뜻이고, 그러면 한 번의 수집이 찾을 수 있는 것의 일부만 잡는다는 의미가 됩니다.
왜 중요한가 — AI 구간이 재현되지 않기 때문에 결정론 게이트 층이 필요합니다. 게이트는 같은 입력이면 항상 같은 판정을 내며, 그 사실은 결함 주입 검사로 확인합니다.
회사별 실측
회사축 라벨메뉴근거 URL겹친/합집합
SKIET0.00.2780.33/10
SK오션플랜트0.00.2780.11/10
SK디앤디0.00.0480.2862/7
SK엔무브0.1430.8330.4293/7
드림어스컴퍼니0.00.1760.251/4
SK브로드밴드0.00.2630.00/16
SK이노베이션E&S0.00.50.2313/13
SK리츠0.0620.6430.52/4
SK에코플랜트0.1330.5330.84/5
SK시그넷0.1330.2110.2313/13
티맵모빌리티0.00.2940.2313/13
SK플라즈마0.0670.4290.0671/15
SK팜테코0.00.3530.4555/11
SK주식회사AX0.1330.6150.44/10
SK에코플랜트머티리얼즈0.60.9170.2313/13
SK지오센트릭0.0620.4670.1542/13
SK에너지0.0590.1760.0671/15
SK플래닛0.00.3120.2862/7
11번가0.0620.2940.253/12

6. 긴급 축 기준

mGSCS에서 승계한 판정 기준 — 판정은 코드, 발송은 사람

게이트는 「점검 메일을 보낼 자격」을 가리고, 생산영향 등급은 「얼마나 급한가」를 잽니다. 두 질문은 축이 다릅니다. 예전에는 게이트 조합으로 급함을 대신 재서 「우리와 무관한데 센 사건」과 「우리 권역인데 약한 사건」이 같은 칸에 들어갔습니다.

게이트
5
pass · fail · unknown
생산영향 등급
4
사이트마다 재고 최댓값
결정 원장
31
mGSCS D-번호 · 회귀 시험 함수 15
게이트 5 — 점검 메일을 보낼 자격
게이트이름묻는 것
G1지리 근접지역 정합 BP가 실제로 있는가
G2소재군 직접 노출판정 축 소재군이 있고, 그 소재군이 그 지역에 있는가
G3출처 공식성공식 기관 출처인가. 공식이면 단독으로 충분하고, 아니면 G5가 독립 출처 2곳을 요구한다
G4실제 중단 정황근거 문장이 '일어난 일' 을 말하는가
G5사실 확인공식이면 단독도 충분, 아니면 독립 출처 2곳 이상
생산영향 등급 PI — 얼마나 급한가
등급뜻
PI-3긴급
PI-2점검
PI-1참고
PI-0무관
취약도별 MMI 문턱(이 값부터 PI-2) precision 5.0 · general 6.0 · warehouse 7.0 · PI-3은 MMI 8.0부터, 취약도 무관
후보 반경 300.0km · S 등급 PI-3 → S1 · PI-2 → S2 · PI-1 → S3 · PI-0 → S4
발송 경계 실측 — 서버 패키지에 smtplib이 없다 — 메일은 초안까지. 봇 토큰은 저장소에 없다.
토큰 · 시험
봇 토큰은 비밀값(SECRETS)으로 분리돼 있고 기본값이 비어 있다 — 저장소 어디에도 값이 없다. 조기경보는 사외 인스턴스에서 운영 중(텔레그램 비공개 방 공지 + 사외→사내 메일)이고 이 판은 그 값을 싣지 않는다. 시험 4종(drift_test · golden_test · regress_test · smoke_test) 전부 통과가 릴리스 조건이다.
규칙내용정본
깔때기 4단수집(코드·30분 주기) → 재난 선별(코드·범주 사전) → 연관(AI 후보 + 코드 5게이트) → 점검 대상(사람·이유 코드). 「재난 14건 중 연관 5건, 그중 2건 점검」으로 읽는다mgscs/docs_judgment_criteria.md §0
게이트는 3값pass·fail·unknown. 하나라도 pass가 아니면 monitor, 전부 pass 면 review. 명부 미설정은 fail이 아니라 unknown — 모름을 0으로 세지 않는다mgscs/servera/mgscs/gates.py
G4 부정·추측「차질 없어」·「우려·전망」은 중단이 아니다. 중단 표현이 있고 부정·추측 표현이 없어야 통과한다gates.py DISRUPTION·NEGATION·SPECULATION
출처 G3·G5공식 기관이면 단독으로 충분, 아니면 독립 출처 2곳. 공식을 필수로 두지 않는다 — 경보는 기관이, 중단 사실은 뉴스가 전하므로gates.py · mGSCS D-004
PI는 사이트마다생산영향 등급은 사업장 하나마다 재고 사건 등급은 그 최댓값(PAGER 방식). 곱셈이 아니라 표 조회 — 「왜 이 등급인가」를 설명할 수 있어야 한다mgscs/servera/mgscs/impact.py
관측이 추정을 이긴다세기는 ① 관측(시정촌 진도·ShakeMap) ② 추정(감쇠식) ③ 권역 순. 좌표가 없으면 PI-1로 사람이 본다impact.py · mGSCS D-010
강제 상향GDACS Red·PAGER Orange/Red·사업장 지목 + 정지 보도는 추정 진도와 무관하게 PI-3. 정황·Orange·Yellow는 PI-2 후보impact.py _forced_pi
사외는 매칭이 연다텔레그램은 등급이 아니라 「걸린 협력사 사업장이 있는가」로 연다. 세기를 못 재는 종류(봉쇄·파업·수출 금지)가 통째로 빠지지 않게. 소리는 S1 에만outbox.py channels_for · mGSCS D-007
채널별 정보사외 채널에는 회사·사업장·유형·세기·시각·사건 번호까지. 소재군·진도 상세·연락처는 사내 메일만. 내보내기 전에 본문을 정규식으로 재검사한다outbox.py · docs_judgment_criteria.md §5
사외 3중 잠금대상 없음·미검증·근거 URL 없음이면 나가지 않는다. PI 로만 등록된 사건은 미검증이라 사외로 못 나간다outbox.py · docs_judgment_criteria.md §5
LLM은 후보코드가 국가·지역·중단 여부·소재군을 스스로 뽑아 LLM 없이도 판정이 끝난다. LLM의 자기신고 확신도는 입력으로 받지 않는다mgscs/servera/mgscs/extract.py · mGSCS D-003
발송 경계서버에 SMTP가 없다. 초안(.eml)까지 만들고 [보내기]는 사람. 「보내나 0/N」은 결함이 아니라 의도한 경계mgscs/servera/mgscs/eml.py · mGSCS D-008·D-031
조용한 실패 금지심박은 「이상 없음」을 사람에게 보내지 않고, 끊기면 알린다. 일일 상태는 1차 출처가 실패하면 「이상 없음」 대신 「부분 점검」outbox.beat · daily_status.py
토큰 없으면 failed봇 토큰은 비밀값으로 분리돼 저장소에 없다. 없으면 사외 줄은 failed로 쌓인다. 조기경보는 사외 인스턴스에서 운영 중(텔레그램 비공개 방 + 사외→사내 메일)이고 제출판에는 토큰·발송 계정이 없다telegram.py · alert_config.py SECRETS · C-052

협력사·사업장 실명, 사내 시스템 주소, 연락처는 이 절에 옮기지 않습니다. 규모는 자릿수로만 적습니다.

7. 원류 규율

m-SIGNAL에서 승계한 것 — 동향 축 게이트는 이 규율의 코드화입니다

원류는 반도체 소재 관점의 주간 관측 체계이고, 규율은 그쪽 CONTRACT에서 왔습니다. 이식판 두 곳과 이 체계가 같은 규율을 지키며, 규율을 코드로 옮긴 것이 3절의 게이트입니다. 사내 관점이 담긴 원문 화면은 반출하지 않습니다.

규율내용어디서 왔고 무엇이 됐나
실데이터만지어낸 사건·수치·URL은 산출물 폐기 사유m-SIGNAL CONTRACT ①
URL은 숫자 기사 ID사람이 읽는 슬러그·대문·섹션 URL 단독 인용은 폐기. 지어낸 URL은 슬러그 꼴로 온다(수집자 실측)CONTRACT ② → 게이트 SLUGURL·FRONTURL
발행일·제목 필수citations[].pub_date와 headline이 없는 인용은 싣지 않는다. 2026-07-31 사고의 원인이 이것이었다CONTRACT ③ → NODATE·NOHEADLINE
사건일 ↔ 발행일 정합인용이 사건보다 30일 넘게 과거면 과거 사건을 당주로 옮겨 적은 것CONTRACT ④ → STALE·FUTURE
확인불가는 확인불가로확인 못 한 것은 confidence_note에 「확인불가」. 빈칸·추정 금지CONTRACT ⑤ → 「없음을 가르는 법」 절
갈리면 병기매체마다 수치가 다르면 병기한다. 한쪽을 고르지 않는다. 근거 없는 수치는 병기가 아니라 삭제CONTRACT ⑥ · SK-SIGNAL CONTRACT §2-8
내부 사정 단정 금지영향 서술은 「~로 보도됐다」. 권고·명령형 금지. 계열 관계·지분율은 공시·공정위 기준CONTRACT ⑦⑧ → IMPERATIVE
정본은 한 곳열거값·금지어·차단 도메인은 collect_spec.py 하나를 세 경로(지시·수집·적재)가 읽는다. 복제본이 정본과 어긋난 사고에서 왔다m-SIGNAL D-029 → G-012
수집자는 판정하지 않는다후보와 근거를 내는 데까지가 수집. 채택은 여기서 한다. 수집자 신뢰도는 실측으로 정하되 한 번의 측정으로 순위를 고정하지 않는다signal-crawl 규율 · 수집 규율 15조
건수 목표 없음없으면 없다고 낸다. unresolved를 비워 두면 「전부 찾았다」는 주장이 된다설명서 §5 · NOUNRESOLVED
이식은 대장에 먼저코드를 고치기 전에 이식대장에 적는다. 이식 비용 = 값 교체 · 이름 교체 · 검사 존폐 판단, 마지막은 사람m-SIGNAL-SK/docs/이식대장.md
합치지 않고 관계만두 축을 잇는 층은 same_event·follows·context·distinct_but_similar 관계만 든다. 합치면 틀렸을 때 행이 사라진다m-SIGNAL D-072 → bridge_relations.json

8. 하네스

모델을 뺀 에이전트의 전부 — 두 축을 같은 방식으로 움직이게 하는 것

바뀌는 것은 데이터 파일(관측축·명부·수집 정본)이고 바뀌지 않는 것이 하네스입니다. 동향 축에서는 반도체 → 배터리 → 그룹 사업 축 → 계열사 33사로 옮기며 이것을 실측했고, 긴급 축은 같은 원리로 설계했으나 다른 시스템으로 옮긴 실증은 아직 없습니다.

구성요소하는 일실물
스킬관측축 도출 · 시그널 수집·판정·적재 · 재빌드 절차를 작업할 때 함께 열리는 지시서로 고정.claude/skills/
수집 정본 한 파일열거값·금지어·차단 도메인·출처 등급을 한 곳에 두고 지시·수집·적재 검증 세 경로가 읽는다src/collect_spec.py
게이트같은 입력에 같은 답. HARD가 하나라도 있으면 다음 단계로 가지 않는다src/rebuild_all.py PRE·POST
카나리아결함 표본과 정상본을 함께 넣어 결함은 잡히고 정상은 통과하는지 매 빌드 확인. 오탐이 많은 게이트는 무시당하는 게이트다src/rebuild_all.py
결정론 빌드같은 데이터로 다시 빌드하면 같은 바이트. 지문으로 확인한다rebuild_all.py 지문
문서 표류 게이트설명서·기준서·연결 화면에 손으로 적은 게이트 수·화면 수·시그널 수·관측축 수를 실측과 대조src/audit_docs.py
판정 이력 강제 매핑판정마다 어느 게이트가 그것을 강제하는지 적는다. 강제 수단 없는 판정은 상한까지만docs/강제매핑.json · audit_docs TODO
계정 분리조사 전담 계정은 정본에 쓰지 못하도록 도구 수준에서 막았다계정 B 권한

두 축의 교환 규칙

무엇을 서로 가져왔고, 인계는 어느 방향으로 가는가

규칙내용근거
인계 방향긴급 축에서 확정된 위험은 사건 창이 닫히기 전에 키워드(지역·소재군·회사·조치)로 동향 축 이슈 타임라인에 붙인다. 긴급 축의 만료가 동향 축에서는 소강이다docs_judgment_criteria.md §3-3 · bridge_relations.json
지금은 손으로이 인계는 현재 사람이 한다. 자동 인계와 만료 통지는 로드맵 항목이다data/bridge_spec.json not_claimed
정본 표소재군 분류·출처 등급·보고 양식은 동향 축이 정본, 지명 참조표·세기(PI)는 긴급 축이 정본. 같은 값을 두 곳에 두지 않는다mgscs/docs_system_chart.md
긴급 → 동향G4 부정·추측 판정 → 전망 단정을 잡는 게이트(INTERP) · 결정 이유 코드 · 판정 0건 경보bridge_spec.exchange.gscs_to_signal
동향 → 긴급출처 tier와 1차 자료 비율 · URL 형태·발행일 정박·중복 게이트 · 「미해결·관측 불가」정식 출력 · 재현성 분리 측정bridge_spec.exchange.signal_to_gscs
이관은 결과 + 근거못 잰 값은 비워 보내고 이유를 적는다. 상대 축이 기본값으로 채우지 않는다mGSCS D-020
규칙을 바꾸면 상대 표본한쪽 규칙을 고치면 상대 축 표본을 돌려 본다. 규칙이 두 축에서 다르게 살아남지 않게docs_system_chart.md 원칙 10
문체화면은 명사 종결, 메일·안내는 존댓말, 경보는 읽을 사람의 말로m-SIGNAL D-046 · mGSCS D-022·D-030 · G-063
업계 지침과의 대응 4 — 준수 주장이 아니라 같은 방향의 표시
지침무엇을 요구하나 · 우리는 어떻게실물
EU AI Act 제14조 — 사람의 감독출력을 번복·정지할 수 있어야 한다. 승인 버튼이 아니라 발송 능력의 부재로 구현했다 — 승인 버튼은 반복되면 습관이 되어 감독이 퇴화하기 쉽다고 봤다발송 경계 · 사외 3중 잠금
ICD 203 — 분석 기준출처 요약 진술과 확신도 표기. 출처 등급(T1 3단)과 「확인불가」정식 출력은 있고, 확신도 규약은 아직 없다 — 다음 단계원류 규율 ⑤ · 로드맵
CAP 1.2 — 경보 규격심각도·긴급도·확실도 3축과 응답형. 긴급 축의 SI/U/C와 Assess·Monitor·AllClear가 승계했고 Execute는 두지 않았다docs_judgment_criteria.md §3-1
dead-man's switch「이상 없음」이 오지 않으면 감시가 멎은 것. 심박·일일 상태·대조량 게이트가 같은 원리outbox.beat · audit_scope

9. 로드맵

현재 위치 = 데이터 실측 · 수기 금지

단계무엇실측상태비고
0신뢰게이트 14종 + 빌드 후 검증 2종 · 판정 코드 39 · 카나리아 결함 주입 + 정상본 음성 검사운영정정 64건 · 판정 근거 83건이 게이트와 함께 쌓였다. 그중 둘은 정상 데이터를 잡던 과잉 게이트를 게이트 쪽을 고쳐 푼 것
1명부 · 관측축33사 전건 재검증 · 관측축 309개 (회사마다 다르다)운영공정위 지정 기준일과 재검증일을 화면에 함께 표시한다. 이탈·소멸도 지우지 않고 상태를 붙인다
2주간 층 — 시그널시그널 115건 · 인용 224건 · 계열사 간 전이 58건 (측정 불가 65건 별도 기재)운영 · 첫 전주 대비는 다음 주차전이는 근거 있는 연결만 싣고, 잴 수 없는 것은 「측정 불가」를 정식 결과로 남긴다
3월간 층 — 원장공시 329건 · 논문 154건 · 특허 76건 · 사업장 251건첫 회차찾지 못한 것 109건·두지 않은 것 59건 전건 기재. 독립 검증자가 전 트랙을 반박 검사해 논문 30편을 실재-비저술로 제외했다
4연결 — 두 축긴급 축(생산영향 등급 PI-0~3 알람 기준) ↔ 동향 축(여섯 층) 상호 이식 조건 명문화기준 확정 · 최소 실증(가상 사건 5건 × 사업장 251곳 조인) · 관계 원장 1건실사건 원장으로 같은 조인을 돌리는 것이 다음 할 일 표의 다섯째 항이다. 인계는 지금 사람이 한다
5AI 실측재현율·리서치 일치도·회수율측정값 게시측정 전에는 수치를 쓰지 않는다. 잰 값만 §5에 온다
다음 8 — 있는 기계 켜기 우선
순위무엇왜 여기부터
0주간 전주 대비 첫 값시계열은 두 점부터다. WW35가 첫 점이고 WW36 수집이 끝나야 「전주 대비」칸이 처음 채워진다
1월간 층 2회차첫 회차는 스냅샷이다. 전월 대비 증감이 생겨야 「층」이라는 이름값을 한다
2P0·P1에 1차 자료 필수 래칫선행 운영판 실측 — 심각도가 높을수록 1차 자료가 없다. P0의 89%(19건 중 17건 · m-SIGNAL 인박스 WW01~WW35 · 2026-08-31 실측 · 근거는 그쪽 저장소). 모수가 19라 한 건이 5%p를 움직인다. 급보일수록 원문이 늦게 나오는 구조라, 나중에 원문으로 되짚는 절차가 답이다. 소급하지 않고 기준선 뒤로만 요구한다
3검증자 잔여분 재검사 큐BLOCKED(봇 차단)·UNCHECKED는 사멸이 아니라 미확인이다. 미확인을 확인으로 승격하는 별도 큐를 돌린다
4실행 기록 한 줄입력 해시 · 게이트 판정 · 산출물 지문을 실행마다 한 줄로 남긴다. 부품(지문·검증결과)은 이미 있고 묶는 일만 남았다
5사업장 × 재난 판정 조인 — 실사건으로월간 층의 사업장 원장이 긴급 축(생산영향 등급 PI-0~3)의 명부가 된다. 연결 화면의 최소 실증은 가상 사건 5건 × 사업장 251곳이고, 실사건 원장으로 같은 조인을 돌리는 것이 다음이다. 두 축이 실제로 만나는 지점이고, 외부에서 복제할 수 없는 연결이다
6확신도 규약출처 등급과 「확인불가」는 있지만 판정 하나하나의 확신도(ICD 203의 표기)는 없다. 규약을 세우기 전에는 확신도를 쓰지 않는다 — 없는 것을 있는 척하지 않는 쪽이 먼저다
7자동 인계 · 만료 통지긴급 축의 확정 위험을 키워드로 동향 축에 옮기는 일은 지금 사람이 한다. 인계 자체는 자동으로, 인계 여부의 승인은 사람에게 — 그리고 사건 창이 닫힐 때 동향 축이 통지를 받는다
하지 않기로 한 것 8 — 기록 = 재논의 차단
하지 않는다왜
LLM으로 요약·초록을 생성해 본문을 채우기재현 불가·환각. 자른 것은 원문으로 되돌아가지만 지어낸 것은 되돌아갈 데가 없다. 본문은 원문 인용과 결정론 집계로만 만든다
발송 자동화배포물은 나가면 되돌릴 수 없다. 만들어 두고 사람이 보낸다
별도 그래프 DBJSON 정본 + 단일 HTML로 같은 효용을 낸다. 폐쇄망에서 열리는 것이 그래프 질의보다 먼저다
미래 시나리오·확률 예측(기본/상승/하락)가설을 세우지 않고 **가설이 깨지는 지점**을 표시한다. 관측축의 cadence·why가 그 지점이며, 정보분석 실무에서 Indicators/Signposts of Change 라 부르는 것과 같은 자리다. 형제 시스템이 이 결정을 원장에 안 적어 두었다가 걷어낸 시나리오 코드가 빌더에 그대로 남았다 — **조건이 없으면 결정이 아니라 관습이 되고, 관습은 코드를 못 지운다.** 그래서 여기 적는다
사건에 우리가 기회·위기의 부호를 붙이기전이 원장은 `direction` 을 들지만 그것은 **근거 문서가 말한 부호**이지 우리 판정이 아니다. 화면에 올릴 때는 부호만 올리지 않고 **누가 그렇게 말했는가를 함께** 올린다. 귀속 없이 올리면 `INTERP` 게이트가 잡는다 — 우리가 만든 게이트에 우리가 걸린다
DART·특허 전면 자동 수집엔티티 해소·별칭 유지보수가 운영 인원 한계를 넘고 rate·약관 리스크가 있다. 월간 배치 + 독립 검증자로 간다
AI 구간 재현율 100% 주장온도 0이어도 동일 출력이 보장되지 않는다. 실측값(0.077~0.401)을 그대로 보고한다
선행판 원문 화면 반출사내 소재 관점이 담긴 원문 hub는 내보내지 않는다. 시스템 기준서와 SK SIGNAL이 그 자리를 대신한다
확장성 — 교체 경계 실측(배터리판 → 그룹판)
요소도메인 변경 시비고
계열사 명부 · 관측축교체회사·축은 도메인의 것이다. 구조(key·근거 URL·재검증 기록)는 재사용
소스 티어 · 금지어 · enum교체값은 바뀌어도 「정본 한 곳을 세 경로가 읽는다」는 유지
게이트 · 카나리아유지날짜 정합·수치 조작·URL 형태·중복·금지어 판정은 도메인을 모른다
정본 → 빌드 → 검증 파이프라인유지단일 정본 · 결정론 · 외부 호출 0 · 사람이 마지막
교정 플로우 · 이력 규율유지C-번호·G-번호와 「흔적 없이 지우지 않는다」는 어느 도메인에서도 같다

10. 정본 목록

어느 값이 어디 사는가. 같은 값을 두 곳에 두면 한 곳은 반드시 낡습니다. 이 저장소에서 그 형태로 다섯 번 정정했고, 다섯째는 제출물이 틀렸습니다.

정본무엇규율
data/registry.json계열사 명부 33사 · 지분 · 상태공정위 지정 + 전건 재검증
data/company_ia.json회사별 관측축 · 메뉴 · 정보원 · 안 보기로 한 것리서치 판정 결과
data/propagation.json계열사 간 전이 · 경로 · 부호 · 시차근거 있는 연결만
data/monthly.json월간 층 — 공시 · 논문 · 특허 · 사업장검증자 판정 통과분
data/entity_aliases.jsonDART 등록 상호 매핑수집기가 조용히 실패하는 것을 막는다
data/source_tiers.json인용 tier 판정 규칙사람 감으로 등급을 매기지 않는다
data/fin_baseline.json확정 실적 기준선 — 매출·영업이익·순이익OpenDART 2025 사업보고서 · 건마다 접수번호
data/entity_aliases.json의 corp_codeDART 법인 고유번호전체 118,810 법인과 대조해 확보. 회사명으로 조회하지 않는다
data/url_check.jsonURL 실재 검사 결과게이트가 아니라 별도 도구가 만든다
data/bridge_spec.json두 축의 역할 · AI 관여표m-BRIDGE 연결 화면 정본
store/signals.json적재된 시그널판정 통과분만
src/collect_spec.pyenum · 금지어 · 차단 도메인 · 수집 회차 창세 경로가 이것 하나를 읽는다
src/rebuild_all.py절차 — 게이트와 빌드 순서문서에 나열하지 않는다
src/theme.py화면 토큰 — 색 · 타이포 6단 · 의미 클래스m-SIGNAL 승계
mgscs/servera/mgscs/gates.py긴급 축 5게이트 판정서버가 정본. 화면 사본은 drift_test가 글자 단위로 대조 — 한쪽만 고치면 릴리스가 막힌다
mgscs/servera/mgscs/impact.py생산영향 등급 PI 문턱취약도별 MMI 문턱·강제 상향 조건. 문서(docs_judgment_criteria)가 아니라 이 상수가 정본이다
mgscs/DECISIONS.md긴급 축 결정 원장D-번호. m-SIGNAL의 D-번호와 별개 체계 — 인용할 때 「mGSCS D-」로 접두
data/bridge_relations.json두 축 사이의 관계합치지 않고 관계(same_event·follows·context·distinct_but_similar)만 든다

11. 없음을 가르는 법

이 시스템이 「없다」를 한 값으로 두지 않는 이유입니다. 뭉치면 그 게이트는 매번 붉고 아무도 보지 않습니다. 그리고 화면에서 「없음」이 「정상」과 같은 모양이 되면 아무도 알아채지 못합니다.

실측 하나 — 전이 원장을 시그널에 잇기 전에 조인율을 먼저 쟀더니 115건 중 71건이 「관련 이력 없음」으로 뜰 상태였고, 그중 진짜 없음은 8건이었습니다.

갈래무슨 뜻어떻게 다루나
전이 이력 없음정말로 그 회사에 걸린 전이가 없다판정이다
축 어휘 불일치전이는 있는데 축 이름이 갈려 못 이었다우리 데이터 문제다
전이 원장 축 미기재전이는 있는데 원장이 축을 안 적었다우리 데이터 문제다
미확정(AXISPEND)아직 회차를 닫을 때가 아니다구멍이 아니다
지금 끊김(AXISDROP)닫힌 회차인데 들어온 것이 0고장이다
과거 구멍(AXISHOLE)지나간 회차의 누락보고만 하고 막지 않는다
못 잼(NOCLOCK)신선도를 잴 날짜 자체가 없다나쁜 것과 다르다
미구축(NOROUTE)수집 경로를 두지 않기로 했다고장이 아니라 의도다

12. 화면 규약

화면이 무엇을 보여 주느냐만큼 어떻게 적느냐가 규율입니다. 같은 뜻을 매번 손으로 다시 조립하면 화면마다 조금씩 달라지고 어느 것이 맞는지 아무도 모릅니다.

규약내용근거
제목은 명사설명·이유는 제목에 붙이지 않고 바로 아래 註로 내린다. 대시 뒤에 올 수 있는 것은 한정어뿐이다G-052
메뉴는 분류최상위는 매주 여는 것만. 33사는 대분류 7로 접는다. 그룹 이름은 목적으로 짓는다G-049
의미 클래스반복 조합을 손으로 다시 조립하지 않는다. 간격은 그릇이 든다G-046
타이포 6단연속 크기를 쓰지 않는다. 6단 밖으로 나가면 「이 글자는 몇 px 인가」를 아무도 답할 수 없다G-046
비어 있음을 감추지 않는다기계가 못 고른 것을 고른 것처럼 보이게 하는 순간 화면이 사실과 달라진다G-048

13. 하지 못하는 것

약속할 수 없는 것은 약속하지 않습니다. 한계를 빼면 나머지가 전수 검증처럼 읽힙니다.

한계내용
audit_dates는 형식만 본다URL과 날짜가 멀쩡하면 통과한다. 내용이 그 사건인지는 보지 않는다
audit_numbers는 코퍼스에 과거 값이 있어야 잡는다처음 보는 조작은 못 잡는다. 공백은 data/fin_baseline.json에 사람이 심어 메운다
URL을 실제로 열지 않는다게이트는 외부 호출 0 이다. 실재는 별도 도구(check_urls)가 네트워크로 검사해 파일로 남기고, 게이트는 그 파일을 오프라인으로 읽는다
반입 시험은 자동화돼 있지 않다소스 zip을 풀어 재빌드하는 시험은 사람이 돌려야 안다. ZIP_DIRS 누락이 재발해도 잡는 게이트가 없다 — 봉인마다 한 번 돌린다(C-035). 실제로 재발했다 — 연결 실증 데이터가 zip밖에 있어 재빌드 시 빈 절이 났다(C-056)
바이너리 안의 글자는 못 본다PDF·PNG·docx는 zip 안이든 밖이든 텍스트로 읽지 않는다. 밖에서 만든 PDF를 넣으면 아무도 안 본다
링크 검사는 파일 존재까지다앵커(#id)가 실제 뷰에 닿는지는 안 본다. 도달 불가 뷰(C-036)를 잡은 것은 이 검사기가 아니라 사람의 클릭이었다
명부는 낡는다공정위 지정 기준일 이후 변동을 자동으로 알 수 없다. 재검증일을 화면에 표시한다
AI 구간의 재현율을 100%로 약속하지 않는다온도 0이어도 동일 출력이 보장되지 않는다. 결정론 구간과 갈라 쓰고 실측값을 그대로 보고한다
관측 경계는 외부까지다사내 재고·계약 조건·발주 판단은 관측 대상이 아니다. 언론이 자사를 보도했더라도 '~로 보도됐다'로 쓴다
수집에서 실측된 함정 — DART · 비상장 3층 · 접근 불가 도메인
DART — 모르면 조용히 실패한다
  • 공시검색은 POST 전용. GET은 미지원
  • 본문 뷰어는 세션 쿠키+Referer 2단계. 쿠키 없이 부르면 485바이트 빈 응답이 온다
  • 정정 공시가 같은 사안에 여러 rcpNo로 남는다. 최신 rcpNo만 채택
  • 회사명 한글 검색 금지 — 등록 정식상호 불일치(SK바이오팜→'에스케이바이오팜'). 종목코드 기반
비상장 계열사 — 3층 순서를 바꾸지 않는다
  1. 1층 모회사 사업보고서 「II. 사업의 내용 › 7. 기타 참고사항」 — 전용 절이 있는지 먼저 본다
  2. 2층 연결재무제표 주석 — 특히 「우발부채 및 약정사항」. 사업 리스크가 여기 있다
  3. 3층 연결 영업부문 주석 — 기타부문에 묻힌다. 마지막에 본다
도메인증상
dart.fss.or.krGET 검색 미지원 — POST 전용. 본문 뷰어는 세션 쿠키+Referer 2단계
egroup.go.krJS 렌더링
fnnews.com403
html.duckduckgo.comCAPTCHA
kisrating.com간헐 500
law.go.krJS 렌더링
search.naver.com페처 차단
sk-on.comTLS 인증서 불일치(altnames가 *.skenergy.com 뿐)
thebell.co.kr본문 빈 응답
yna.co.kr페처 차단
수집 차단 도메인 21곳 · 금지어 11종 · enum은 src/collect_spec.py 가 단일 정본

14. m-BRIDGE를 이루는 체계

여섯 체계 — 운영 중인 것, 제출용으로 만든 것, 설계뿐인 것을 갈라 적는다

한 표에 놓는 이유는 성숙도를 숨기지 않기 위해서입니다. 30주 넘게 운영으로 이어 온 것은 원류 하나이고, 이식판 둘은 이식이 성립함을 확인한 단계이며, 연결 엔진은 설계와 정답셋까지입니다. 수는 각 판의 이식대장·발행 기록에서 옮겨 적었고, 이 저장소가 세는 수만 빌드 시 채웁니다.

체계상태주기 · 판정 단위실물출처
m-SIGNAL
원류 · 동향 축
운영 중 — 반도체 소재 관점 주간 발행. WW01(2026-01)부터 WW35(2026-08-31 발행)까지 35회차 연속, 중단 0주간 · 시그널(사건 1건 + 근거 인용)사내. 원문 화면은 반출하지 않는다 — 규율만 승계(「원류 규율」 절)발행 기록 WW35
ON-SIGNAL
이식 1 · 배터리 소재
제출용 — 검사 코드 6줄 + 도메인 정본 7파일 교체로 이식 성립을 확인. 회차 35개는 소급 수집분을 포함주간 · 같은 스키마이식대장 · CONTRACT · 허브 WW35 판(「이식-실증」 폴더)m-SIGNAL-ON/docs/이식대장.md §1
그룹 사업축 판
이식 2 · SK 그룹 사업 축
제출용 — 검사 코드 9줄(그중 3줄은 사이트 개념이 사라져 검사를 뺀 것). 이식이 성립함을 확인한 단계주간 · 같은 스키마 · 사이트 축 없음이식대장 · CONTRACT · 허브 WW35 판(「이식-실증」 폴더)m-SIGNAL-SK/docs/이식대장.md §1
SK SIGNAL
본선 · 계열사 전수
이 저장소 — 계열사 33사 · 게이트 14종 · 화면은 파일 하나. 원류 규율을 코드로 옮긴 것이 게이트다주간 수집 + 월간 원장 · 회사별 관측축data/ · store/ · out/SK-SIGNAL.html · 이 기준서이 빌드
mGSCS
긴급 축
2026-04 실운영(이란·호르무즈 감지 실이력) · 제출판은 가상 명부로 갈아 끼운 꾸러미 — 실데이터·연락처·키는 저장소에 없다30분 주기 수집 · 사건 1건 → 게이트 5 → 점검 대상mgscs/ 꾸러미 · 「긴급 축 기준」 절mgscs/docs_judgment_criteria.md
연결 엔진
두 축의 인계
설계와 정답셋까지 — 엔진 코드는 없다. 2026-08-24 하루 착수 뒤 스코프 전환으로 중단. 인계는 지금 사람이 한다사건 단위 · 플로우 A(긴급 → 동향) · B(동향 → 긴급)bridge_harness/ (「연결 엔진 하네스」 절)bridge_harness/docs/진행.md D1

15. 연결 엔진 하네스

엔진은 없다 — 엔진을 만들 때 먼저 있어야 하는 것만 있다

두 축을 자동으로 잇는 엔진 코드는 없습니다. 예선 기획서의 본체였던 연결 엔진은 본선 첫날 골격과 정답셋을 세운 뒤 스코프 전환으로 멈췄고, 멈춘 자리 그대로 bridge_harness/ 에 실었습니다. 인계는 지금 사람이 합니다(「하네스」 절 교환 규칙). 아래 수는 전부 그 꾸러미의 파일에서 셉니다.

정답셋
380
시그널 76 × 사이트 5 · high 47 · medium 124 · low 209 · 결측 0
행정구역 기준 테이블
44
검증 33 · 사이트 문자열 5 → 행정구역 9 · 복수 관할 3
판정
5
D-001 ~ · 파일 12개
부품무엇수실물
설계서플로우 A(긴급 → 동향 맥락 붙이기)와 B(동향 → 긴급 승격 제안). AI가 서는 자리는 둘뿐이고 나머지는 코드와 사람§0~§12설계서-과제플로우-v1.md
정답셋(노출)배터리 판 사이트 영향 라벨을 그대로 옮긴 것. 사람이 매긴 값이며 엔진이 만든 것이 아니다. 원본 파일 지문 동봉380 라벨 · 원본 33파일eval/groundtruth_exposure.json
행정구역 테이블사이트 문자열을 행정구역으로 분해한다. 문자열 5개 중 3개가 복수 관할에 걸쳐 원형 반경으로도 단일 구역으로도 표현되지 않는다44곳 · 비권역 6data/admin_areas.json
별칭 사전표기 → 행정구역. 그룹판은 지명이 시설명에 붙어 완전일치로는 안 잡힌다(D-005)표기 45 · 미해결 4data/aliases.json
사건 유형 · 영향 계층사건 발생 권역과 영향 전파는 다른 축이다 — 그래서 엔진은 2단(D-001)유형 13 · 계층 5data/event_impact_tiers.json
어휘 커버리지태그만으로 권역이 하나라도 잡히는 시그널의 비율. 본문 파싱은 포함하지 않았다배터리 55/76 · 그룹 4/32 · 고유 태그 486 중 등재 40eval/geo_vocab.json
지표를 섞지 않는다
380 라벨은 노출 매트릭스 일치율의 정답이지 기획서가 말하는 권역 판정 정확도(행정 조치가 미친 행정구역과의 일치율)의 정답이 아닙니다. 후자의 모수는 행정조치형 8건뿐이라 비율이 아니라 건수로 냅니다(D-002). 두 지표를 한 숫자로 합치면 큰 모수가 작은 모수를 가립니다.
설계서에서 폐기된 것
설계서 §7의 목표 「재현성 100% · 오연결률 0 · 근거 인용률 100%」는 예선 기준의 목표이며 본선 규약이 폐기했습니다 — AI 구간의 재현율 100%를 주장하지 않고 실측해 보고합니다(「AI 구간과 사람 구간」 절). 원문은 고치지 않고 README에 그렇게 적었습니다.