fix(observer/bridge): v13 _promptOnlySkipped fallback guard + generic button no-context filter (v0.5.46) #task-619

This commit is contained in:
Variet Worker
2026-04-15 13:26:45 +09:00
parent 87c99c7243
commit 2e32be96fe
6 changed files with 80 additions and 10 deletions

View File

@@ -3,3 +3,4 @@
| NNN | HH:MM | 작업 설명 | `커밋해시` | 완료? |
|-------|-------|----------|-----------|----------|
| 001 | 09:12 | PROMPT_ONLY_RE 근본원인 분석 및 수정 — Observer regex 이스케이핑(4중→2중 backslash) + http-bridge ellipsis prefix 지원, 16개 테스트 전체 통과, VSIX v0.5.45 빌드/배포 | `01539e9` | ✅ |
| 002 | 10:35 | Observer fallback 컨텍스트 추출 수정 — v0.5.45 VSIX 설치 누락 발견/수정 + v13 `_promptOnlySkipped` 플래그로 채팅/UI 텍스트 추출 차단 + bridge generic button 무조건 필터 (v0.5.46) | `b8cda27` | 🔧 |

View File

@@ -0,0 +1,30 @@
# Observer fallback 컨텍스트 추출 수정 (v0.5.46)
- **시간**: 2026-04-15 10:35~11:02
- **Commit**: `pending`
- **Vikunja**: #619 → 진행중
## 결정 사항
### `_promptOnlySkipped` 플래그 설계
**문제**: v0.5.45에서 PROMPT_ONLY_RE가 code/pre 요소의 프롬프트 텍스트를 정상 스킵했으나, `extractContextFromNearby()`**fallback 경로**(span/div/p 텍스트 수집)가 DOM 트리를 올라가면서 채팅 본문, UI 라벨, AI 응답을 명령어로 잘못 추출.
**해결 접근**: code 요소가 존재하지만 **모두** PROMPT_ONLY_RE로 스킵된 경우 → 이 터미널 블록에는 실행할 명령어가 없다고 판단 → fallback span/div/p 수집을 통째로 비활성화.
**대안 검토**:
- ❌ fallback 텍스트에 CJK/자연어 필터 추가 → false negative 위험 (한국어 명령어 경로명 등)
- ❌ fallback 수집 depth 제한 → DOM 구조가 바뀌면 다시 깨짐
-**prompt-only 스킵과 fallback 비활성화 연동** → 가장 간결하고 확실
### VSIX 설치 누락 발견
이전 세션(fd78c28e)에서 v0.5.45 VSIX를 빌드했으나 **설치를 하지 않았음**. extensions.json 확인 결과 v0.5.43이 설치되어 있었음. 원인: 이전 세션에서 `code --install-extension` 실행 없이 AG 재시작만 수행.
→ known-issues에 "빌드 후 즉시 install 확인 필수" 주의사항 추가
## 미완료
- AG 재시작 후 v0.5.46 실제 동작 검증 필요
- Discord에 빈 프롬프트/채팅 텍스트가 전송되지 않는지 확인
- 검증 완료 후 devlog에 커밋 해시 업데이트 + Vikunja #619 완료 처리