---
task_id: task-2493
type: read-only-audit
scope: GitHub App bot permissions preflight evidence + 1차 NO-GO 정정 이력
status: completed
---

# task-2493 context-notes

## 사전 조건
- task-2483: BOT 토큰 갱신 사이클 LIVE 검증 완료 (PR #45 머지 — 단 사람 머지)
- task-2481R audit: `memory/reports/task-2481R.md`
- DOGFOODING_PENDING 분류: `memory/feedback/feedback_dogfooding_pending_classification_260507.md`

## 검증 환경
- Token: BOT_GITHUB_TOKEN (`/home/jay/workspace/.env.keys`) — installation token (ghs_ prefix)
- Repo: Jeon-Jonghyuk/dev_workspace (8 repos installation, repository_selection=all)
- Bot login: `jeon-jonghyuk-taskctl-bot[bot]`

## 1차 감사 NO-GO 판정의 방법론 오류 (2차에서 정정)

### 오류 1: x-accepted-github-permissions 헤더 오해석
- 헤더 의미: 해당 endpoint가 *요구하는 최소 권한*
- 오해석: bot이 보유한 권한 목록으로 간주

### 오류 2: /installation/repositories permissions field 오해석
- 필드 의미: collaborator 관점 권한 (App installation token에는 항상 false)
- 오해석: App 자체 push 권한 부재로 간주

### 정정 evidence
- PR #33/34/35 (user.type=Bot, login=`jeon-jonghyuk-taskctl-bot[bot]`, merged=True) 존재
  → POST /repos/.../pulls 성공 = pull_requests:write 실증

## 잔여 불확실
- contents:write (branch push): bot authored PR들의 head commits가 사람 author → 직접 증거 없음
- checks: GET /check-suites 404 — 미부여 추정

## 부수 발견
- bot-token-refresh.jsonl 마지막 기록 expires_at 2026-05-07T17:09:33Z이나 현재(2026-05-08) 토큰 응답 정상
  → systemd 갱신은 동작, jsonl logging 일부 누락 의심 → 별도 task 권장

## 외부 의존
- GitHub App PEM 위치: `feedback_github_app_key_location_260507.md`
- refresh_bot_token.py: permissions 파라미터 빈 본문 → App 전체 권한 상속
