docs: SSOT 문서 허브 도입 및 동기화 자동 검증 게이트 (#350) #352
Reference in New Issue
Block a user
Delete Branch "feature/issue-350-doc-ssot"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
개요
문서 중복·드리프트 방지를 위해 SSOT 원칙을 문서 체계에 적용한다.
validate_docs_sync.py로 CI에서 자동 검증한다.
의존성
PR #351 머지 후 병합 권장 (공유 파일 충돌 방지)
REQ/TASK 매핑
변경 파일 (10개)
신규:
docs/README.md— 문서 라우팅/역할/SSOT 정의 (상대경로 링크)scripts/validate_docs_sync.py— 가변 수치 하드코딩 + 누락 엔드포인트 검사수정:
CLAUDE.md— 문서 진입점, SmartScanner → architecture.md 링크README.md— 문서 네비게이션 섹션, 고정 수치 제거docs/commands.md— validate_docs_sync 명령 추가docs/testing.md— 테스트 총량 동적 확인 전환docs/ouroboros/82_doc_restructure_plan.md— draft → active.gitea/PULL_REQUEST_TEMPLATE.md— Docs Sync 체크리스트.gitea/workflows/ci.yml/.github/workflows/ci.yml— validate_docs_sync 단계수용 기준
Docs Sync (SSOT)
Closes #350
코드 리뷰 — PR #352
개요
문서 드리프트 방지를 위한 SSOT 구조 도입. 핵심 변경:
docs/README.md신규 — 문서 라우팅/역할 단일 진실 원장scripts/validate_docs_sync.py신규 — 가변 수치 하드코딩 + 누락 엔드포인트 CI 검사README.md,CLAUDE.md) → 링크 기반 참조로 축약.giteaCI + PR 템플릿에 게이트 추가🟡 확인 필요
1.
architecture.md설정 주석 잔재본문 텍스트는 "Both modes"로 업데이트됐지만, 설정 예시 섹션의 주석이 여전히
# Optional — Smart Scanner (realtime mode only)입니다. 동일 문서 내 불일치입니다.2.
validate_docs_sync.py—ROOT = Path(".")CWD 기준 상대경로를 사용합니다.
scripts/디렉터리 안에서 직접 실행하면 오동작합니다. CI에서는 레포 루트에서 실행하므로 무해하지만, 스크립트 헤더 또는docs/commands.md에 "레포 루트에서 실행" 조건을 명시하면 좋습니다.3. diff 범위 — PR #351 변경이 함께 보임
현재 base가
feature/v3-session-policy-stream이고 이 브랜치가 PR #351 위에 스택되어 있어, diff에architecture.md·80_implementation_audit.md등 PR #351 변경이 중복으로 포함됩니다. PR #351이 base에 머지된 뒤 이 PR을 머지하면 실제 추가되는 내용은 SSOT 관련 파일들만 됩니다. 머지 전 base 업데이트(git rebase feature/v3-session-policy-stream) 여부를 확인하세요.✅ 좋은 점
validate_docs_sync.py패턴 설계 — 금지 패턴을(파일명, 정규식)튜플로 관리해 향후 추가가 쉽고, 엔드포인트 누락 검사도 명확합니다.docs/README.md링크 모두 상대경로 — 환경 독립적이고 GitHub/Gitea 모두에서 정상 렌더링됩니다.README.md,CLAUDE.md에서 고정 수치(551 tests,8 API) 완전 제거, 드리프트 가능성 차단됩니다.수정 권장 사항 요약
docs/architecture.mdrealtime mode only→both modesdocs/commands.md또는 스크립트 헤더validate_docs_sync.py는 레포 루트에서 실행해야 함을 명시View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.