# 구현 완료 — 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·이미지 게시·배포·릴리스 완료를 의미하지 않습니다.