위키 · 문서
위키 스키마
이 문서가 위키 전체의 동작을 규정한다. ingest·query·lint 를 시작하기 전에 반드시 이 문서를 읽는다.
이 위키가 기록하는 것
이재명 대통령을 둘러싼 인물들이 언론에 어떻게 등장했는가.
기록 대상은 인물 이 아니라 보도 다. 이 구분이 이 위키의 전부다.
| ✗ 금지 | "정성호는 친명계 핵심 인물이다" |
| ✓ 허용 | "정성호의 사의 표명을 24개 매체가 보도했다" |
| ✗ 금지 | "한동훈이 정성호를 비판했다" |
| ✓ 허용 | "문화일보는 한동훈의 '도망간다고 책임 없어지나' 발언을 제목에 실었다" |
인물의 성향·의도·평판을 서술하지 않는다. 우리가 아는 것은 어느 매체가 언제 어떤 제목을 달았는가 뿐이고, 그 이상을 쓰면 근거 없는 주장이 된다.
절대 규칙
- 모든 문장은 출처 링크가 붙은 관측이어야 한다. 링크 없는 서술은 쓰지 않는다.
- 인물·매체를 평가하지 않는다. '왜곡', '편파', '악의적', '친명', '반명', '나팔수' 같은 낱말을 쓰지 않는다.
- 제목은 원문 그대로 인용한다. 요약·의역하지 않는다.
- 본문 내용을 쓰지 않는다. 우리는 기사 본문을 수집하지 않는다. 제목에 없는 내용을 추측해 쓰면 안 된다.
- 추론을 사실처럼 쓰지 않는다. 두 인물이 같은 기사에 나왔다는 것은 관계의 근거가 아니다. "함께 언급됨" 까지만 쓴다.
- 확실하지 않으면 쓰지 않는다. 빈 절이 틀린 절보다 낫다.
노드 종류
wiki/
schema.md 이 문서
index.md 전체 페이지 목록 + 한 줄 요약
log.md ingest / lint 이력
people/<이름>.md 인물
outlets/<id>.md 매체
events/<slug>.md 사건
sources/
YYYY-MM-DD/*.md 불변 원본 (제목·링크·매체·시각). 수정하지 않는다.
링크는 [정성호](/w/people/%EC%A0%95%EC%84%B1%ED%98%B8) 형식으로 쓴다.
이재명 필터
wiki/people/ 에 페이지가 있는 인물이 곧 필터다.
- 씨앗은
people/이재명.md하나다. - 어떤 원본의 제목이 이재명(李, 이 대통령 포함) 또는 페이지가 있는 인물을 언급하면 ingest 대상이다.
- ingest 중 같은 기사에 함께 등장한 인물은 새 페이지를 얻는다. 그렇게 필터가 넓어진다.
진영으로 거르지 않는다. 같은 보도에 등장하면 야권 인물도 노드가 된다 — 그러지 않으면 네트워크가 순환한다.
페이지 형식
people/<이름>.md
# 정성호
<!-- 직책은 보도에서 확인된 것만. 없으면 이 줄을 비운다. -->
법무부 장관 (2026-07-25 보도 기준)
## 등장한 사건
- 2026-07-25-정성호-사의 — 2026-07-25 · 24곳 보도 / 3곳 미보도
## 제목에 실린 발언
<!-- 제목에 인용된 것만. 본문 발언은 우리가 모른다. -->
- 2026-07-25 "오래전부터 참모 통해 사의 표명"
— [연합뉴스](url) · [KBS](url) · [중앙일보](url) 외 6곳
## 함께 언급된 인물
- [한동훈](/w/people/%ED%95%9C%EB%8F%99%ED%9B%88) 2건
- [박지원](/w/people/%EB%B0%95%EC%A7%80%EC%9B%90) 2건
## 이 인물을 다룬 매체
- [khan](/w/outlets/khan) 1 · [chosun](/w/outlets/chosun) 1 · …
outlets/<id>.md
# 경향신문
## 관찰 기록
- 관찰 사건 1건 중 1건 보도 · 미보도 0건
- 평균 보도 지연 +461분
## 사건별 프레임
- 2026-07-25-정성호-사의 — '야권 공세'를 앞세움
「국민의힘, 정성호 법무장관 사의 표명에 공세 나서…」 (+461분)
## 같은 프레임을 공유한 매체
<!-- 사건 2건 이상 쌓인 뒤에만 쓴다. 1건으로는 패턴이 아니다. -->
events/<slug>.md
# 정성호 법무부 장관 사의 표명
- 발생 2026-07-25 06:50 (KST, 추정 — 최초 관측 보도 06:54)
- 질의어 "정성호 사의 표명" · 확인 시각 …
- 보도 22곳 / 미보도 3곳
## 프레임
### '본인 발언'을 앞세움 (10)
- 06:54 (+4분) [kbs](/w/outlets/kbs) 「정성호 법무부 장관, 사의 표명」 — [링크](url)
…
## 보도하지 않음
[mbc](/w/outlets/mbc) · [ytn](/w/outlets/ytn) · [mediatoday](/w/outlets/mediatoday)
## 등장 인물
[정성호](/w/people/%EC%A0%95%EC%84%B1%ED%98%B8) · [이재명](/w/people/%EC%9D%B4%EC%9E%AC%EB%AA%85) · …
ingest 절차
새 원본을 넣을 때 순서대로 한다.
sources/의 대상 파일을 전부 읽는다.- 이재명 필터를 통과하는지 확인한다. 통과하지 못하면 건너뛰고 그 사실을
log.md에 남긴다. index.md를 읽어 어떤 페이지가 이미 있는지 파악한다.- 관련된 모든 페이지를 갱신한다 — 인물, 매체, 사건. 한 원본이 10개 이상을 건드리는 것이 정상이다.
- 새 인물·매체를 발견하면 페이지를 만든다.
index.md에 새 페이지를 등록한다.log.md에 한 줄 남긴다:## [YYYY-MM-DD] ingest | <무엇을>+ 건드린 페이지 목록.- 대화형 ingest에서는 커밋하지 않는다. 예약 ingest에서는 허용 경로 검사와 아래 lint,
typecheck, build가 모두 성공한 경우에만 GitHub Actions가
main에 커밋한다.
lint 규칙
주기적으로 검사한다. 발견하면 고치지 말고 log.md 에 기록해 사람이 판단하게 한다.
- 고아 페이지 — 아무도 링크하지 않는 페이지
- 깨진 링크 — 존재하지 않는 페이지를 가리키는
… - 출처 없는 문장 — 링크 없이 사실을 주장하는 줄
- 평가어 — 위 금지어가 들어간 줄
- 낡은 주장 — 최근 사건에서 반증됐는데 갱신되지 않은 서술
- 비대칭 링크 — A가 B를 "함께 언급"으로 적었는데 B에는 A가 없음
가장 위험한 실패는 drift 다. 새 원본을 넣으면서 교차참조를 일부만 갱신하면 페이지가 조용히 낡는다. 실존 인물에 대한 기록에서 낡은 페이지는 틀린 주장이 그 사람 이름 아래 남아 있는 것과 같다.
사람이 하는 일 / LLM이 하는 일
| 사람 | LLM |
|---|---|
| 원본 선택 | 마크다운 작성·편집 전부 |
| ingest 실행 시점 결정 | 교차참조 유지 |
git diff 검토 |
일관성 관리 |
| 커밋 | lint 검사 |
| 사실관계 최종 판단 | — |
대화형 작업의 커밋은 사람이 한다. 예약 작업은 보수적인 중단 조건과 기계 검증을 검토 게이트로 삼아 하루 최대 사건 1건을 자동 커밋한다.