본문으로 건너뛰기

문서와 버전

문서는 단일 API의 호스트 표현입니다. 조직 내 프로젝트에 속하고 덮어쓰기 대신 시간에 따라 버전을 쌓습니다.

계층​

Organization -> Project -> Document -> Versions

문서는 조직 바로 아래 또는 프로젝트 내에 만들 수 있고 프로젝트와 조직별로 나열됩니다.

상태 라이프사이클​

문서는 네 상태를 거칩니다.

상태의미공개 서비스
ACTIVE온라인문서와 MCP 제공(각 활성 표시에 따름)
PAUSED일시정지공개 서비스 불가
ARCHIVED보관하지만 현행 아님제공 안 함
DELETED소프트 삭제제공 안 함

허용 전환:

pause: ACTIVE -> PAUSED
resume: PAUSED -> ACTIVE
archive: ACTIVE / PAUSED -> ARCHIVED
restore: ARCHIVED -> ACTIVE
delete: ACTIVE / PAUSED / ARCHIVED -> DELETED

일시정지는 문서를 내렸다 재개하는 가장 빠른 방법이고, 보관은 이력은 유지하지만 현행으로 다루지 않습니다. 삭제는 소프트 삭제로 핵심 데이터가 즉시 파기되지 않습니다.

버전은 불변​

스펙이 바뀌면 새 버전을 만듭니다. 원본은 절대 교체되지 않습니다.

v1 -> v2 -> v3 -> v4

각 버전은 기록합니다.

  • 파일의 객체 저장소 내 저장 키.
  • SHA-256 체크섬.
  • 콘텐츠 유형, 크기, 생성 시각.

이것이 이력, 롤백, 비교, 특정 버전에 대한 문서/MCP 재생성을 뒷받침합니다.

현재 링크와 버전 고정 링크​

  • 현재 문서를 가리키는 링크는 최신 버전 추종.
  • 버전 고정 링크는 특정 버전을 참조해 독자 발 아래 바뀌지 않음.

릴리스 노트나 계약에서 불변 참조가 필요하면 고정 링크, 항상 최신이 필요하면 현재 링크를 씁니다.

소스​

문서 내용은 어떤 소스에서 오고 업로드와 Git이 문서 모델에 하드코딩되지 않도록 추상화됩니다.

  • Upload——파일 직접 추가.
  • Git——URL, 브랜치, 파일 경로로 저장소 연결.

Git 소스는 동기화 활성 여부와 마지막 동기화 시각을 추적합니다.

  • 저장소 URL과 파일 경로 필수로 연결(브랜치 선택).
  • 요청 시 동기화해 최신 내용을 새 버전으로 가져옴.

소스 메타데이터는 문서와 함께 유지돼 항상 업로드인지 저장소인지 판단하고 마지막 동기화를 확인할 수 있습니다.

저장​

실제 파일은 조직/문서/버전 배치로 객체 저장소에 있고 데이터베이스는 메타데이터(저장 키, 체크섬, 콘텐츠 유형, 크기)만 갖습니다. 파일은 저장소에서 기본 공개 읽기 불가이고 공개 접근은 문서의 게시 경로를 통합니다.

왜 중요한가​

불변 버전과 소프트 삭제 라이프사이클의 조합으로 이력을 잃지 않고 빠르게 반복하며, 멈추려 한 문서를 실수로 공개하지 않습니다. 임시 중단은 일시정지, 장기 보관은 보관, 안정성 중요 시 링크 고정입니다.

관련: 노출 작업、접근 통제、사용자 지정 도메인.