검증 루프와 중단 조건
검증 결과를 다음 단계의 관문으로 연결하고 반복 및 자원 한도를 적용합니다.
진도 0%
레슨
- 계획부터 수정까지 상태 전이
계획·구현·테스트·검토·수정 루프에서 실패하면 완료로 이동하지 못하게 구현합니다.
- 테스트와 검토 관문
하네스가 단위·통합 검사 종료 코드를 확인한 뒤 검토 대기로 이동하게 구성합니다.
- 반복과 자원 예산
호출 수·누적 토큰·경과 시간의 상한과 같은 실패 3회 중단을 모의 이벤트로 판정합니다.
- 같은 과제로 결과 비교
고정 평가 사례에서 요구 충족률·실패 유형·시간·토큰을 집계하고 평균에 가려진 실패를 설명합니다.
검증 루프와 중단 조건 미션
m08-tool-boundaries 미션 solution 전체의 Java 앱·명세·회귀·권한 하네스를 이어받습니다. gate.py의 종료 코드 결함을 고쳐 실제 검사 결과가 검토 관문에 연결되게 하고 고정 응답 fixture의 중단 기록을 확인합니다.
요구사항
- 앞 모듈 정책을 적용한 검증 루프 실행기를 구성합니다.
- 모델 호출은 고정 응답 fixture로 대체해 실제 비용 없이 검사합니다.
- 테스트 실패·검토 미완료·예산 초과 시 중단과 다음 조치를 남깁니다.
- 수정은 gate.py의 종료 코드 TODO와 실제 관찰을 적는 handoff.md·state.json에 한정합니다. 기존 앱·테스트·정책·검사 파일은 보존합니다.
- loop_core.py는 레슨 상태·예산·평가 모형을 제공하고 loop_runner.py는 기존 guarded_capture·current_evidence로 단위·Java/참조 통합 검사 근거를 연결합니다.
- python3 loop_runner.py의 loop-report.json에 사례별 실제 종료 코드·해시·가린 로그와 중단 사유·다음 조치를 보존합니다. review는 교육용 고정 해시 승인 fixture이며 실제 사람 검토가 아닙니다.
- seconds는 모의 누적 초입니다. 실제 모델 호출·과금·실시간 deadline·자동 코드 수정은 구현하지 않습니다.
완료 기준
- bash check.sh 실행 시 다음 기준을 검사하고 성공이면 종료 코드 0을 반환합니다.
- 루프 fixture에서 테스트 실패나 검토 거절 상태가 완료로 바뀌지 않습니다.
- 반복 3회·호출 및 토큰 및 시간 상한 초과 각각에서 추가 실행을 중단합니다.
- 고정 사례 ID별 실패를 보존하며 비교 집계가 기대 결과와 일치합니다.
- JDK 17·Spring Boot 3.1.5에서 ./mvnw test로 기존 회귀와 LoopTest를 실행합니다. 캐시 환경은 ./mvnw -o -q test 또는 LAB_OFFLINE=1 bash check.sh입니다.
- 새 Python 관문 9개·루프 18개 검사가 종료 코드 실패·미확인·승인 대기 및 거절·승인 해시 불일치·권한 거절 미호출·시도/호출/토큰/모의시간 한도·회귀 집계를 확인합니다. starter는 관문 일부 실패, solution은 전부 통과합니다.
- python3 loop_runner.py는 실제 검사를 순차 실행하고 고정 승인 대상 파일과 현재 파일이 같을 때만 completed:verified를 반환합니다.
bash check.sh미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 요구사항과 실제 검증 근거를 연결해 설명합니다.
- 본인이 판단한 사항과 AI에 맡긴 사항을 구분합니다.
- 통과·실패·미확인 상태를 사실대로 기록합니다.