Files
trex-core/.proofline/lines/line-0010/evidence/activity-log.md
T

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만 존재한다.
  • 구현 계획:
    1. observed evidence strict parser, versioned gate record와 raw-byte digest receipt
    2. explicit PRE/POST path와 trusted digest 기반 pair validator/manifest
    3. regular file/symlink isolation type·size·hash manifest
    4. operations-owned lifecycle 경계 문서화
    5. 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/CLI 22 passed, 3 skipped, chained symlink escape 수동 probe도 fail-closed. 잔여 blocker 없음.