Files

17 lines
1.1 KiB
Markdown

---
id: "ac-0008"
status: active
---
# Branch 검증과 requester-versioned publication authority 분리
## Criterion
일반 branch와 `main`은 registry write authority 없이 full pytest와 release/container contract를 실행해야 한다. GHCR publication은 exact `vX.Y.Z` Git tag push만 허용하고 malformed tag, prerelease tag, `workflow_dispatch`, branch/main/PR event에서는 registry login 또는 push를 수행하지 않아야 한다. Publication job만 최소 `packages: write` 권한을 가지며 automatic version 증가와 moving `latest`를 만들지 않아야 한다.
## Verification
- 성공 조건: branch/main verification workflow는 registry credential·write path 없이 회귀와 release contract를 검사하고 strict version-tag event만 publication path에 도달한다.
- 실패·경계 조건: tag shape 또는 checked-out HEAD가 expected tag commit과 다르면 login/push 전에 실패하며, 다른 event가 publication 권한이나 write step을 얻으면 실패다.
- 검사 방법: workflow event/permissions/step-order contract tests와 representative valid·invalid ref helper tests를 실행한다.