2.6 KiB
2.6 KiB
Activity Log — line-0010
2026-09-20
- 사용자 확인으로
dcy-0010을 confirmed 처리했다. - 사용자 승인으로
req-0010을 approved,ac-0035~ac-0037을 active 처리했다. proofline validate통과. 기존 line-0001~0009 status 누락 warning만 존재한다.- 구현 계획:
- observed evidence strict parser, versioned gate record와 raw-byte digest receipt
- explicit PRE/POST path와 trusted digest 기반 pair validator/manifest
- regular file/symlink isolation type·size·hash manifest
- operations-owned lifecycle 경계 문서화
- focused/full/ProofLine 검증과 독립 review
- 실제 production lifecycle command, runtime inspect, global lock과 checkout 복구는 범위 밖이며 실행하지 않는다.
구현 및 검증
release_provenance_gate.py를 versioned--observed-evidence-file입력과 machine-readable raw-byte digest receipt로 전환했다.- Strict observed evidence parser, v1 gate record, trusted-digest PRE/POST pair validator와
scripts/verify_release_provenance_pair.py를 추가했다. - Dirty checkout isolation을 regular file/symlink type·size·SHA-256 copy integrity manifest로 강화했다.
docs/operations.md에 source/operations 책임 경계와 새 gate/pair 절차를 반영했다.- Focused 검증:
32 passed, 3 skipped; 변경 파일 Ruff 통과. - 전체 회귀:
1247 passed, 96 skipped. - 저장소 전체
ruff check .는 변경 전부터 존재하는 광범위한 baseline 위반 719건으로 실패했다. 이번 변경 파일에 한정한 Ruff 결과는 PASS다. - 다음 작업: canonical ProofLine/diff 재검증, 독립 runtime/impact review, PR delivery.
독립 리뷰 차단사항 수정
- AC/security와 runtime/downstream 독립 리뷰가 동일하게 checkout 밖 symlink target 허용을 차단 결함으로 재현했다.
- 원인은 symlink target text의 복사 무결성만 검사하고 target 해석 경계를 검사하지 않은 것이었다.
- 절대 symlink target과 상대
..escape를 복사 전에 거부하고, 상대 target resolve 결과가 checkout 내부인지 검증하도록 수정했다. - 외부 absolute/relative escape fail-closed 및 source 불변 회귀와 내부 상대 symlink 성공 회귀를 추가했다.
- 수정 후 focused 검증:
35 passed, 3 skipped; 전체 회귀1250 passed, 96 skipped. - 변경 파일 Ruff·compile,
proofline validate,git diff --check통과. ProofLine에는 기존 line-0001~0009 status warning만 남아 있다. - 차단사항 독립 재검토 PASS: focused isolation
4 passed, 관련 persistence/CLI22 passed, 3 skipped, chained symlink escape 수동 probe도 fail-closed. 잔여 blocker 없음.