개요

engine/OPERATIONS.md §2 절차에 따라 위키 전체(콘텐츠 페이지 28,300개)를 검진했습니다. engine/scripts/lint.ps1·validate-okf.ps1 기계 점검에, Claude가 직접 수행한 시장 페이지(KOSPI/KOSDAQ) 정합성 의미 점검을 추가했습니다.

이전 리포트 대비: lint-report-2026-07-13에서 발견된 깨진 내부 링크 1,539건은 그 직후 일괄 수정으로 926건까지 감소한 상태였습니다.

⚠️ 정정 안내: 이 리포트 최초 작성 시 “시장 페이지 오등재 24건”으로 보고했으나, 해당 검증 스크립트가 단순 문자열 포함 여부(substring)로만 판단하는 결함이 있어 다른 기업 설명문 안에 우연히 등장한 이름(예: “2대주주 삼성SDI”)까지 오탐지했습니다. 정규식을 줄 시작(^- [...])의 실제 불릿 항목으로 한정해 재검증한 결과 진짜 오등재는 2건이었습니다. 아래 내용은 정정된 결과이며, 이미 즉시 수정을 완료했습니다.

진행 상황 (우선순위 1~4 처리 결과) — 전체 완료

순위항목상태
1시장 페이지 오등재 정정✅ 완료 (2건)
2%20 링크 인코딩 근본 수정✅ 완료 (_common.ps1, lint.ps1)
3시장 페이지 미등재 백로그✅ 완료 (316건 일괄 추가)
4양방향 링크 누락 (span-exclusion 재설계)✅ 완료 (2,855건 → 20건, 99.3% 해소)

재검진 최종 수치 (수정 전 → 후)

항목초기(2026-07-14 최초)최종
깨진 내부 링크926851
고아 페이지1,5391,358
양방향 링크 누락2,84920
시장 페이지 오등재2 (정정)0
시장 페이지 미등재316 (정정)0

4번 항목 상세: 안전한 append-only 설계로 재시도 성공

