# product.json 체크섬 불일치 → 렌더러 스크립트 미실행 근본 원인 발견

- **시간**: 2026-03-08 17:01~17:38
- **Vikunja**: #258 (Multi-window 격리 + DOM Observer 렌더러 디버깅)

## 진단 과정

1. Antigravity 재설치 후 Extension Host는 정상 (bridge HTTP 포트 응답, POLL 활성, 세션 등록)
2. 렌더러 스크립트 `.js` 파일은 디스크에 존재, `<script>` 태그도 HTML에 존재
3. DevTools Console에 `[GB Observer]`, `[AG SDK]` 로그 = **0건**
4. 스크립트 파일 첫 줄에 `[AG PROBE]` 진단 프로브 삽입 → **여전히 0건**
5. 결론: Electron이 JS 파일 자체를 로딩하지 않음

## 근본 원인

- Antigravity 재설치 → `product.json` SHA256 체크섬이 원본으로 리셋
- Extension `setupApprovalObserver()`가 HTML 패치 후 **`IntegrityManager.suppressCheck()` 미호출**
- `vscode-file://` 프로토콜이 체크섬 불일치 파일을 거부 → **원본 캐시 HTML 서빙**
- 결과: 수정된 HTML (script 태그 포함)이 디스크에 존재하지만, Electron은 원본 HTML을 렌더링

## 해결

- `product.json` → `checksums` 섹션에서 수정된 2개 파일 해시 수동 업데이트:
  - `vs/code/electron-browser/workbench/workbench.html`
  - `vs/code/electron-browser/workbench/workbench-jetski-agent.html`
- 해시 계산: `base64(sha256(fileBytes)).replace(/=+$/, '')`

## 미완료

1. **E2E 검증 미완**: Antigravity 재시작 후 `[AG PROBE]`/`[GB Observer]` 로그 출현 확인 필요
2. **Extension 코드 수정**: `setupApprovalObserver()`에 `IntegrityManager.suppressCheck()` 영구 추가
3. **diagnostic probe 제거**: `ag-sdk-variet-gravity-bridge.js` 첫 줄의 `[AG PROBE]` 제거
