← 계열사 전체

시스템 기준서이 시스템이 무엇을 하고, 무엇을 하지 않으며, 틀린 것을 어떻게 걸러내고 어떻게 고치는가. 이 화면은 손으로 쓰지 않고 코드에서 직접 뽑습니다. 게이트 결과는 이 화면을 만들 때 실제로 돌린 값입니다.
게이트
14
전부 외부 호출 0
판정 코드
25
HARD 16 · soft 9
이번 빌드 게이트 결과
12/12
캡처가 아니라 실행 결과
주장한다
공개 정보에서 계열사별 사건을 모아 형식 정합을 기계로 검증하고, 회사마다 다른 관측축으로 체계화해 파일 하나로 낸다. 게이트는 전부 실제 사고에서 나왔고, 규칙을 정한 이유와 고친 기록이 함께 간다.
주장하지 않는다
주장의 진위를 기계가 보증한다고 말하지 않는다 — 게이트를 다 통과해도 사람이 본다. 내부 의사결정·재고·계약을 추정하지 않는다. AI 구간의 재현율 100%를 약속하지 않는다.

1. 원칙 다섯

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

2. 계통

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

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

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

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통과파일 38 · 시그널 125 · 인용 257 (tier1 93) · 미해결 310
audit_dates.py인용 발행일 ↔ 사건일 불일치 — 과거 사건을 최근으로 옮겨 적기BADDATE · NOANCHOR통과[audit_dates] 판정 10건 (HARD 0) — 인박스 125 · 스토어 125 · 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 · SPACING · TABLEMIX통과[audit_style] 판정 22건 — 화면 43개
audit_dupes.py같은 사건이 두 행으로 적재됨DUPKEY · DUPTITLE통과[audit_dupes] 판정 41건 (HARD 0) — 시그널 250건 검사
audit_axes.py축 어휘가 정본을 벗어나 두 층이 안 이어짐 — 「없음」과 「못 이음」의 혼동AXISLABEL · JOINDROP통과[audit_axes] 판정 2건 (HARD 0 · soft 2) — 시그널 125 · 전이 58
audit_collect.py수집 축이 끊겼는데 산출물은 정상으로 보임 — 「안 들어온 것」AXISDROP · SRCSTALE통과[audit_collect] 판정 2건 (HARD 0 · soft 2) — 원천 5층
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 215곳 (상한 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)
① 금지어 정본에서 단어 하나를 빼자 카나리아가 8/9로 죽었다 → ② HARD, 멈춤 → ③ 원인은 fixture가 그 단어를 글자로 박아 둔 것 — 규칙이 두 곳에 있었다 → ④ 정정이력 C-007 → ⑤ fixture가 정본을 읽도록 고침 → ⑥ 재생성, 9/9, 지문 동일. 이 흐름이 반복돼 정정 46건·판정 71건이 쌓였고, 그중 둘은 정상 데이터 92건을 잡던 과잉 게이트를 게이트 쪽을 고쳐 푼 것입니다(C-004 · C-005).
판정 코드 사전 25종 — 뜻과 손댈 곳
코드등급손댈 곳
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를 내지 않는다

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. 로드맵

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

단계무엇실측상태비고
0신뢰게이트 14종 + 빌드 후 검증 2종 · 판정 코드 25 · 카나리아 결함 주입 + 정상본 음성 검사운영정정 46건 · 판정 근거 71건이 게이트와 함께 쌓였다. 그중 둘은 정상 데이터를 잡던 과잉 게이트를 게이트 쪽을 고쳐 푼 것
1명부 · 관측축33사 전건 재검증 · 관측축 309개 (회사마다 다르다)운영공정위 지정 기준일과 재검증일을 화면에 함께 표시한다. 이탈·소멸도 지우지 않고 상태를 붙인다
2주간 층 — 시그널시그널 125건 · 인용 257건 · 계열사 간 전이 58건 (측정 불가 65건 별도 기재)운영 · 첫 전주 대비는 다음 주차전이는 근거 있는 연결만 싣고, 잴 수 없는 것은 「측정 불가」를 정식 결과로 남긴다
3월간 층 — 원장공시 329건 · 논문 154건 · 특허 76건 · 사업장 251건첫 회차찾지 못한 것 109건·두지 않은 것 59건 전건 기재. 독립 검증자가 전 트랙을 반박 검사해 논문 30편을 실재-비저술로 제외했다
4연결 — 두 축긴급 축(생산영향 등급 PI-0~3 알람 기준) ↔ 동향 축(여섯 층) 상호 이식 조건 명문화기준 확정 · 실물 연결은 조인 대기월간 층 사업장 원장이 긴급 축 명부가 되는 조인이 「다음 여섯」의 마지막 항이다
5AI 실측재현율·리서치 일치도·회수율측정값 게시측정 전에는 수치를 쓰지 않는다. 잰 값만 §5에 온다
다음 여섯 — 있는 기계 켜기 우선
순위무엇왜 여기부터
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)의 명부가 된다. 두 축이 실제로 만나는 지점이고, 외부에서 복제할 수 없는 연결이다
하지 않기로 한 것 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-번호와 「흔적 없이 지우지 않는다」는 어느 도메인에서도 같다

7. 정본 목록

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

정본무엇규율
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 승계

8. 없음을 가르는 법

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

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

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

9. 화면 규약

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

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

10. 하지 못하는 것

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

한계내용
audit_dates는 형식만 본다URL과 날짜가 멀쩡하면 통과한다. 내용이 그 사건인지는 보지 않는다
audit_numbers는 코퍼스에 과거 값이 있어야 잡는다처음 보는 조작은 못 잡는다. 공백은 data/fin_baseline.json에 사람이 심어 메운다
URL을 실제로 열지 않는다게이트는 외부 호출 0 이다. 실재는 별도 도구(check_urls)가 네트워크로 검사해 파일로 남기고, 게이트는 그 파일을 오프라인으로 읽는다
반입 시험은 자동화돼 있지 않다소스 zip을 풀어 재빌드하는 시험은 사람이 돌려야 안다. ZIP_DIRS 누락이 재발해도 잡는 게이트가 없다 — 봉인마다 한 번 돌린다(C-035)
바이너리 안의 글자는 못 본다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 가 단일 정본