이전 2회 시도가 기존 링크 URL 내부 문자열을 오매칭해 콘텐츠를 손상시켰던 것과 달리, 이번에는:

  • 기존 프로즈 텍스트를 전혀 검색·치환하지 않고, 새 불릿 라인만 추가(## 주요 주주/## 경영진 섹션 끝에 삽입, 섹션이 없으면 신규 생성)
  • groups는 frontmatter group: 필드가 비어있을 때만 채움(이미 다른 그룹이 설정된 12건은 충돌로 판단해 건드리지 않고 보존)
  • 회사 파일당 1회만 일괄 반영(1,604개 파일, 2,279개 불릿 + 138개 group 필드 추가)
  • 적용 전 dry-run으로 diff 미리보기 검증, 적용 후 validate-okf.ps1 재검증(위반 4건 그대로 — 신규 위반 없음 확인)

남은 20건은 모두 의도적으로 건드리지 않은 안전한 예외입니다:

  • 12건: 회사가 이미 다른 그룹에 속해 있어 자동 덮어쓰기를 하지 않은 케이스 (예: 롯데지주는 이미 /groups/롯데가 설정되어 있어 LT(롯데투어)와의 역링크는 수동 판단 필요)
  • 5개 대상: 파일명에 공백이 포함된 해외법인(Mayson Partners Pte. Ltd., CJ ENM, Qion Pte. Ltd. 등)이 링크에서 %20으로 인코딩되어 파일 조회에 실패 — 별도 후속 조치 필요

오류 (Error) — 처리 완료

1. 시장 페이지 오등재 (2건, 정정됨) — ✅ 수정 완료

정확한 불릿 항목(^- [이름](/companies/이름)) 기준으로 재검증한 결과:

기업frontmatter market정정 전 등재 위치조치
나무가KOSDAQKOSPI.md (stub)KOSPI.md에서 제거 → KOSDAQ.md에 추가
싸이맥스KOSDAQKOSPI.md (stub)KOSPI.md에서 제거 → KOSDAQ.md에 추가

두 건 모두 frontmatter market: KOSDAQ가 맞고(나무가 티커 190510, 싸이맥스 티커 099440 — 둘 다 실제 코스닥 상장), KOSPI.md에 잘못 등재되어 있었습니다. 즉시 수정 완료.

2. 깨진 내부 링크 — %20 인코딩 근본 원인 수정 완료

Resolve-LinkToFile이 URL 인코딩(%20 등)을 디코딩하지 않아 공백 포함 파일명(기업명 신용등급.md) 매칭에 실패하던 문제를 수정했습니다.

# engine/scripts/_common.ps1 — Resolve-LinkToFile
$rel = [System.Uri]::UnescapeDataString($Link.TrimStart('/'))

lint.ps1의 인바운드 링크 집계(고아 페이지 판정)에도 동일한 디코딩을 추가해 연쇄 효과까지 반영했습니다.

효과 (재검진 결과):

항목수정 전수정 후
깨진 내부 링크926건 (unique 892)850건
고아 페이지1,539건1,501건

나머지 850건은 대부분 대상 파일이 실제로 아직 생성되지 않은 순수 누락(인물·자회사 stub 미생성)이며, 소수(약 20여 건)는 지난 정리에서 놓친 괄호 링크 잔존분입니다. 이월 항목인 콜마홀딩스(주주)(→ 한국콜마.md에서 참조), 첨단소재(솔루스)(→ 솔루스첨단소재_첨단소재.md에서 참조)도 여전히 미해결로 확인됨.

경고 (Warning) — 처리 완료

3. 시장 페이지 미등재 백로그 (316건, 정정된 수치) — ✅ 완료

market: KOSPI 또는 KOSDAQ가 설정된 Full 페이지 기업 중, 해당 시장 페이지의 ”## 상장기업” 목록에 정확한 불릿 형식으로 아직 링크되지 않은 건입니다(정확한 정규식 기준으로 재산정한 결과 초기 보고 279건보다 많은 316건으로 확인됨). 각 기업의 frontmatter description을 사용해 KOSPI.md에 309건, KOSDAQ.md에 7건을 일괄 추가했습니다.

  • 검사 대상: Full 페이지(비-stub) 중 market 필드가 있는 2,457개사
  • 처리 전 정상 등재: 2,139개사 (87.1%)
  • 추가 완료: 316개사 (12.9%)
  • 오등재: 0개사 (위 1번에서 해소)

4. 고아 페이지 — 인바운드 링크 0건 (1,501건 → 1,358건, 부분 개선)

유형별 분포(재검진 기준):

유형건수(수정 전)
companies670
ratings298 → 수정 후 감소분 상당수 포함
groups143
shareholders128
segments107
products72
executives66
industries28
value_chain23
financial_products3

5. 양방향 링크 누락 (2,855건 → 20건) — ✅ 완료

상세는 위 “4번 항목 상세” 참조. shareholders·groups·executives → companies 역링크 2,855건 중 2,835건(99.3%)을 안전한 append-only 방식으로 해소했습니다.

제안 (Suggestion — 낮은 우선순위)

6. frontmatter 누락 (4건, 동일)

wiki/outputs/ingest-tracker-*.md 4개 파일 — 자동 생성되는 비-OKF 트래커 파일로, 콘텐츠 페이지가 아니므로 심각도 낮음.

요약

심각도항목건수상태
오류시장 페이지 오등재 (정정: 24→2)2✅ 완료
오류깨진 내부 링크926 → 851✅ 근본원인(%20) 수정 완료, 잔여는 순수 누락(stub 미생성)
경고시장 페이지 미등재 백로그 (정정: 279→316)316 → 0✅ 완료
경고고아 페이지1,539 → 1,358부분 개선(양방향 링크 보완의 연쇄효과)
경고양방향 링크 누락2,849 → 20✅ 완료 (99.3% 해소, 잔여 20건은 의도적 안전 스킵)
제안frontmatter 누락4낮음, 보류(비-OKF 자동생성 파일)

남은 낮은 우선순위 항목 (이번 라운드에서 다루지 않음):

  • 깨진 내부 링크 851건 중 대다수 — 인물·자회사 stub 페이지 신규 생성 필요(콜마홀딩스(주주)·첨단소재(솔루스) 등)
  • 양방향 링크 20건 — 다중 그룹 소속 12건(수동 판단 필요), 공백 포함 해외법인명 5건(파일명 슬러그화 검토 필요)
  • 메타케어 등 시장 페이지 중복 불릿 소수건(이번 작업으로 유입되지 않은 기존 이슈)

Citations

  • engine/scripts/lint.ps1, engine/scripts/validate-okf.ps1 실행 결과 (수정 전/후 재검진)
  • 시장 페이지 정합성: wiki/companies/*.md frontmatter ↔ wiki/markets/KOSPI.md·KOSDAQ.md 교차 검증(정규식 앵커링 방식으로 정정)
  • 이전 리포트: lint-report-2026-07-13