Skip to content

[Hardening] Split doctor API key presence from validated API readiness #9

@Hanjo92

Description

@Hanjo92

Summary / 요약

doctor가 API key 존재 여부와 실제 API 사용 가능 여부를 구분해서 보여주도록 보강합니다.

Risk Or Quality Gap / 리스크 또는 품질 공백

현재 doctor()JULES_API_KEY가 있으면 api_ready=yes로 판단합니다. 키가 잘못됐거나 만료됐거나 다른 계정/권한에 묶여 있어도 사용자는 API 경로가 준비됐다고 오해할 수 있습니다.

Proposed Hardening / 제안 보강

  • api_key_presentapi_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.mdgoogle-jules-control/SKILL.md의 readiness 설명을 함께 검토합니다.

Acceptance Criteria / 완료 기준

  • doctor 출력에서 API key 존재와 실제 API 검증 상태가 분리된다.
  • invalid/unauthorized key가 준비 완료처럼 보이지 않는다.
  • compact 출력 문구가 사용자에게 혼동을 주지 않는다.
  • 관련 테스트와 문서가 업데이트된다.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:apiJules API helper and CLI behaviorenhancementNew feature or requestpriority:p1High priority follow-up

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions