diff --git a/docs/devlog/2026-04-16.md b/docs/devlog/2026-04-16.md index 191dadc..243a34f 100644 --- a/docs/devlog/2026-04-16.md +++ b/docs/devlog/2026-04-16.md @@ -1,5 +1,6 @@ -# 2026-04-16 +# 2026-04-16 | NNN | HH:MM | 작업 설명 | `커밋해시` | 완료? | |-------|-------|----------|-----------|----------| | 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` | 🔧 | diff --git a/docs/devlog/entries/20260416-002.md b/docs/devlog/entries/20260416-002.md new file mode 100644 index 0000000..df9fcf5 --- /dev/null +++ b/docs/devlog/entries/20260416-002.md @@ -0,0 +1,24 @@ +# AG Native AI 응답 Discord 릴레이 구현 (Observer v15) + +- **시간**: 2026-04-16 04:52~05:28 +- **Commit**: `729875f` +- **Vikunja**: #632 → 진행중 + +## 문제 분석 + +AG Native 세션에서 AI 대화 응답이 Discord에 전혀 전달되지 않는 근본원인을 규명: + +1. **SDK 경로 차단**: `GetCascadeTrajectorySteps(cascadeId)` → `trajectory not found`. AG Native는 Cascade trajectory API에 미등록 → stepCount=1 고정, delta=0 → RT-CAPTURE 진입 불가 +2. **DOM 경로 차단**: `scanChatBodies()`가 `conversation-view`, `data-step-index` 등 Cascade 전용 셀렉터 사용 → AG Native DOM에 전무 → 즉시 return + +## 결정 사항 + +- SDK 경로는 AG 구조적 한계로 사용 불가 → **DOM 경로를 AG Native에 맞게 확장** +- AG Native DOM 분석 결과: `#conversation` (id), `.leading-relaxed.select-text` (AI 응답 영역) 확인 +- 기존 Cascade 경로도 유지하여 호환성 보장 (이중 전략) + +## 미완료 + +- **AG Reload Window 필요**: v15 Observer가 workbench.html에 패치되려면 AG 재시작 필수 +- **실동작 검증**: Discord에 AI 응답 텍스트가 실제로 수신되는지 end-to-end 확인 +- **enrichment 오탐 edge case**: 로그 텍스트 내 `>` 문자가 prompt marker로 오인되는 1건 (빈도 낮음, v17에서 수정 검토)