Procedure (절차)aiverifiedFri Apr 24
Wiki Ingest 파이프라인 — sources/ → wiki/ 컴파일 절차
별칭: Ingest Pipeline · Wiki 컴파일 절차 · 1 source → 10~15 pages
#procedure#ingest#A03#llmwiki-ingest#Karpathy#compilation
Wiki Ingest 파이프라인 — sources/ → wiki/ 컴파일 절차
개요
Karpathy LLM Wiki 핵심 메커니즘을 본 프로젝트에 인스턴스화한 표준 절차. 1개 source 투입 → 10~15장 wiki 페이지 갱신이라는 원칙을 자동화한다. A03.01 wiki-ingest 에이전트 + llmwiki-ingest 스킬이 담당.
입력 (Input)
- 신규 source 파일:
10 LLMwiki/sources/{A_sermon|B_discipleship|C_ministry|D_ai-tools|E_research|F_news}/YYYY-MM-DD_<slug>.<ext> - 기존 wiki 상태:
index.md+ 모든wiki/{type}/*.md+log.md - 11조 Canon (READMEㆍCLAUDE.md)
처리 (Processing) — 7 Step
Step 1. Source 검증
- 파일명 규칙 검사:
YYYY-MM-DD_<kebab-slug>.<ext>(Canon 2조) - 카테고리 적합성 검사 (A_sermon~F_news 중 하나)
- 인코딩 UTF-8 + 본문 길이 ≥ 100자
- ❌ 시 사용자 통보 + 중단
Step 2. Source 정독·요약
- LLM이 source 전문 읽기 (필요 시 chunking, 8K 토큰 단위)
- 핵심 요지 5~10개 bullet 추출
- 인용할 키 문장 3~5개 선별
- 등장하는 entity·concept·term 후보 자동 추출
Step 3. Index 조회 (index-first)
wiki/index.md먼저 로드 (Canon 5조)- 새 source의 키 entity·concept·term이 기존에 존재하는지 매칭
- 매칭 결과:
- 기존 카드 갱신 (대다수)
- 신규 카드 생성 (정말 새로운 개념)
- synthesis 카드 1장 신규 (source 자체의 컴파일 페이지)
Step 4. 카드 생성·갱신 (10~15장)
- [필수] synthesis/ 카드 1장:
wiki/synthesis/<source-slug>.md— source 1줄 요약 + 핵심 인용 + 관련 wikilink - [갱신] entity/concept/term/case 카드 5~10장: 본 source 인용을 기존 카드의 적절한 섹션에 추가,
last_edited_at갱신 - [필수] 카드 끝에 source 인용 표기:
> 출처: [source/A_sermon/2026-04-24_haupgo-sungeun](/source/A_sermon/) §3 - 모든 새/갱신 카드는 status: draft 고정 (Canon 4조 + 8조)
- 3중 가드레일 통과 자체 점검 (Canon 9조): 성경 권위 / 온누리 비전 / 사역 매뉴얼
Step 5. Wikilink 그래프 보강
- A03.02 wiki-linker가 양방향 링크 검증
- 새 카드에서 outgoing 링크 ≥ 3, 관련 카드에서 incoming 링크 ≥ 1
- 깨진 링크(
[type/non-existent](/type/non-existent/)) 발견 시 placeholder 카드 생성 또는 사용자에게 알림
Step 6. Index·Log 갱신
index.md카탈로그에 새 카드 entry 추가log.md에 append-only 엔트리:## YYYY-MM-DD HH:MM · sources/{cat}/<slug> ingest - 신규 카드: N장 (synthesis 1, term 2, ...) - 갱신 카드: M장 - 보강 wikilink: K개 - 가드레일 위반: 0건 (또는 도리 doctrine-sidecar 검토 큐 P건)
Step 7. Doctrine Sidecar 게이트
- A04.04 doctrine-sidecar가 새/갱신 카드의 신학·교리 표현 자동 스캔
- Canon 8조 (자동 승격 금지) + Canon 9~11 (가드레일·인격화·언어) 위반 검출
- 위반 발견 시 카드 상태
status: draft고정 + 사용자 검토 큐에 추가
출력 (Output)
- 갱신된 wiki/ 디렉토리 (10~15 카드)
- 갱신된
index.md+log.md - 사용자 보고: 신규/갱신/링크/위반 카운트
- doctrine-sidecar 검토 큐 (있다면)
통신 (Communication)
| 송신 | 수신 | 메시지 | 형식 |
|---|---|---|---|
| A03.01 wiki-ingest | A03.02 wiki-linker | 신규 카드 목록 | SNAC JSON |
| A03.01 | A03.03 wiki-indexer | index/log 갱신 요청 | SNAC JSON |
| A03.01 | A04.04 doctrine-sidecar | 게이트 검사 요청 | SNAC JSON |
| A04.04 | 사용자 | draft 검토 큐 | Markdown 보고 |
호출 방법
자동 (스케줄러)
- A06.01 scheduler가 sources/ 디렉토리 watch
- 새 파일 감지 → A03.01 호출
- 주기: 즉시 (이벤트 드리븐) + 야간 0:00 일괄 정합성 체크
수동 (사용자)
사용자: "10 LLMwiki/sources/A_sermon/2026-04-24_haupgo-sungeun.md 를 ingest 해줘"
Claude: [llmwiki-ingest 스킬 호출 → Step 1~7 실행 → 보고]
관련
- concept/karpathy-llm-wiki-pattern (원전)
- concept/recompilation-canon (Canon 7조 — 재컴파일 가능성)
- procedure/source-promotion (INPUT raw → sources/ 승격)
- term/knowledge-graph (이 파이프라인이 키우는 그래프)
- term/agent-orchestration (전체 흐름)