Devin.KR

검증 루프와 중단 조건

검증 결과를 다음 단계의 관문으로 연결하고 반복 및 자원 한도를 적용합니다.

진도 0%

레슨

  1. 계획부터 수정까지 상태 전이

    계획·구현·테스트·검토·수정 루프에서 실패하면 완료로 이동하지 못하게 구현합니다.

  2. 테스트와 검토 관문

    하네스가 단위·통합 검사 종료 코드를 확인한 뒤 검토 대기로 이동하게 구성합니다.

  3. 반복과 자원 예산

    호출 수·누적 토큰·경과 시간의 상한과 같은 실패 3회 중단을 모의 이벤트로 판정합니다.

  4. 같은 과제로 결과 비교

    고정 평가 사례에서 요구 충족률·실패 유형·시간·토큰을 집계하고 평균에 가려진 실패를 설명합니다.

검증 루프와 중단 조건 미션

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에 맡긴 사항을 구분합니다.
  • 통과·실패·미확인 상태를 사실대로 기록합니다.