docs: E2E approval flow success verification #task-264 #task-255

This commit is contained in:
2026-03-09 21:44:54 +09:00
parent bf0e046cbb
commit 520d36ea43
2 changed files with 47 additions and 7 deletions

View File

@@ -2,10 +2,11 @@
| # | 시간 | 작업 설명 | 커밋 | 상태 |
|---|------|----------|------|------|
| 001 | 08:00~09:17 | 승인 실행 메커니즘 연구 + step-type별 VS Code 명령 분기 구현 | included in 002 | 🔧 |
| 002 | 09:21~15:07 | SDK 승인 명령 미등록 확정 + Renderer DOM Click 구현 | `4497e96` | 🔧 |
| 003 | 15:32~17:59 | Renderer v3 deep DOM traversal (iframe/webview/shadow 관통) | `32bf5ae` | 🔧 |
| 004 | 18:08~18:23 | Deep inspect HTTP endpoint (/deep-inspect) + 렌더러 재귀 인스펙터 | `a07d9d3` | 🔧 |
| 005 | 18:30~19:28 | workbench.html inline v3 패치 누락 수정 + pre-patch 검증 | `b61cff1` | 🔧 |
| 006 | 19:38~19:56 | V8 CachedData 진단 + 캐시 삭제 (renderer 미실행 근본 원인) | docs only | 🔧 |
| 007 | 20:04~20:28 | CSP script-src `'unsafe-inline'` 패치 (renderer 미실행 진짜 근본 원인) | `08077e8` | 🔧 |
| 001 | 08:00~09:17 | 승인 실행 메커니즘 연구 + step-type별 VS Code 명령 분기 구현 | included in 002 | |
| 002 | 09:21~15:07 | SDK 승인 명령 미등록 확정 + Renderer DOM Click 구현 | `4497e96` | |
| 003 | 15:32~17:59 | Renderer v3 deep DOM traversal (iframe/webview/shadow 관통) | `32bf5ae` | |
| 004 | 18:08~18:23 | Deep inspect HTTP endpoint (/deep-inspect) + 렌더러 재귀 인스펙터 | `a07d9d3` | |
| 005 | 18:30~19:28 | workbench.html inline v3 패치 누락 수정 + pre-patch 검증 | `b61cff1` | |
| 006 | 19:38~19:56 | V8 CachedData 진단 + 캐시 삭제 (renderer 미실행 근본 원인) | docs only | |
| 007 | 20:04~20:28 | CSP script-src `'unsafe-inline'` 패치 (renderer 미실행 진짜 근본 원인) | `08077e8` | |
| 008 | 21:00~21:30 | **E2E 승인 플로우 성공 검증** — AG 재시작 후 renderer v3 실행 확인 + Discord 승인→명령 실행 | pending | ✅ |

View File

@@ -0,0 +1,39 @@
# 008: E2E 승인 플로우 성공 검증
**시간**: 21:00~21:30
**상태**: ✅ 완료
**관련 태스크**: #264, #255
## 요약
AG 재시작 후 **E2E Discord 승인 플로우가 최초 성공**:
1. AI가 `echo` 명령 실행 → AG에서 Run 버튼 승인 대기
2. Extension이 step-probe로 `CORTEX_STEP_STATUS_WAITING` 감지 → pending 파일 생성
3. Discord 봇이 pending 읽어 채널에 승인 요청 전달
4. 사용자가 Discord에서 ✅ 승인 클릭
5. 봇이 response 파일 작성 → Extension이 읽음 → AG에서 명령 실행됨
## 성공 아키텍처
```
AG (AI) → Extension (step_probe RPC poll) → bridge/pending/*.json
→ Discord Bot → ⚠️ 승인 요청 (embed + buttons)
→ User clicks ✅ → bridge/response/*.json
→ Extension reads → trigger-click/DOM click → 명령 실행
```
## 핵심 전제 조건 (이것들이 모두 갖춰져야 동작)
1. **CSP `'unsafe-inline'`**: workbench.html의 `script-src`에 필수
2. **V8 CachedData 삭제**: HTML 패치 변경 시 `%APPDATA%\Antigravity\CachedData\*` 삭제 필수
3. **product.json 체크섬**: 수정된 HTML 파일의 SHA256 해시 업데이트
4. **양쪽 HTML 패치**: workbench.html + workbench-jetski-agent.html 모두 inline 스크립트
5. **AG 풀 프로세스 재시작**: Reload Window로는 불충분 (File → Exit → 재실행)
## 발견된 이슈 (다음 커밋에서 수정 예정)
- 중복 pending (DOM scan + step-probe 동시 발생)
- 버튼 텍스트에 키보드 단축키 포함 (`RunAlt+↵`)
- 봇 reject 시 ResolveOutstandingSteps가 AI 작업 취소
- Stall fallback 40초가 불필요 (step probe 즉시 감지로 대체됨)