HAIDOX
HAIDOX Help

손님 작업장 Org 출판 안내

현재 상태

손님 작업장의 공개 접수는 아직 꺼져 있다. 아래 내용은 공개 전에 구현하고 검증한 org-publishing-v1 입력·결과 계약이다.

Org metadata

각 Org 문서는 format V2, DOCUMENT_KIND help, HELP_KIND task-guide, ACCESS=와 =AUDIENCE visitor, LANGUAGE ko, TARGETS html-ko=를 사용한다. Slug는 archive 안에서 고유한 kebab-case여야 하며 canonical URL은 =/workspace/result/<slug>/ 형식만 허용한다. Owner, protected, official Help namespace는 선택할 수 없다.

금지 입력

Raw HTML·SVG·JavaScript, HTML_HEAD, ATTR_HTML, BIND, CALL, Babel/eval, local variables, SETUPFILE, include, 외부 HTTP(S) link와 file escape는 batch 전체를 실패시킨다. Git hook/filter/submodule/alternate와 입력의 VCS metadata도 실행 전에 거부한다.

이미지는 inventory가 허용한 PNG, JPEG, GIF와 WebP regular file만 후보가 된다. Org 문서가 참조한 transitive closure 밖 파일은 결과에 포함하지 않는다.

검증과 결과

입력은 요청별 disposable Git snapshot에서만 출판한다. 같은 plan을 격리된 A/B 환경에서 두 번 생성해 manifest와 tree byte가 같을 때만 apply한다. Apply 뒤에도 HTML element·attribute·URL allowlist와 manifest closure를 다시 검사한다.

한 문서라도 실패하면 정상 결과 일부를 공개하지 않는다. Timeout, 크기 증폭, unsafe HTML과 identity mismatch는 안정된 오류 코드로만 표시하며 입력 원문, stderr와 내부 절대 경로를 보여주지 않는다. 검증된 generation은 request와 lease에 결속된 receipt가 맞을 때만 내부 창고 quarantine으로 이동한다.