docs: E2E 코드 검증 결과 기록 — known-issues #632 업데이트 + devlog 003

This commit is contained in:
Variet Worker
2026-04-16 17:17:18 +09:00
parent 7ae43088e6
commit 60a2a97868
2 changed files with 14 additions and 5 deletions

View File

@@ -23,11 +23,19 @@
### [2026-04-16] [Extension] ★ AG Native 세션 AI 응답이 Discord에 전혀 전달되지 않음 (미해결, #632)
- **증상**: Discord에 **명령 승인 신호만 전달**되고, AI의 대화 응답/답변 텍스트는 전혀 전달되지 않음. 수십 세션에 걸쳐 지속 발생.
- **원인 1 (SDK 경로)**: `GetCascadeTrajectorySteps(cascadeId=세션ID)``500 trajectory not found`. AG Native 세션은 Cascade trajectory API에 등록되지 않아 step-probe의 RT-CAPTURE가 불가능. `stepCount`가 항상 1, `delta`는 항상 0이므로 응답 캡처 루프 진입 자체가 안 됨.
- **원인 2 (DOM 경로)**: Observer `scanChatBodies()``[data-testid="conversation-view"]`, `[data-step-index]`, `.markdown-body`, `.prose` 등을 탐색하지만, **AG Native 렌더러에는 이 셀렉터가 전부 존재하지 않음** (DOM dump 확인: hasConversationView=false, hasStepIndex=false, hasMarkdownBody=false, hasProse=false, dataTestIds=[])
- **결과**: 버튼 감지(scan→/pending)는 `button` 태그 직접 탐색이므로 정상 작동하나, AI 응답 텍스트 추출 경로는 SDK/DOM 양쪽 모두 구조적으로 차단됨
- **해결 방향**: AG Native 채팅 패널의 실제 DOM 구조를 deep-inspect로 분석하여, AI 응답 컨테이너의 올바른 셀렉터(class/attribute)를 찾아 `scanChatBodies()` 수정 필요. SDK 경로는 AG 구조적 한계로 사용 불가.
- **주의**: AG Native 렌더러는 `data-testid`, `data-step-index` 등 Cascade 전용 속성을 사용하지 않음. DOM 분석 시 반드시 AG 패널이 활성화된 상태에서 dump를 취득해야 함 (설정 페이지와 혼동 금지)
- **원인 1 (SDK 경로)**: `GetCascadeTrajectorySteps(cascadeId=세션ID)``500 trajectory not found`. AG Native 세션은 Cascade trajectory API에 등록되지 않아 step-probe의 RT-CAPTURE가 불가능.
- **원인 2 (DOM 경로, v15에서 해결 완료)**: Observer v15 `scanChatBodies()`로 AG Native DOM 셀렉터 추(`#conversation``.leading-relaxed.select-text`). HTTP bridge `/chat` 핸들러도 정상 구현 (라인117-121, 501-519).
- **현재 블로커**: Observer 인라인 스크립트가 렌더러에서 실행되지 않음 (BEACON=0). **원인은 AG 프로세스 미재시작** — html-patcher가 디스크에 HTML 패치 후 extension이 활성화되지만, Electron 렌더러는 이미 패치 전 HTML을 로드한 상태. "Developer: Reload Window"는 Extension Host만 재시작하고 렌더러 HTML은 캐시 유지.
- **코드 검증 완료 (2026-04-16)**:
- ✅ workbench.html 인라인 스크립트 존재 (46,747 chars)
- ✅ CSP `unsafe-inline` + `connect-src 127.0.0.1` 패치 정상
- ✅ product.json 체크섬 3개 파일 모두 일치
- ✅ JS 문법 오류 없음 (`new Function()` 검증)
- ✅ HTTP bridge `/chat` 핸들러 → `writeChatSnapshot()` → WS bridge 경로 정상
- ✅ v0.5.50 디렉토리에 v15 JS 파일 직접 복사 완료
- **해결**: AG를 **File → Quit으로 완전 종료 후 재시작** 필요 (not Reload Window). 재시작하면 패치된 HTML이 로드되어 BEACON → scanChatBodies → POST /chat → Discord 전체 경로 작동 예상.
- **배포 참고**: AG는 `~/.antigravity/extensions/` (v0.5.51)보다 `~/.vscode/extensions/` (v0.5.50)을 우선 로드. v0.5.50/out/에 v15 JS 직접 복사로 대응 완료.
- **주의**: AG Native 렌더러는 `data-testid`, `data-step-index` 등 Cascade 전용 속성을 사용하지 않음. DOM 분석 시 반드시 AG 패널이 활성화된 상태에서 dump를 취득해야 함.
- **Vikunja**: #632
### [2026-04-16] [Extension] 터미널 출력(stdout) 텍스트가 명령어로 Discord에 전송 (v0.5.50)

View File

@@ -4,3 +4,4 @@
|-------|-------|----------|-----------|----------|
| 001 | 04:52 | v16 터미널 출력 필터 + v15 stale LS 자동복구 + heartbeat probe — stdout가 enrichedCmd로 채택되는 버그 수정, VSIX v0.5.50 빌드/배포 | `7ade31e` | 🔧 |
| 002 | 05:28 | AG Native AI 응답 Discord 미전달 근본원인 분석 + Observer v15 scanChatBodies 이중전략 (#conversation + .leading-relaxed.select-text) 구현, v0.5.51 배포 | `729875f` | 🔧 |
| 003 | 17:13 | Observer v15 E2E 코드 검증 — CSP/체크섬/문법/핸들러 전수 확인 OK. BEACON=0 원인: AG 미재시작(렌더러 HTML 캐시). v0.5.50/out에 v15 JS 직접 배포 | — | 🔧 |