Files
portfolio-hub/.proofline/lines/line-0002/evidence/implementation-complete.md
T

51 lines
3.5 KiB
Markdown

# 구현 완료 — GitHub Issue #25 비정식 증적
> 이 문서는 ProofLine canonical lifecycle artifact가 아니다. #25 구현 당시 GitHub 댓글을 출처와 함께 원문 보존한 비정식 증적이다.
> 이 증거는 로컬 구현·검증 상태를 기록하지만 ProofLine 정식 implementation chronology, delivery closure, push, publication, release 또는 deployment 완료를 소급 증명하지 않는다.
> Source: https://github.com/fourblocks2020/portfolio-hub/issues/25#issuecomment-5277346458
> Comment ID: `IC_kwDOR4l8PM8AAAABOo3qmg`
> Author: `genichin`
> Created: `2026-08-13T07:27:30Z`
> Original body SHA-256: `e71adc00bfec74b8802134a154876e6325e051e8b10d8d3fff79f51aa48042d6`
---
## 구현 완료
`portfolio-hub` #25에서 승인한 requester-versioned GHCR 이미지 게시 기능을 구현하고 로컬 검증과 독립 리뷰까지 완료했습니다.
### 구현 내용
- Alembic 설정과 migration 28개를 installable package data로 이전하고 `importlib.resources` 기반 조회 및 source↔wheel/image inventory parity를 구현했습니다.
- Python 3.11·`uv.lock` 기반 multi-stage non-root(`10001:10001`) Docker image와 deny-by-default `.dockerignore`를 추가했습니다.
- branch/main 검증과 registry publication을 분리하고, strict `vX.Y.Z` tag push만 GHCR 게시 권한을 갖도록 구성했습니다.
- build-once tested artifact handoff, image ID, archive SHA-256, OCI revision, secret canary, no-rebuild publish, commit/version selector same-digest 검증을 구현했습니다.
- installed payload, DB-disabled `/health`, isolated PostgreSQL migration·DB ping, DB-enabled `/health` 및 exact-resource cleanup smoke를 구현했습니다.
- 게시 산출물의 digest identity, pre-start `pfhub migrate-db`, secret/read-only/writable mount 및 image rollback≠DB rollback 경계를 문서화했습니다. 운영 배포 기능·설정·실행은 포함하지 않았습니다.
- 로컬 커밋 `96260b6302e050c6e564f3eca4e723558f26246f`(`feat(release): add verified image publication pipeline`)으로 구현 스냅샷을 고정했습니다.
### 검증 결과
최종 스냅샷에서 코드·패키지·이미지·DB smoke와 독립 재리뷰가 모두 통과했습니다.
- Release focused tests: **23 passed**
- 전체 pytest: **621 passed, 6 skipped**
- `uv lock --check`: 통과
- Scoped Ruff: 통과
- `git diff --check`: 통과
- 실제 Python 3.11 local image build 및 canary scan: 통과
- 실제 installed-image/PostgreSQL startup smoke: 통과
- 이미지 UID/GID `10001:10001`, OCI revision과 기준 SHA 일치, migration 28개 및 최신 `0028` 포함 확인
- 최초 독립 리뷰 FAIL의 MAJOR 1건·MINOR 1건을 수정하고 영구 회귀 테스트를 추가함
- 독립 재리뷰: **PASS**, 기존 발견 모두 CLOSED, 새 회귀·배포 범위 확장 없음
- `.proofline` 변경 없음
### 비차단 후속 권고
- 원격 반영이 필요할 때 별도 requester 지시에 따라 기능 브랜치 push와 PR 생성 여부를 결정합니다.
- 원격 통합 후 branch/main hosted CI 결과를 exact commit 기준으로 확인합니다.
- 실제 `vX.Y.Z` tag push와 GHCR publication은 별도 명시 승인 후 수행하고, exact tag/SHA workflow 및 registry digest를 확인합니다.
- 운영 배포·재시작·production DB migration은 계속 별도 범위와 별도 승인으로 유지합니다.
> 현재 상태는 **로컬 구현·검증·커밋 완료**입니다. 푸시·PR·이미지 게시·배포·릴리스 완료를 의미하지 않습니다.