Files
trex-core/.proofline/lines/line-0004/evidence/implementation-complete.md
T

3.9 KiB

구현 완료 evidence

이 파일은 ProofLine canonical lifecycle artifact가 아닌 GitHub issue comment 원문 evidence입니다. 기록된 구현·테스트 결과는 로컬 기능 브랜치의 사후 증거이며 ProofLine delivery closure, publication, release 또는 deployment 완료를 의미하지 않습니다.

Original Comment Body

구현 완료

승인된 #57 범위의 requester-versioned·runtime-locked image publication 구현과 독립 검증을 완료했습니다.

구현 내용

  • GHCR publication trigger를 strict vX.Y.Z tag push로 제한하고 일반 main/branch push, non-push event, malformed·leading-zero·prerelease/build tag를 fail-closed 처리
  • exact ${GITHUB_SHA} checkout 후 실제 git rev-parse HEAD를 다시 비교하여 source identity 검증
  • Git tag version을 pyproject.toml package version과 독립적인 container publication authority로 유지
  • Docker runtime dependency 설치가 repository-owned uv.lock을 실제로 소비하도록 uv sync --locked --no-dev --no-editable 적용
  • 기존 full Ruff·full pytest publication gate와 single build, built-image smoke, tested image ID, archive SHA-256, canary scan, OCI revision, no-rebuild publish 계약 보존
  • source-derived tag와 version tag를 같은 tested image에 부여하고 동일 registry digest를 가리키는지 검증
  • 성공 output·summary에 immutable image reference, digest, source commit과 selected version tag를 함께 기록하고 latest 생성 금지
  • operator documentation에 version tag 생성·push가 구현과 분리된 별도 사용자 승인 외부 쓰기임을 명시
  • 초기 후보의 checkout 재검증·version evidence 누락을 별도 후속 커밋에서 보완하여 이력을 보존

검증 결과

Release 집중·전체 회귀, 정적 검사, ProofLine validation, Docker build/smoke와 독립 read-only 리뷰를 모두 통과했으며 승인 차단 finding은 없습니다.

  • 최종 HEAD: e3fa8243d926efd0b81463dbfc5403cf6e4889f9
  • 최종 tree: ea05e23139965abed1f6a454c4ca2b5d356f8ab9
  • Release 집중 테스트: 75 passed
  • 전체 테스트: 1065 passed, 51 skipped
  • 전체 Ruff: All checks passed!
  • proofline validate: exit 0
  • git diff --check: PASS
  • checkout mismatch fail-closed 실동작: PASS
  • Docker build, built-image smoke, image ID, archive export·checksum, canary scan: PASS
  • image user 10001:10001, trex-core-daemon entrypoint와 OCI source revision 확인
  • 독립 read-only 리뷰: PASS, mutation=false, 승인 차단 finding 없음
  • 기능 브랜치 feat/issue-57-versioned-locked-publication과 worktree: clean

비차단 후속 권고

  • TREX_POSTGRESQL_TEST_DSN이 준비되면 PostgreSQL integration 41건을 실제 DB에서 재실행
  • TREX_RABBITMQ_TEST_URL이 준비되면 RabbitMQ integration 9건을 재실행
  • 안전한 KIS sandbox credentials가 준비되면 sandbox integration 1건을 재실행
  • 로컬에 actionlint를 마련하거나 향후 GitHub workflow 실행에서 Actions-level YAML·shell 해석을 추가 확인
  • version tag 생성·push와 GHCR publication은 별도 사용자 승인 후 수행하고, 게시 결과의 source/version tag가 동일 digest를 가리키는지 실제 registry evidence로 확인

현재 상태는 격리 기능 브랜치의 로컬 구현·검증·커밋 완료입니다. push·PR·main 반영·version tag 생성·GHCR 게시·배포·릴리스 완료를 의미하지 않습니다.