v0.9.1 — 알려진 이슈 수정 + status 제어문자 세정(보안 하드닝)
전체 보안 감사 결과 확정 취약점 0건을 확인했고, 감사 중 드러난 하드닝 1건과 이전에 분석해 둔 알려진 이슈 4건을 정리한 패치 릴리스다.
Fixed
- 상태 전이:
in_progress/blocked의 제자리 갱신을 허용한다. durable 루프는 여러 라운드 동안in_progress에 머물고 카드는 living handoff이므로 same-state 진척 갱신은STATE-002위반이 아니다. 체크포인트 상태(ready_for_review·verified·handed_off·closed)는 여전히 제자리 재선언을 금지한다. - hermes install:
install --platform hermes --force가 심링크 타깃에서 크래시하지 않는다.shutil.rmtree가 최상위 심링크에서OSError를 던지므로, 심링크는 unlink 후 복사하고 실디렉터리만 rmtree한다. - privacy-lint: 유출 게이트를 git-tracked 파일로 한정한다. untracked·git-ignored 스크래치 파일로 로컬 스위트만 붉어지던 오탐을 없앤다(git 없는 sdist에서만 트리 순회 폴백).
Security
loopuccino status: loop 로그와 계약 카드의 터미널 제어문자(C0/C1·CR·ESC)를 출력 전에 제거한다. 두 파일은 다른 에이전트가 쓰므로 신뢰 불가 문자열이 사람의 터미널에 이스케이프 시퀀스를 내보내지 못하게 한다.
Tests
- 위 네 항목 회귀 커버리지 + 배포 스크립트
validate_source_review.py의 첫 테스트(종결 스키마·영수증 일관성 판정).
검증: pytest 128 passed (Python 3.9–3.13 CI green), uv build 성공.
Full Changelog: v0.9.0...v0.9.1