Summary / 요약
doctor가 API key 존재 여부와 실제 API 사용 가능 여부를 구분해서 보여주도록 보강합니다.
Risk Or Quality Gap / 리스크 또는 품질 공백
현재 doctor()는 JULES_API_KEY가 있으면 api_ready=yes로 판단합니다. 키가 잘못됐거나 만료됐거나 다른 계정/권한에 묶여 있어도 사용자는 API 경로가 준비됐다고 오해할 수 있습니다.
Proposed Hardening / 제안 보강
api_key_present와 api_reachable 또는 api_auth_valid를 분리해서 표현합니다.
- 기본
doctor가 네트워크 호출을 하지 않는 정책을 유지할지, --validate-api 같은 opt-in probe를 추가할지 결정합니다.
- compact 출력에서도 “키 존재”와 “검증된 준비 상태”의 의미가 혼동되지 않게 이름을 정리합니다.
- 문서의 readiness 설명을 새 의미에 맞게 업데이트합니다.
Verification Plan / 검증 계획
- 키 없음, 키 있음/검증 안 함, API probe 성공, API probe 실패를 모킹한 단위 테스트를 추가합니다.
doctor --compact와 JSON 출력이 같은 의미를 갖는지 확인합니다.
docs/setup-and-test.md와 google-jules-control/SKILL.md의 readiness 설명을 함께 검토합니다.
Acceptance Criteria / 완료 기준
References / 참고 자료
google-jules-control/scripts/jules_api.py: doctor()
tests/test_jules_api.py: test_doctor_reports_api_ready_without_merge_ready
- 분석일: 2026-04-24
Summary / 요약
doctor가 API key 존재 여부와 실제 API 사용 가능 여부를 구분해서 보여주도록 보강합니다.Risk Or Quality Gap / 리스크 또는 품질 공백
현재
doctor()는JULES_API_KEY가 있으면api_ready=yes로 판단합니다. 키가 잘못됐거나 만료됐거나 다른 계정/권한에 묶여 있어도 사용자는 API 경로가 준비됐다고 오해할 수 있습니다.Proposed Hardening / 제안 보강
api_key_present와api_reachable또는api_auth_valid를 분리해서 표현합니다.doctor가 네트워크 호출을 하지 않는 정책을 유지할지,--validate-api같은 opt-in probe를 추가할지 결정합니다.Verification Plan / 검증 계획
doctor --compact와 JSON 출력이 같은 의미를 갖는지 확인합니다.docs/setup-and-test.md와google-jules-control/SKILL.md의 readiness 설명을 함께 검토합니다.Acceptance Criteria / 완료 기준
doctor출력에서 API key 존재와 실제 API 검증 상태가 분리된다.References / 참고 자료
google-jules-control/scripts/jules_api.py:doctor()tests/test_jules_api.py:test_doctor_reports_api_ready_without_merge_ready