Files
portfolio-hub/.proofline/criteria/ac-0006.md
T

17 lines
1.2 KiB
Markdown

---
id: "ac-0006"
status: active
---
# Installable Alembic migration payload와 exact inventory parity
## Criterion
`portfolio-hub`의 Alembic 설정, script template 및 모든 migration version은 wheel과 runtime image에 installable package data로 포함되어야 하며 runtime loader는 source checkout의 상위 경로에 의존하지 않고 `importlib.resources`로 이를 조회해야 한다. source, wheel 및 image의 canonical migration inventory는 non-empty이고 정확히 같아야 하며 migration 수를 영구 상수로 고정하지 않아야 한다.
## Verification
- 성공 조건: source checkout과 installed wheel/image에서 migration 경로 조회와 `pfhub migrate-db`가 가능하고, 세 inventory가 non-empty exact match다.
- 실패·경계 조건: `alembic.ini`, script template 또는 migration 하나라도 누락·추가·이름 불일치하면 검증이 실패하며, 단순 package import 또는 `pfhub --help` 성공으로 migration payload를 대체하지 않는다.
- 검사 방법: package-data 설정과 `app/db/migrations.py`를 검사하고 source↔wheel/image inventory regression 및 isolated PostgreSQL migration smoke를 실행한다.