릴리스 준비도
릴리스 페이지는 코드, 패키지, 문서, 포털 데이터, 발표 자료, 보안, 배포에 걸친 공개-안전 게이트 상태를 보고합니다. 프로덕션 배포는 완전한 그린-카드 세트가 통과할 때까지 차단된 채로 유지됩니다.
✅ 게이트 상태
| 게이트 | 현재 상태 | 증거 정책 |
|---|---|---|
| 린트와 포맷 | 검증 필요 | uv run ruff format --check . 과 uv run ruff check . 가 발견 없이 통과해야 함. |
| 타입 검사 | 검증 필요 | uv run mypy packages tests tools examples 가 잠긴 환경 하에 통과해야 함. |
| 산문 레지스터 | 검증 필요 | uv run python tools/check_prose_register.py 가 모든 공개 표면에서 통과해야 함. |
| 코드-우선 유도 | 검증 필요 | uv run python tools/check_code_first.py 가 통과해야 함. |
| 라이선스 헤더 | 검증 필요 | uv run reuse lint 와 uv run python tools/license_header.py check 가 둘 다 통과해야 함. |
| 비밀 스캔 | 검증 필요 | gitleaks detect --source . --redact --config .gitleaks.toml 가 누출을 보고하지 않아야 함. |
| 문서 빌드 | 검증 필요 | npm --prefix site run build 와 npm --prefix site run check 가 현재 작업공간에 대해 완료해야 함. |
| 포털 데이터 | 검증 필요 | uv run pytest tests/site 가 통과하고 승격 전에 실행을 기록해야 함. |
| 커버리지 | 검증 필요 | uv run coverage run -m pytest 와 uv run coverage report 가 통과한 임계값 결과를 기록해야 함. |
| 접근성 기준선 | 검증 필요 | SVG 메타데이터, alt 텍스트, 레이블된 컨트롤, 반응형 레이아웃이 사이트 테스트나 접근성 감사로 점검되어야 함. |
| 링크 검사 | 검증 필요 | 사이트 빌드가 현재 작업공간의 문서화된 내비게이션 및 페이지 링크를 해결해야 함. |
| 패키지 빌드 | 검증 필요 | uv run python tools/build_packages.py 가 패키지 승격 전에 빌드 산출물과 해시를 발행해야 함. |
| 패키지 설치 스모크 | 검증 필요 | 빌드된 wheel 이 새 가상 환경에 설치되고 각 공개 네임스페이스를 임포트해야 함. |
| 증거 번들 내보내기 | 검증 필요 | 표, 그림, 보충이 공개 필터링된 캠페인에서 재생성되어야 함. |
| 파일럿 캠페인 재생 | 검증 필요 | 경계된 파일럿 캠페인이 재개하고, 기록된 시드에서 재생하며, 결정적 분석 내보내기를 재현해야 함. |
| 후보 전체 캠페인 | 검증 필요 | tools/build_campaign_evidence.py 가 프로필당 30개 문제를 구체화하고, 비교/절제/민감도 캠페인을 실행하며, 공개 필터링된 번들을 내보내야 함. |
| 의존성 감사 | 검증 필요 | uv run pip-audit --path <site-packages> --progress-spinner off 가 릴리스-차단 발견 없이 완료해야 함. |
| SBOM | 검증 필요 | CycloneDX JSON 이 감사된 Python 환경에서 생성되고, 컴포넌트 라이선스, 해시, 패키지 URL, 의존성 엣지로 풍부화되어야 함. |
| 호스팅 CI | runner 가용성으로 게이트 | .github/workflows/ci.yml 가 공개 주장 전에 Ubuntu, Windows, macOS, Python 3.12-3.14 에서 통과해야 함. |
| 릴리스 산출물 | 수동 워크플로 | .github/workflows/release.yml 가 배포본, 해시, Sigstore 서명 번들, GitHub 산출물 증명, SBOM 증거를 빌드함; GitHub 릴리스와 PyPI 발행은 명시적 입력을 요함. |
| 배포 | 수동 워크플로 | .github/workflows/pages.yml 가 승인된 도메인 확인이 입력된 후에만 site/out 를 배포함. |
공개 게이트 번들은 gate-summary.json 로 이용 가능합니다.
📦 발행 채널
DispatchAtlas 는 여러 발행 채널을 위해 설계되었으나, 각 채널은 다른 준비 상태를 가집니다:
| 채널 | 현재 상태 | 승격 증거 |
|---|---|---|
| 로컬 wheel 과 sdist | 스모크 검사에 활성 | 패키지 빌드 더하기 새-venv 임포트 스모크. |
| Python 패키지 인덱스 | 게이트됨 | 버전 관리, 메타데이터, 릴리스 워크플로 성공, 신뢰 발행, 명시적 릴리스 승인. |
| 문서 웹사이트 | 빌드 준비됨 | 사이트 빌드와 타입 검사, 사이트 계약 테스트, 링크 검사, 공개-안전 데이터 번들, 수동 Pages 승인. |
| 정적 포털 데이터셋 | 미리보기 준비됨 | 증거 라벨이 있고 비공개 입력이 없는, 공개 필터링된 JSON/CSV 번들. |
| 증거 번들 | 후보 준비됨 | 매니페스트, 표, 그림, 보충, 후보 캠페인 증거에 대한 결정적 재생. 본문 주장은 비-동점과 실행가능성 충분성으로 게이트된 채로 유지됨. |
| 보안 산출물 | 로컬에 활성 | 의존성 감사, 풍부화된 SBOM, 비밀 스캔, 워크플로-권한 검토, OpenSSF Scorecard, 유사성 스캔. |
어떤 채널도 생성 파일을 수동으로 복사하여 승격되어서는 안 됩니다. 소유하는 명령이나 워크플로를 재실행하고 해당 게이트 증거를 녹색으로 유지하여 승격하세요.