# Known Issues & Lessons Learned > **이 파일은 SSOT(Single Source of Truth)입니다.** > 디버깅이나 구현 전에 **반드시** 이 파일을 확인하세요. > 세션 종료 시 새로 발견된 이슈를 이 파일에 추가합니다. > [!TIP] > 해결 완료된 과거 이슈는 [`known-issues-archive.md`](file:///c:/Users/Variet-Worker/Desktop/gravity_control/.agents/references/known-issues-archive.md)에 보관되어 있습니다. > 비슷한 문제가 재발하면 archive에서 검색하세요. --- ## 포맷 ```markdown ### [날짜] [키워드] — 한줄 요약 - **증상**: 무엇이 잘못되었는가 - **원인**: 근본 원인 - **해결**: 올바른 해결 방법 - **주의**: 재발 방지를 위한 교훈 ``` --- ## 공통 이슈 ### [2026-03-08] PowerShell curl — Invoke-WebRequest 충돌 - **증상**: `curl` 명령이 예상과 다른 응답 형식을 반환 - **원인**: PowerShell에서 `curl`은 `Invoke-WebRequest`의 별칭 - **해결**: **`curl.exe`**를 명시적으로 사용 - **주의**: HTTP 관련 모든 명령에서 `curl.exe` 사용 필수 ### [2026-03-08] PowerShell npm — 실행 정책 오류 - **증상**: `npm run` 명령이 `실행 정책` 관련 오류로 실패 - **원인**: PowerShell 스크립트 실행 정책이 제한적 - **해결**: `cmd /c npm run dev` 형식으로 cmd를 통해 실행 - **주의**: npm 관련 명령은 항상 `cmd /c` 접두어 사용 권장 --- ## 미해결 이슈 ### [2026-03-11] rejectAgentStep — AG 미등록 VS Code 커맨드 - **증상**: `/stop` 및 거부 시 `antigravity.agent.rejectAgentStep` → `command not found` - **원인**: AG IDE가 이 커맨드를 런타임에 등록하지 않음 (상수 정의만 존재) - **조사 결과** (2026-03-18): - AG 소스에 `CASCADE_CHAT_CLIENT_REJECT_CASCADE_STEP: {id: "antigravity.agent.rejectAgentStep"}` 상수 정의는 존재 - 하지만 VS Code `registerCommand`로 등록되지 않아 런타임에 호출 불가 - **대안 후보**: AG LS에 gRPC 메서드 발견: - `CancelCascadeInvocation` — requires `cascade_id` (= session ID) - `CancelCascadeSteps` — step 단위 취소 - `ResolveOutstandingSteps` — 이미 테스트됨, **CANCEL 동작** (승인 아님) - `CancelCascadeInvocation`은 cascade_id만 필요하므로 가장 유력한 대안 - **해결**: **미해결** — `CancelCascadeInvocation` RPC 테스트 필요 (세션 중단 동작 확인) - **주의**: `ResolveOutstandingSteps` = cancel 확정. `CancelCascadeInvocation`도 동일한 cancel 계열일 가능성. AG 런타임 커맨드 119개 중 reject 관련 등록 커맨드 없음 (archive 참조) - **Vikunja**: #411 --- > [!NOTE] > v0.4.5 수정 사항(Hub pending_owners, diff_review WS, auto_approve 이중쓰기, WS dual-write, ApprovalView fallback)은 > 코드 수정 완료됨. E2E 통합 검증은 Vikunja #410에서 추적 중. --- ## 핵심 작업 규칙 (과거 이슈에서 반복된 패턴) > 아래는 과거 이슈에서 반복적으로 나타난 패턴을 규칙으로 정리한 것입니다. | # | 규칙 | 관련 이슈 (archive 참조) | |---|------|--------------------------| | 1 | **Hub WS와 file bridge는 상호 배타적** — `if hub: ws + return` / `else: file` | WS dual-write, _auto_approve 이중 쓰기 | | 2 | **WS 경로 추가 시 file-bridge의 모든 분기를 포팅** | diff_review WS regression | | 3 | **AG RPC `{}` 응답은 실패로 간주** — 메서드명 틀려도 에러 없이 `{}` 반환 | AcknowledgeCascadeCodeEdit | | 4 | **ResolveOutstandingSteps는 CANCEL 동작** — 승인에 절대 사용 금지 | Step probe reject | | 5 | **Extension 코드 수정 후 반드시 VSIX 빌드 + AG 풀 재시작** | Extension 버전 미배포 | | 6 | **HTML 패치 변경 시 V8 CachedData 삭제 필수** | V8 CachedData, CSP | | 7 | **`bridge/pending/` 조작 시 반드시 `project_name` + `conversation_id` 필터** | 크로스 프로젝트 DEDUP MERGE | | 8 | **`processResponseFile` 상태 리셋은 `sawRunningAfterPending=true`만** | processResponseFile 무한 루프 | | 9 | **fs.watch Windows 불안정 — 반드시 polling fallback 병행** | fs.watch silent fail | | 10 | **diff_review는 VS Code 커맨드만 유효** — RPC 3개 전략 모두 실패 확정 | diff_review RPC dead-end |