6.1 KiB
6.1 KiB
구현 진행 상황 evidence
이 파일은 ProofLine canonical lifecycle artifact가 아닌 GitHub issue comment 원문 evidence입니다. 기록된 구현·테스트 결과는 로컬 기능 브랜치의 사후 증거이며 ProofLine delivery closure, publication, release 또는 deployment 완료를 의미하지 않습니다.
- Source URL: https://github.com/fourblocks2020/trex-core/issues/57#issuecomment-5290665935
- Comment ID:
5290665935 - Node ID:
IC_kwDOSvywKc8AAAABO1knzw - Author:
genichin - Created at:
2026-08-14T07:22:00Z - Updated at:
2026-08-14T07:41:51Z - Original body SHA-256:
c9631a1402a51de699676a4d8791c206e9b6f4e197d134e16027cdc179f96c5f - Captured from GitHub API:
2026-08-14T16:51:15+09:00
Original Comment Body
구현 진행 상황
- 대상: [Discovery] requester-versioned·runtime-locked image publication
- 브랜치:
feat/issue-57-versioned-locked-publication - 기준:
main(1a2b50072238ea72186d99b3ec951fc9511100aa) - 상태: 🟢 로컬 구현·검증 완료 — 독립 리뷰 PASS
- 최종 업데이트: 2026-08-14 16:41:50 KST
구현 계획 및 작업 목록
- 1. 기존 게시 안전장치와 변경 영향 범위 확인
- tag trigger, 검증 순서, tested-image handoff, digest·canary·secret 경계와 기존 회귀 테스트를 기준선으로 고정합니다.
- 2. 요청자 버전 태그 전용 게시 흐름 구현
- strict
vX.Y.Ztag push만 허용하고 일반main/branch push와 malformed event는 registry write 전에 차단합니다.
- strict
- 3. 컨테이너 runtime dependency lock 적용
- repository의
uv.lock을 실제 runtime 설치에 사용하고 lock mismatch·unlocked 설치를 fail-closed 처리합니다.
- repository의
- 4. 이미지 식별자·게시 근거와 운영 문서 갱신
- source tag와 version tag의 same-digest, no-
latest, source/version/digest evidence 및 tag push 승인 경계를 반영합니다.
- source tag와 version tag의 same-digest, no-
- 5. 회귀 테스트와 전체 검증 수행
- release contract 집중 테스트, 전체 Ruff, 전체 pytest, ProofLine validation과 가능한 local image build/smoke를 실제 실행합니다.
- 6. 독립 검토와 최종 구현 근거 정리
- 구현자와 분리된 read-only 검토를 받고, 반려 시 보완·재검증한 뒤 최종 commit과 검증 결과를 기록합니다.
진행 기록
- 승인된 #57 Discovery 본문과 OQ 결정(A: package version 독립, B: 일반 main/branch용 별도 CI 미추가)을 구현 범위의 기준선으로 고정했습니다.
- 격리 worktree와 기능 브랜치를
1a2b50072238ea72186d99b3ec951fc9511100aa에서 생성했습니다. - 기준선 확인 완료: 기존 workflow의 single build→smoke→image ID→archive checksum/canary scan→tested artifact handoff→no-rebuild publish와 publish-job-only
packages: write경계를 확인했습니다. - AC 영향 범위 확인: AC-0004·AC-0006·AC-0008 update, runtime lock AC create, AC-0005·AC-0007 유지 경계로 고정했습니다.
- 변경 전 기준선 검증:
proofline validatePASS, 전체 Ruff PASS, 전체 pytest1040 passed, 51 skipped; 기준 branch와 worktree는 clean입니다. - version tag 생성·push, GHCR publication, PR, main 반영, release와 deployment는 수행하지 않습니다.
- 초기 구현 commit
cb8fcee226ab71f522fe1bbef35d60197947850c생성: strict tag-only trigger와 runtimeuv.lock설치, 기존 release safety contract 및 운영 문서 변경을 포함합니다. - 초기 후보 검증: release 집중
71 passed, 전체1061 passed, 51 skipped, Ruff·ProofLine·diff check PASS. skip은 PostgreSQL 41건, RabbitMQ 9건, KIS sandbox 1건입니다. - 팀장 diff 검토에서 승인 계약 누락 2건을 확인해 최종 완료를 보류했습니다: (1) checkout 후 실제
HEAD == GITHUB_SHA재검증 없음, (2) 성공 output/summary에 selected version tag evidence 없음. - 위 2건은 계획 변경이 아니라 승인된 #57의 결함 보완이며, 초기 후보 위에 별도 수정 commit을 만들고 전체 검증·독립 리뷰를 다시 수행합니다.
- 보완 commit
e3fa8243d926efd0b81463dbfc5403cf6e4889f9생성: checkout HEAD 재검증과 selected version tag output/summary evidence를 추가했고 초기 커밋은 보존했습니다. - 팀장 최종 후보 재검증: release 집중
75 passed, 전체1065 passed, 51 skipped, Ruff·ProofLine·diff check PASS, checkout mismatch fail-closed 실동작 확인. - Docker 재검증: built-image smoke, image ID, archive export/checksum, canary scan PASS; non-root
10001:10001, daemon entrypoint와 OCI revision을 확인했습니다. - 구현·검증 항목 2~5를 완료했으며, 최종 후보
e3fa824에 고정한 독립 read-only 리뷰를 진행합니다. - 독립 read-only 리뷰 최종 PASS (
mutation=false, targete3fa8243d926efd0b81463dbfc5403cf6e4889f9): release75 passed, 전체1065 passed, 51 skipped, Ruff·ProofLine·diff check PASS, 승인 차단 finding 없음. - skip 분류: PostgreSQL integration 41건(DSN 없음), RabbitMQ integration 9건(URL 없음), KIS sandbox 1건(credentials 없음).
- 독립 리뷰의 비차단 참고: 새 review environment는
uv sync --extra dev --locked후 검증했으며, candidate Docker build/registry write는 리뷰에서 수행하지 않았습니다. Docker contract는 구현자와 팀장이 별도로 실제 build/smoke/scan으로 확인했습니다. - 최종 기능 브랜치 HEAD와 tree는 각각
e3fa8243d926efd0b81463dbfc5403cf6e4889f9,ea05e23139965abed1f6a454c4ca2b5d356f8ab9; worktree clean. 임시 detached review worktree는 검토 후 정리했습니다. - 현재 완료 경계는 격리 기능 브랜치의 로컬 구현·검증·커밋입니다. push, PR, main 반영, tag 생성·push, GHCR publication, release와 deployment는 수행하지 않았습니다.
각 작업이 실제로 완료되고 검증될 때마다 이 댓글의 체크박스와 진행 기록을 갱신한다. 체크 표시는 구현 완료 또는 해당 검증의 실제 통과를 의미하며, 배포·릴리스 완료를 의미하지 않는다.