Skip to content

perf: cache hosting verification calls#56

Merged
es5h merged 1 commit into
mainfrom
perf/hosting-verify-cache
May 12, 2026
Merged

perf: cache hosting verification calls#56
es5h merged 1 commit into
mainfrom
perf/hosting-verify-cache

Conversation

@es5h

@es5h es5h commented May 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • wt list --verify-hosting 텍스트 모드에서 hosting note 생성과 row 출력이 같은 hosting 검증을 중복 실행하던 흐름을 제거했습니다.
  • command-scoped cache를 추가해 provider auth는 provider별 1회, hosting merge lookup은 (provider, branch, baseRef)별 1회만 실행되도록 했습니다.
  • wt cleanup --json도 같은 cache를 사용해 동일 branch가 여러 worktree에 나타날 때 repeated hosting lookup을 줄입니다.

User impact

  • stdout/stderr 형식과 exit code 계약은 변경하지 않았습니다.
  • JSON 필드 hostingChangeURL, legacy hostingChangeUrl, hostingReason, mergedViaHosting를 유지합니다.
  • 사용자가 체감하는 변화는 gh auth status/glab auth statusgh pr list/glab api 외부 호출 횟수가 줄어드는 것입니다.

Behavior

  • wt list --verify-hosting 텍스트 출력은 worktree별 verify 결과를 한 번 계산한 뒤 note와 row 출력에서 재사용합니다.
  • 같은 command 실행 안에서 동일 provider auth 결과를 재사용합니다.
  • 같은 command 실행 안에서 동일 (provider, branch, baseRef) hosting merge query 결과를 재사용합니다.

Safety

  • worktree 삭제, prune, reset 같은 파괴적 동작은 추가하지 않았습니다.
  • cleanup의 candidate 산정, 출력 필드, note 문자열은 기존 계약을 유지합니다.
  • 병렬화는 추가하지 않았고 기존 순차 실행 흐름을 유지합니다.

Tests

  • make fmt 완료, exit code 0, stdout/stderr 없음.
  • make test 완료, exit code 0, 전체 Go package 테스트 통과.
  • make check 완료, exit code 0, stdout/stderr 없음.
  • make premerge 완료, exit code 0, 전체 Go package 테스트 통과.

E2E guide

현재 repo 기준:

wt run perf/hosting-verify-cache -- make test
wt run perf/hosting-verify-cache -- make check
wt run perf/hosting-verify-cache -- make premerge

호출 횟수 회귀는 fake runner 기반 테스트로 재현합니다.

E2E Done

  • 완료: wt run perf/hosting-verify-cache -- make test
    • exit code: 0
    • stdout 핵심: cmd/wt, internal/git, internal/hosting, internal/worktree 테스트 통과
    • stderr 핵심: 없음
    • evidence: local command output
  • 완료: wt run perf/hosting-verify-cache -- make check
    • exit code: 0
    • stdout/stderr 핵심: 없음
    • evidence: local command output
  • 완료: wt run perf/hosting-verify-cache -- make premerge
    • exit code: 0
    • stdout 핵심: 전체 Go package 테스트 통과
    • stderr 핵심: 없음
    • evidence: local command output

Docs

  • 사용자-facing 출력/옵션/JSON schema 변경이 없어 문서 변경은 없습니다.

@es5h es5h merged commit a384e17 into main May 12, 2026
3 checks passed
@es5h es5h deleted the perf/hosting-verify-cache branch May 12, 2026 12:42
@es5h es5h mentioned this pull request May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant