Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 1.83 KB

File metadata and controls

42 lines (30 loc) · 1.83 KB

0008. 콘텐츠 수집 경로에서 공개 정책을 강제한다

Date: 2026-04-14 Status: Accepted

배경

블로그는 “유효한 모든 글은 공개”라는 방식에서 명시적인 공개 정책으로 이동했다. 메타데이터에는 이제 visibility와 quality review 필드가 포함된다. repository 함수, 피드 생성, 사이트맵 생성, 글 스캐폴딩도 private 또는 품질 기준을 통과하지 못한 콘텐츠가 실수로 노출되지 않도록 수정됐다.

이 결정은 수집, 라우팅, 검색, 피드, 릴리스 안전성에 영향을 주기 때문에 콘텐츠 아키텍처 결정이다.

결정

공개 상태를 meta.json에 표현하고, repository 계층에서 기본적으로 public visibility를 강제한다. 품질 정책은 docs/blog-quality-guide.md에 문서화하고 대상 테스트로 보호한다.

결과

  • private 글은 저장소에 존재해도 public route, feed, sitemap에 노출되지 않는다.
  • 새 글은 메타데이터가 다르게 지정하지 않는 한 public을 기본값으로 가진다.
  • 품질 기준은 기억에 의존한 수동 리뷰가 아니라 테스트 가능한 정책이 된다.
  • post-repository를 우회하면 미공개 콘텐츠가 노출될 위험이 있다.

검토한 대안

  • draft 콘텐츠를 git branch로 분리: main에서 draft를 제외할 수 있지만 오래 걸리는 작성과 리뷰 흐름이 불편해진다.
  • _draft 같은 파일명 convention: 놓치기 쉽고 검증하기 어렵다.
  • feed나 sitemap에서 수동 필터링: 각 출력 경로가 같은 규칙을 기억해야 해서 취약하다.

관련 히스토리

  • 21a4a6a (2026-04-14): 공개 정책, 메타데이터, 테스트 추가.
  • b4ae7c2 (2026-04-21): 공개 정책과 품질 기준 정리.
  • c480f2f (2026-04-22): 공개 콘텐츠 제목과 문체 정리.