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