v1.9.415 — honesty fix: handoff security false-OK + scan/encoding/contract --json (9th review)
9번째 외부 멀티모델 리뷰 종합 (leerness 1.9.414 → 1.9.415)
일자: 2026-06-07 · 방식: 깨끗한 경로 3개에 npm i leerness@latest(1.9.414) + README 제거(직접-사용 평가 강제) · 모델: Codex GPT-5.5(외부 CLI) / Claude Sonnet 4.8 / Claude Opus 4.8(별도 에이전트)
원칙: 모든 발견(외부/자체) 직접 재현·검증 후 가치 vs by-design 판단(맹신 X).
3개 모델 공통 결론
leerness의 핵심 가치(에이전트 검증·기억·인수인계·보안 가드)는 실제로 동작하고, 데이터 무결성(파이프/개행 이스케이프 round-trip)·공급망 안전성(0 deps/0 install-script)·원자적 쓰기·시크릿 FP/FN 품질·160 selftest가 동급 대비 견고 — 3모델 일치 호평.
공통 약점: 출력/상태 의미의 일관성(--json 결손, "OK/healthy" 의미 과장), 명령 표면 비대(80), init 침습성.
발견 검증 결과 (직접 재현)
| # | 발견 | 모델 | 검증 | 조치 |
|---|---|---|---|---|
| 1 | handoff "🔒 보안 OK"가 .env gitignore만 확인(하드코딩 시크릿 무시) — 의미적 false-OK |
Codex P1 | ✅ 코드 확인(7679) | 1.9.415 수정 |
| 2 | scan secrets / encoding check --json 무시(텍스트) |
Opus/Codex P2 | ✅ 확인 | 1.9.415 수정 |
| 3 | contract verify --json 불일치인데 exit 0 |
Opus P2 | ✅ 확인 | 1.9.415 수정 |
| 4 | status/health healthy:true가 설치파일존재(프로젝트안전 아님) |
Codex P2 | ✅ 확인(by-design이나 라벨 오해) | UR-0121 잔여(라벨 명확화) |
| 5 | team add positional path 미지원(list만 지원) | Sonnet P1/Codex | ✅ 확인 | UR-0122 |
| 6 | contract field 검증 tick. 전용 하드코딩 |
Opus P2 | ✅ 확인(니치) | UR-0123 |
| 7 | task/requests add 빈/경로 입력 검증 | Opus/Sonnet P3 | ✅ 확인 | UR-0122 묶음 |
| 8 | --compact 실제 압축 안 됨(201 vs 186줄) | Sonnet/Codex P2 | ✅ 확인 | UR-0124 |
| 9 | init 침습성(56~119파일) / 80명령 / handoff 2.1s | 3모델 P2~P3 | ✅ 확인(전략) | UR-0124 |
| — | contract verify 백틱 불릿 누락 | Opus P1 | ❌ 기각(이미 작동, 1.9.385) | — |
| — | npm 패키지 .harness 동봉 | Sonnet | ❌ 기각(미동봉) | — |
| — | route/gate/audit 동시성 손상 | Opus(초기) | ❌ 기각(Opus 자체 정정, 파이프 아티팩트) | — |
1.9.415 수정 (확정 P1/P2 — 정직성·기계가독성 클러스터)
- handoff 보안 헤드라인 정직화: 실제 시크릿 스캔 반영(
_collectSecretFindings단일 출처). 가장 중요 — anti-laziness 도구가 보안에서 거짓 안심 주던 결함. - scan secrets / encoding check --json + exit code.
- contract verify --json 불일치 exit 1.
설계/방향 제안 (3모델 합의 → 다음 라운드)
- --json 전수 계약: 모든 명령
opts.json수용 + selftest 메타 회귀("모든 --json은 JSON.parse 가능"). (UR-0124 확장) - 상태 명령 의미 정리: status=설치, gate=프로젝트안전, audit=메타 — 이름/출력에 명시(또는 "보안 OK"를 좁은 표현으로). (UR-0121)
- 명령 계층화: 80 플랫 → 그룹 서브커맨드(memory/audit/agent/release) +
--help그룹뷰. (UR-0124) - init 프로파일:
--minimal/--with-agents/--with-hooks분리, 기본 덜 침습적. (UR-0124) - 핵심 5축 집중: 검증·기억·인수인계·보안·감사를 전면에(0-dep/atomic/selftest 신뢰 시그널 노출).
비고
Codex의 한 줄 총평: "AI 세션 메모리 + 근거 기반 완료 검증 + 로컬 gate 방향은 가치. 현재는 상태/보안 false OK가 가장 위험." → 그 1순위 위험을 1.9.415에서 제거.