@@ -1,330 +1,548 @@
# Known Issues & Lessons Learned
> **<2A> 씠 <20> 뙆<EFBFBD> 씪<EFBFBD> <EC94AA> <EFBFBD> SSOT(Single Source of Truth)<29> 엯<EFBFBD> 땲<EFBFBD> 떎.**
> <EFBFBD> 뵒踰꾧퉭<EFBFBD> 씠<EFBFBD> 굹 援ы쁽 <20> 쟾<EFBFBD> 뿉 **諛섎뱶<EC848E> 떆** <20> 씠 <20> 뙆<EFBFBD> 씪<EFBFBD> 쓣 <20> 솗<EFBFBD> 씤<EFBFBD> 븯<EFBFBD> 꽭<EFBFBD> 슂.
> <EFBFBD> 꽭<EFBFBD> 뀡 醫낅즺 <20> 떆 <20> 깉濡<EAB989> 諛쒓껄<EC9293> 맂 <20> 씠<EFBFBD> 뒋瑜<EB928B> <20> 씠 <20> 뙆<EFBFBD> 씪<EFBFBD> 뿉 異붽<E795B0> <EBB6BD> <EFBFBD> 빀<EFBFBD> 땲<EFBFBD> 떎.
# 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뿉꽌 寃깋븯꽭슂.
### [2026-04-14 ] [Extension] Observer template literal 정규식 이스케이핑 오류 — "Running N commands" 스킵 미작동
- **증상**: v9에서 `Running N commands` 그룹 헤더를 스킵하는 정규식 `/^Running\s*\d+\s*commands?$/i` 를 추가했으나, 실제로 "Running2 commands" 텍스트를 전혀 매칭하지 못하여 여전히 Discord에 `cmd="Running2 commands"` 가 전송됨
- **원인**: `observer-script.ts ` 의 전체 코드가 TypeScript template literal (`` ` `` ... ` ` ` ``) 안에 있으므로, 정규식 리터럴의 백슬래시가 2중 해석됨:
- TS 소스 `\\\\s` (4중) → template literal 출력 `\\s` → **브라우저에서 regex 리터럴 `\\s` = 리터럴 백슬래시+s ** ❌
- TS 소스 `\\s` (2중) → template literal 출력 `\s` → **브라우저에서 regex 리터럴 `\s` = whitespace class ** ✅
- TS 소스 `\s` (1중) → template literal에서 이스케이프 소멸 → **출력 `s` ** ❌
- **영향 범위**: `NOISE_CODE_RE` , `cleanLines()` (word boundary `\b` , newline `\n` ), `cleanButtonText()` (whitespace `\s` ), port 탐색 regex `\d` , "Running N commands" 스킵 regex 전부 미작동이었음
- 단, `NOISE_RE` (new RegExp() 사용)는 문자열 이스케이핑이므로 4중 백슬래시가 올바름 (string → RegExp는 별도 이스케이핑 레이어)
- **해결**: 모든 정규식 리터럴 (`/pattern/flags` ) 안의 `\\\\s` → `\\s` , `\\\\d` → `\\d` , `\\\\b` → `\\b` , `\\\\n` → `\\n` 으로 수정 (v0.5.41, `8e89209` )
- **주의**: **template literal 안에서 정규식 특수문자를 쓸 때 반드시 구분: **
- `new RegExp('pattern')` 문자열: `\\\\s` (4중) — string 이스케이핑(1번)+regex 이스케이핑(1번) = 총 2번
- `/pattern/` 정규식 리터럴: `\\s` (2중) — template literal 이스케이핑(1번)만 = 총 1번
- **검증법**: `node -e "var f = require('./extension/out/observer-script.js').generateApprovalObserverScript; require('fs').writeFileSync('tmp.js', f(0)); console.log(require('fs').readFileSync('tmp.js','utf8').match(/Running.{10}/g));"` 으로 생성된 코드 확인
---
### [2026-04-13] [Extension] Observer v8 "Running N commands" 그룹 헤더를 승인 버튼으로 오인 — Discord 빈 내용+잘못된 버튼
- **증상 **: Discord 승인 요청에 command="Running2 commands", description 비어있음, 버튼도 "Running2 commands / Always run" 형태. 실제 코드/명령어 내용이 전혀 표시되지 않음
- **원인 1**: `observer-script.ts` 의 `isActionBtn()` 에 `/Running\\s*\\d*\\s*command/i` 패턴이 있어 AG UI의 그룹 헤더 버튼("Running 3 commands")을 승인 버튼으로 분류. `scan()` 이 이 버튼을 먼저 만나고 `break` 로 나가 실제 "Always run"/"Cancel" 버튼은 처리 안 됨
- **원인 2**: `extractStepContext()` 가 `data-step-index` 속성 없으면 `cleanButtonText(btn)` = "Running2 commands"를 그대로 반환. AG Native에는 `data-step-index` /`data-testid` 속성이 없음 (DOM 덤프로 확인)
- **원인 3**: `http-bridge.ts` 의 "Run/Always run" 필터가 step-probe 미활성(activeSessionId 비어있음) 시에도 DOM observer 신호를 차단
- **해결 **: observer v9 (v0.5.40):
1. `isActionBtn()` 에서 "Running N commands" 패턴 제거
2. `scan()` 에서 `^Running\\s*\\d+\\s*commands?$` 명시적 스킵
3. `extractContextFromNearby()` 추가: `data-step-index` 없이 DOM 트리를 20레벨까지 올라가며 `pre` /`code` 블록에서 실제 명령어 추출
4. `collectSiblingButtons()` 범위를 parent → grandparent → great-grandparent로 확대, 그룹 헤더 스킵
5. `http-bridge.ts` 의 "Run" 필터에 `ctx.activeSessionId` 체크 추가 — step-probe 미활성 시 DOM observer 허용
- **주의**: AG Native UI의 "Running N commands"는 아코디언/그룹 헤더이며, 실제 승인 버튼은 하위 레벨의 "Run"/"Always run"/"Cancel". DOM 구조상 버튼 탐색 시 그룹 헤더를 반드시 스킵해야 함
### [2026-04-13] [Extension] HTTP Bridge UTF-8 인코딩 깨짐 — 한글 description 손실
- **증상 **: pending/ 파일의 description 필드에서 한글이 `[AI ]` 처럼 깨져서 저장됨. Discord로 전달되는 승인 요청 본문도 깨짐
- **원인**: Node.js HTTP 서버의 `req.on('data', chunk)` 콜백에서 chunk가 Buffer 타입으로 전달되는데, `body += chunk` 로 string 결합 시 Buffer의 기본 인코딩(latin1)이 사용되어 multi-byte UTF-8 문자가 손실됨
- **해결**: 모든 POST 핸들러(`/pending` , `/dump-html` , `/chat` , `/deep-inspect-result` , `/test-rpc` )에 `req.setEncoding('utf8')` 추가 (v0.5.39)
- **주의**: Node.js HTTP 서버에서 POST body를 문자열로 수집할 때는 반드시 `req.setEncoding('utf8')` 을 호출하거나, Buffer를 배열로 모은 후 `Buffer.concat().toString('utf8')` 로 변환해야 함
### [2026-04-13] [Extension] Observer noise 필터 미작동 — textContent가 아이콘 텍스트를 줄바꿈 없이 합침
- **증상 **: pending description에 `Thought for 1s` , `chevron_right` 등 Material 아이콘명과 UI 노이즈가 그대로 남아있음
- **원인**: DOM `textContent` 는 block 요소 사이에 newline을 삽입하지 않아 `[AI 본문 요약]Thought for 1schevron_right[결행 명령]` 처럼 한 줄로 합쳐짐. `cleanLines()` 의 줄 단위 noise 필터(`^pattern$` )가 매칭 실패. 또한 `codeText` 추출에는 `cleanLines()` 가 아예 미적용
- **해결**: `cleanLines()` 에 인라인 pre-strip 추가 — icon명 18종을 regex로 먼저 `\n` 으로 치환 후 줄 단위 필터 적용. `codeText` 에도 `cleanLines()` 적용 (v0.5.39)
- **주의 **: DOM에서 텍스트 추출 시 `textContent` 는 레이아웃 무시, `innerText` 는 detached 노드에서 미작동. 노이즈 필터링은 줄 단위뿐 아니라 인라인 패턴 제거도 병행해야 함
### [2026-04-13] [Extension] html-patcher String.replace() `$'` 특수 패턴으로 인라인 스크립트 SyntaxError
- **증상 **: Observer v8 인라인 스크립트가 workbench.html에 삽입되었으나 렌더러에서 전혀 실행되지 않음 (BEACON 핑 0건). V8 캐시 삭제 + AG 재시작 후에도 동일
- **원인**: `html-patcher.ts` 에서 `html.replace('</body>', '\n' + inlineBlock + '\n</body>')` 를 사용. 인라인 스크립트의 NOISE_RE 정규식에 `')$', 'i'` 가 있는데, `$'` 는 JS `String.replace()` 의 특수 대체 패턴(match 뒤의 텍스트)으로 해석됨. 이로 인해 `</body>` 뒤의 원본 HTML 구조(`<!-- Startup -->` , `<script src="workbench.js">` , `</html>` )가 JS 코드 중간(정규식 리터럴 안)에 삽입되어 **치명적 SyntaxError ** 발생
- **해결**: `inlineBlock.replace(/\$/g, '$$$$')` 로 모든 `$` 를 이스케이프한 후 replacement 문자열로 사용 (v0.5.38, `d6ed876` )
- **주의 **: `String.prototype.replace()` 의 replacement 문자열에서 `$&` , `$'` , `` $` ``, ` $1` 등은 특수 패턴. 동적 콘텐츠를 replacement로 사용할 때 반드시 ` $` → ` $$` 이스케이프 필요
### [2026-04-12] [Extension] V8 CachedData가 Observer 스크립트 로딩을 차단
- **증상 **: html-patcher가 workbench-jetski-agent.html에 observer v7 인라인 스크립트를 성공적으로 삽입했지만, deep-inspect가 렌더러에서 응답 없음 (10s timeout). AG 재시작 후에도 observer가 로드되지 않음
- **원인**: `%APPDATA%\Antigravity\CachedData\` (50MB)에 V8 캐시가 남아있어, AG가 패치된 HTML 대신 캐시된 이전 버전을 로드. extension.log에 `patcher.install() called (needs reload)` 메시지가 표시되지만 실제 적용이 안 됨
- **해결**: `Remove-Item "$env:APPDATA\Antigravity\CachedData\*" -Recurse -Force` 실행 후 AG 재시작. known-issues-archive #6에도 동일 케이스 있음
- **주의 **: HTML 패치 변경 시 **반드시 ** V8 CachedData 삭제 + AG 재시작 필요. 단순 AG 재시작만으로는 부족
### [2026-04-12] [DOM] text-ide-message-block-bot-color는 AI 응답 컨테이너가 아닌 NUX tooltip 전용
- **증상 **: observer-script가 `.text-ide-message-block-bot-color` 를 AI 응답 컨테이너로 사용하지만, 실제 AI 텍스트를 추출하지 못함
- **원인**: 번들 분석(jetskiAgent/main.js 10.8MB)으로 확인 결과, 이 클래스는 `hsn` 컴포넌트(NUX Tooltip 텍스트 색상)에서만 사용. AI 응답 텍스트는 `plannerResponse` step의 `Whi` 렌더러 → `div.px-2.py-1` → `MarkdownRenderer` 내부에 렌더링됨
- **해결**: observer-script에서 `.text-ide-message-block-bot-color` 의존성 제거 필요. `markdown-body` 클래스도 AG Native에 존재하지 않음
- **주의 **: AI 응답 마크다운은 `prose` 관련 클래스나 MarkdownRend erer 내부 구조로 타겟팅해야 함. 실제 DOM 덤프로 정확한 셀렉터 확인 필요
### [2026-04-12] [SDK/DOM] AG Native 세션은 Cascade SDK API에 등록되지 않음 — DOM이 유일한 데이터 소스
- **증상 **: AG Native 세션에서 Discord 릴레이로 AI 응답이 전혀 전달되지 않고, 대신 UI 노이즈(`content_copy` , `Always run` , `keyboard_arrow_up` , `Cancel` )가 전송됨
- **원인 1 (SDK)**: `GetCascadeTrajectorySteps(cascadeId=세션ID)` → `500 trajectory not found` . `GetDiagnostics` → `404` . AG Native 세션은 Cascade trajectory API에 전혀 등록되지 않는 별도 시스템
- **원인 2 (DOM)**: `observer-script.ts` v6의 `scanChatBodies()` 가 `.text-ide-message-block-bot-color` 컨테이너의 `textContent` 를 통째로 가져오면서 내부 버튼/아이콘 텍스트까지 포함
- **해결 **: ` observer-script.ts` v7로 전면 재설계:
1. `[data-testid="conversation-view"]` + `[data-step-index]` 기반 step-aware 파싱
2. `extractCleanStepText()` : 클론 후 button/svg/icon 엘리먼트 제거 → 마크다운 텍스트만 추출
3. `extractStepContext()` : `getStepContainer()` → step 헤더 + code 블록만 추출
4. `NOISE_RE` : Material icon 이름, 버튼 레이블, UI 텍스트 전면 차단
5. 최초 `conversation-view` 감지 시 DOM 구조 자동 덤프 (`/dump-html` )
- **주의 **: SDK 경로(step-probe RT-CAPTURE)는 AG Native에서 사용 불가. DOM이 유일한 콘텐츠 소스이므로 AG UI 업데이트 시 `data-testid` /`data-step-index` 속성 존재 여부 반드시 확인 필요
### [2026-04-09] [Bridge] Discord Body Content Missing Due to Step Probe Dummy Payload
- **利앹긽**: <20> <> <EFBFBD> 洹쒕え UI 留덉씠洹몃젅<EBAA83> 씠<EFBFBD> 뀡 <20> 썑, <20> 뵒<EFBFBD> 뒪肄붾뱶 <20> 듅<EFBFBD> 씤 硫붿떆吏<EB9686> 蹂몃Ц<EBAA83> 뿉 <20> 떎<EFBFBD> 뻾<EFBFBD> 븷 肄붾뱶/紐낅졊<EB8285> 뼱媛<EBBCB1> <20> 셿<EFBFBD> 쟾<EFBFBD> 엳 <20> 늻<EFBFBD> 씫<EFBFBD> 릺怨<EBA6BA> "Step #15 "<22> <> <EFBFBD> 媛숈<E5AA9B> <EC8888> <20> 뵒<EFBFBD> 뤃<EFBFBD> 듃 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃留<EB9383> <20> 쟾<EFBFBD> 넚<EFBFBD> 맖.
- **<2A> 썝<EFBFBD> 씤**: Native UI 蹂<> 寃쎌쑝濡<EC919D> <20> 씤<EFBFBD> 빐 DOM observer媛<72> 異붿텧<EBB6BF> 븳 踰꾪듉 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃("Always run")媛<> `http-bridge.ts` <20> 븘<EFBFBD> 꽣 <20> 슦<EFBFBD> 쉶 諛<> bot.py<70> 뿉<EFBFBD> 꽌 吏<> <EFA79E> 뿰(defer) 泥섎━<EC848E> 맖. 諛섎㈃ `step-probe.ts` 媛<EFBFBD> `GetAllCascadeTrajectories` <20> 뤃留곸쓣 <20> 넻<EFBFBD> 빐 <20> 룞<EFBFBD> 떆<EFBFBD> 뿉 諛쒖깮<EC9296> 떆<EFBFBD> 궓 dummy pending payload (紐낅졊<EB8285> 뼱 <20> 긽<EFBFBD> 꽭 <20> 궡<EFBFBD> 슜<EFBFBD> 씠 <20> 뾾<EFBFBD> 씠 `Step #XX` <20> 씪<EFBFBD> 뒗 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃留<EB9383> <20> 룷<EFBFBD> 븿)媛<> 遊뉗뿉 <20> 쓽<EFBFBD> 빐 癒쇱<E79992> <EC87B1> <20> 옄<EFBFBD> 룞 <20> 듅<EFBFBD> 씤<EFBFBD> 릺硫댁꽌 <20> 젙<EFBFBD> 옉 <20> 떎<EFBFBD> 젣 肄붾뱶 <20> 쁺<EFBFBD> 뿭 <20> 젙蹂닿<E8B982> <EB8BBF> 利앸컻<EC95B8> 븿.
- **<2A> 빐寃<EBB990> **: `step-probe.ts` <20> 궡<EFBFBD> 뿉 `formatStepProbeCommand` <20> 뿬<EFBFBD> 띁 <20> 븿<EFBFBD> 닔瑜<EB8B94> 異붽<E795B0> <EBB6BD> <EFBFBD> 븯<EFBFBD> 뿬, WAITING <20> 긽<EFBFBD> 깭 <20> 뒪<EFBFBD> 뀦<EFBFBD> 쓽 `argumentsJson` <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣瑜<EABDA3> 吏곸젒 <20> 뙆<EFBFBD> 떛<EFBFBD> 븯怨<EBB8AF> `CommandLine` , `TargetFile` <20> 벑 <20> 떎<EFBFBD> 젣 紐낅졊<EB8285> 뼱<EFBFBD> <EBBCB1> <EFBFBD> <20> 긽<EFBFBD> 꽭 <20> 씤<EFBFBD> 옄/肄붾뱶瑜<EBB1B6> `command` <EFBFBD> <EFBFBD> <EFBFBD> `description` <EFBFBD> 쑝濡<EFBFBD> <20> 븷<EFBFBD> 떦<EFBFBD> 븯<EFBFBD> 뿬 釉뚮┸吏<E294B8> 濡<EFBFBD> <20> 꽆湲곕룄濡<EBA384> <20> 뙣移섑븿. DOM <20> 샃<EFBFBD> <EC8383> <EFBFBD> 踰꾩쓽 遺덉븞<EB8D89> 젙<EFBFBD> 꽦怨<EABDA6> 愿<> 怨꾩뾾<EABEA9> 씠 <20> 씪愿<EC94AA> <E684BF> 맂 蹂몃Ц <20> 쟾<EFBFBD> 떖 蹂댁옣.
- **二쇱쓽**: UI <20> 뒪<EFBFBD> 겕<EFBFBD> 옒<EFBFBD> 븨<EFBFBD> 뿉 <20> 쓽議댄븯<EB8C84> 뒗 DOM Observer 諛⑹떇<E291B9> <EB9687> <EFBFBD> UI <20> 젅<EFBFBD> 씠<EFBFBD> 븘<EFBFBD> 썐, <20> 븘<EFBFBD> 씠肄<EC94A0> <20> 궫<EFBFBD> 엯 <20> 벑<EFBFBD> 뿉 痍⑥빟<E291A5> 븯誘<EBB8AF> 濡<EFBFBD> , <20> 긽<EFBFBD> 꽭 <20> 럹<EFBFBD> 씠濡쒕뱶 異붿텧<EBB6BF> <ED85A7> <EFBFBD> <20> 빆<EFBFBD> 긽 100% <20> 떊猶<EB968A> 媛<> <E5AA9B> 뒫<EFBFBD> 븳 SDK RPC(`step-probe.ts` ) <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣瑜<EABDA3> <20> 슦<EFBFBD> 꽑 <20> 궗<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 룄濡<EBA384> 援ъ꽦<D18A> 빐<EFBFBD> 빞 <20> 븿.
## <20> 룷留<EBA3B7>
### [2026-03-23] [Extension] Cross-Project DOM Observer Leakage
- **利앹긽**: <20> 떎以<EB968E> <20> 썝寃<EC8D9D> 而댄벂<EB8C84> 꽣<EFBFBD> 뿉<EFBFBD> 꽌 <20> 룞<EFBFBD> 씪<EFBFBD> 븳 <20> 봽濡쒖젥<EC9296> 듃紐낆쑝濡<EC919D> <20> 떎<EFBFBD> 뻾<EFBFBD> 맂 VS Code<64> 뱾<EFBFBD> 씠 <20> 꽌濡쒖쓽 `execute JavaScript` (Allow) <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇瑜<EC8387> 媛<> 濡쒖콈嫄곕굹 <20> 뿁<EFBFBD> 슧<EFBFBD> 븳 <20> 꽌踰꾨줈 蹂대깂.
- **<2A> 썝<EFBFBD> 씤**: Extension<6F> 씠 `workbench.html` <EFBFBD> 뿉 <20> 뒪<EFBFBD> 겕由쏀듃瑜<EB9383> 二쇱엯<EC87B1> 븷 <20> 븣 寃곗젙濡좎쟻 <20> 룷<EFBFBD> 듃瑜<EB9383> <20> 븯<EFBFBD> 뱶肄붾뵫<EBB6BE> 뻽<EFBFBD> 뒗<EFBFBD> 뜲, <20> 쟾<EFBFBD> 뿭 罹먯떆<EBA8AF> 맂 HTML <20> 뙆<EFBFBD> 씪<EFBFBD> 쓣 紐⑤뱺 濡쒖뺄/<2F> 썝寃<EC8D9D> <20> 뿰寃곗씠 怨듭쑀<EB93AD> 븯硫댁꽌 留덉<EFA78D> <EB8D89> 留됱뿉 <20> 뿴由<EBBFB4> <20> 봽濡쒖젥<EC9296> 듃<EFBFBD> 쓽 <20> 룷<EFBFBD> 듃 踰덊샇濡<EC8387> <20> 뜮<EFBFBD> 뼱<EFBFBD> 뵆<EFBFBD> 썙吏<EC8D99> .
- **<2A> 빐寃<EBB990> **: `extension.ts` <EFBFBD> 뿉<EFBFBD> 꽌 <20> 긽<EFBFBD> 깭 <20> 몴<EFBFBD> 떆以<EB9686> (Status Bar) `tooltip` <EFBFBD> 뿉 <20> 룷<EFBFBD> 듃瑜<EB9383> 二쇱엯<EC87B1> 븯怨<EBB8AF> , `observer-script.ts` <EFBFBD> 뿉<EFBFBD> 꽌 DOM 荑쇰━瑜<E29481> <20> 넻<EFBFBD> 빐 <20> 룞<EFBFBD> 쟻<EFBFBD> 쑝濡<EC919D> <20> 옄<EFBFBD> 떊<EFBFBD> 쓽 李<> (Window)<29> 뿉 <20> 븷<EFBFBD> 떦<EFBFBD> 맂 <20> 룷<EFBFBD> 듃瑜<EB9383> 李얠븘<EC96A0> 궡<EFBFBD> 룄濡<EBA384> <20> 닔<EFBFBD> 젙. `vscode.env.asExternalUri` 瑜<EFBFBD> <20> 궗<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 뿬 <20> 룷<EFBFBD> 듃 異⑸룎 <20> 떆 <20> 슦<EFBFBD> 쉶<EFBFBD> 맂 二쇱냼源뚯<E6BA90> <EB9AAF> 濡쒖뺄 <20> 룷<EFBFBD> 썙<EFBFBD> 뵫<EFBFBD> 뿉 留ㅽ븨<E385BD> 릺<EFBFBD> 룄濡<EBA384> 吏<> <EFA79E> 썝.
- **二쇱쓽**: VS Code UI 肄붿뼱(HTML) <20> 뙣移<EB99A3> <20> 떆, <20> 뿬<EFBFBD> 윭 李<> (Window)<29> 씠<EFBFBD> 굹 <20> 떎以<EB968E> <20> 썝寃<EC8D9D> <20> 젒<EFBFBD> 냽 <20> 떆 <20> 솚寃<EC869A> (Scope) 遺꾨━<EABEA8> 뿉 媛곷퀎<EAB3B7> 븳 二쇱쓽媛<EC93BD> <20> 븘<EFBFBD> 슂<EFBFBD> 븿. <20> 쟾<EFBFBD> 뿭 <20> 옄<EFBFBD> 썝<EFBFBD> 뿉 <20> 쓽議댄븯<EB8C84> 뒗 <20> 븯<EFBFBD> 뱶肄붾뵫 吏<> <EFA79E> 뼇.
### [<5B> 궇吏<EAB687> ] [<5B> 궎<EFBFBD> 썙<EFBFBD> 뱶] <20> <> <EFBFBD> <20> 븳以<EBB8B3> <20> 슂<EFBFBD> 빟
- **利앹긽**: 臾댁뾿<EB8C81> 씠 <20> 옒紐삳릺<EC82B3> 뿀<EFBFBD> 뒗媛<EB9297>
- **<2A> 썝<EFBFBD> 씤**: 洹쇰낯 <20> 썝<EFBFBD> 씤
- **<2A> 빐寃<EBB990> **: <20> 삱諛붾Ⅸ <20> 빐寃<EBB990> 諛⑸쾿
- **二쇱쓽**: <20> 옱諛<EC98B1> 諛⑹<E8AB9B> <E291B9> 瑜<EFBFBD> <20> 쐞<EFBFBD> 븳 援먰썕
```
---
### [2026-04-08] [Discord Bot] Channel Deletion Cache Desync
- **利앹긽**: 遊뉗씠 耳쒖졇 <20> 엳<EFBFBD> 뒗 <20> 긽<EFBFBD> 깭<EFBFBD> 뿉<EFBFBD> 꽌 Discord 梨꾨꼸( g-project-name)<29> 쓣 <20> 궘<EFBFBD> 젣<EFBFBD> 븯硫<EBB8AF> , 遊뉗씠 <20> 궘<EFBFBD> 젣瑜<ECA0A3> <20> 씤吏<EC94A4> <EFA79E> 븯吏<EBB8AF> 紐삵븯怨<EBB8AF> <20> 깉 梨꾨꼸<EABEA8> 쓣 <20> 깮<EFBFBD> 꽦<EFBFBD> 븯吏<EBB8AF> <20> 븡<EFBFBD> 쑝硫<EC919D> 硫붿떆吏<EB9686> <EFA79E> 룄 利앸컻<EC95B8> 븿.
- **<2A> 썝<EFBFBD> 씤**: ot.py<70> 쓽 self.project_channels <20> 뵓<EFBFBD> 뀛<EFBFBD> 꼫由ъ뿉 梨꾨꼸 媛앹껜媛<EABB9C> 罹먯떆<EBA8AF> 릺<EFBFBD> 뼱 <20> 엳<EFBFBD> 뼱, API <20> 샇異<EC8387> <20> 뾾<EFBFBD> 씠 罹먯떆<EBA8AF> 맂(<28> 궘<EFBFBD> 젣<EFBFBD> 맂) 梨꾨꼸濡<EABCB8> 硫붿떆吏<EB9686> 瑜<EFBFBD> 蹂대궡<EB8C80> 젮 <20> 떆<EFBFBD> 룄<EFBFBD> 븯<EFBFBD> 떎 404 <20> 뿉<EFBFBD> 윭 諛쒖깮 <20> 썑 <20> 떎<EFBFBD> 뙣<EFBFBD> 븿.
- **<2A> 빐寃<EBB990> **: 梨꾨꼸 留듯븨<EB93AF> 씠 瑗ъ<E79197> <D18A> <EFBFBD> 쓣 <20> 븣<EFBFBD> 뒗 **Python 遊<> (Docker 而⑦뀒<E291A6> 씠<EFBFBD> 꼫)<29> 쓣 <20> 옱<EFBFBD> 떆<EFBFBD> 옉**<2A> 븯<EFBFBD> 뿬 罹먯떆瑜<EB9686> 珥덇린<EB8D87> 솕<EFBFBD> 븯怨<EBB8AF> 梨꾨꼸 紐⑸줉<E291B8> 쓣 <20> 깉濡<EAB989> 媛깆떊<EAB986> 븯寃<EBB8AF> <20> 븿.
- **二쇱쓽**: 梨꾨꼸 愿<> 由щ뒗 罹먯떆<EBA8AF> 뿉 <20> 쓽議댄븯湲<EBB8AF> <20> 븣臾몄뿉 媛뺤젣濡<ECA0A3> Discord UI<55> 뿉<EFBFBD> 꽌 梨꾨꼸<EABEA8> 쓣 吏<> <EFA79E> 썱<EFBFBD> 쓣 <20> 븣<EFBFBD> 뒗 諛섎뱶<EC848E> 떆 遊뉗쓣 <20> 옱援щ룞<D189> 빐<EFBFBD> 빞 <20> 븿.
### [2026-04-08] [Extension] Multiple Workspace LS Cross-Connection
- **利앹긽**: ariet-llm 李쎌뿉<EC8E8C> 꽌 耳곗쑝<EAB397> 굹 gravity_control<6F> 쓽 諛깃렇<EAB983> 씪<EFBFBD> 슫<EFBFBD> 뱶 援щ룞 以묒씤 LS<4C> 뿉 <20> 뿰寃곕릺<EAB395> 뼱 <20> 옄湲<EC9884> <20> 옄<EFBFBD> 떊 李쎌쓽 <20> 떊<EFBFBD> 샇瑜<EC8387> <20> 옟吏<EC989F> 紐삵븿.
- **<2A> 썝<EFBFBD> 씤**: <20> 뿬<EFBFBD> 윭 VS Code 李쎌쓣 <20> 쓣<EFBFBD> 썱<EFBFBD> 쓣 <20> 븣 <20> 뼱<EFBFBD> 뼡 李쎌뿉<EC8E8C> 꽌<EFBFBD> 뒗 Antigravity <20> 뙣<EFBFBD> 꼸<EFBFBD> 쓣 <20> 늻瑜댁<E7919C> <EB8C81> <20> 븡<EFBFBD> 븘 <20> 쟾<EFBFBD> 슜 LS媛<53> <20> 떆<EFBFBD> 옉<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬. ixLSConnection()<29> 씠 <20> 옄湲<EC9884> 紐レ쓽 LS瑜<53> 李얠<EFA7A1> <EC96A0> 紐삵븯怨<EBB8AF> fallback<63> 쑝濡<EC919D> 湲곗〈<EAB397> 뿉 <20> 뼚 <20> 엳<EFBFBD> 뜕 <20> 떎瑜<EB968E> 李쎌쓽 LS<4C> 뿉 <20> 뿰寃곕맖.
- **<2A> 빐寃<EBB990> **: <20> <> <EFBFBD> <EFBFBD> 긽 李쎌뿉<EC8E8C> 꽌 Developer: Reload Window <20> 떎<EFBFBD> 뻾 <20> 썑 **<2A> 궗<EFBFBD> 씠<EFBFBD> 뱶諛붿쓽 濡쒖뺄 Antigravity 梨쀫큸 <20> 뙣<EFBFBD> 꼸<EFBFBD> 쓣 <20> 븳 踰<> <20> 뿴<EFBFBD> 뼱** <20> 옄<EFBFBD> 떊<EFBFBD> 쓽 LS <20> 봽濡쒖꽭<EC9296> 뒪瑜<EB92AA> <20> 쓣<EFBFBD> 슫 <20> 뮘<EFBFBD> 뿉 Gravity Bridge瑜<65> Start<72> 븿.
- **二쇱쓽**: LS<4C> 뒗 <20> 옄<EFBFBD> 룞<EFBFBD> 쑝濡<EC919D> <20> 떆<EFBFBD> 옉<EFBFBD> 릺吏<EBA6BA> <20> 븡怨<EBB8A1> <20> 궗<EFBFBD> 슜<EFBFBD> 옄媛<EC9884> 梨꾪똿 <20> 뙣<EFBFBD> 꼸<EFBFBD> 쓣 <20> 븳 踰<> <20> 겢由<EAB2A2> /<2F> 솢<EFBFBD> 꽦<EFBFBD> 솕<EFBFBD> 빐<EFBFBD> 빞留<EBB99E> Spawn <20> 맖.
## <20> 윍<EFBFBD> Active/Recent Issues
### [2026-04-09] [Extension] Agent UI Native Migration & Icon Text Gluing
- **利앹긽**: UI Tailwind/Native 留덉씠洹몃젅<EBAA83> 씠<EFBFBD> 뀡 諛<> <20> 븘<EFBFBD> 씠肄<EC94A0> <20> 쟻<EFBFBD> 슜 <20> 썑, Discord 釉뚮┸吏<E294B8> 濡<EFBFBD> <20> 떊<EFBFBD> 샇媛<EC8387> <20> 쟾<EFBFBD> 넚<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬.
- **<2A> 썝<EFBFBD> 씤**: <20> 꽕<EFBFBD> 씠<EFBFBD> 떚釉<EB969A> UI 踰꾪듉<EABEAA> 쓽 ` textContent` 異붿텧 <20> 떆, Codicons <20> 벑 <20> 븘<EFBFBD> 씠肄<EC94A0> <20> 룿<EFBFBD> 듃 臾몄옄<EBAA84> 뿴(e.g., ` 渽<EFBFBD> Accept`)<29> 씠 <20> 븵遺<EBB8B5> 遺꾩뿉 蹂묓빀(Gluing)<29> 릺硫댁꽌, 湲곗〈<EAB397> 쓽 ` ^` <20> 빑而ㅺ<E8808C> <E385BA> <20> 룷<EFBFBD> 븿<EFBFBD> 맂 <20> 젙洹쒖떇 留ㅼ묶(` /^(?:Always\s*)?Run/i`)<29> 씠 <20> 떎<EFBFBD> 뙣<EFBFBD> 븿.
- **<2A> 빐寃<EBB990> **: ` observer-script.ts`<60> 쓽 <20> 뒪罹<EB92AA> , Sibling 踰꾪듉 <20> 닔吏<EB8B94> , Webview Trigger-click <20> 벑 ` textContent`瑜<> 異붿텧<EBB6BF> 븯<EFBFBD> 뒗 紐⑤뱺 DOM <20> 씫湲<EC94AB> 援ш컙<D188> 뿉 ` txt.replace(/^[^a-zA-Z0-9]+/, '')` <20> 쟾泥섎━瑜<E29481> <20> 쟻<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 뿬 <20> 꽑<EFBFBD> 뻾 湲고샇/<2F> 븘<EFBFBD> 씠肄섏쓣 <20> 븞<EFBFBD> 쟾<EFBFBD> 븯寃<EBB8AF> <20> 젣嫄<ECA0A3> .
- **二쇱쓽**: Native UI 而댄룷<EB8C84> 꼳<EFBFBD> 듃 <20> 솚寃쎌뿉<EC8E8C> 꽌<EFBFBD> 뒗 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 <20> 끂<EFBFBD> 뱶肉먮쭔 <20> 븘<EFBFBD> 땲<EFBFBD> 씪 <20> 븘<EFBFBD> 씠肄<EC94A0> /SVG 而댄룷<EB8C84> 꼳<EFBFBD> 듃<EFBFBD> 쓽 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 湲<> 猷⑥엵 <20> 쁽<EFBFBD> 긽<EFBFBD> 쑝濡<EC919D> <20> 씤<EFBFBD> 빐 <20> 뾼寃⑺븳 <20> 떆<EFBFBD> 옉<EFBFBD> 젏(` ^`) <20> 젙洹쒖떇<EC9296> 씠 源⑥쭏 <20> 닔 <20> 엳<EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> , <20> 빆<EFBFBD> 긽 遺덊븘<EB8D8A> 슂<EFBFBD> 븳 <20> 듅<EFBFBD> 닔臾몄옄 <20> 쟾泥섎━瑜<E29481> <20> 꽑<EFBFBD> 뻾<EFBFBD> 빐<EFBFBD> 빞 <20> 븿.
### [2026-04-09] [Extension] Agent UI Native Migration & CodeLens False Positive Filter
- **利앹긽**: UI Tailwind/Native 留덉씠洹몃젅<EBAA83> 씠<EFBFBD> 뀡 <20> 쟻<EFBFBD> 슜 <20> 썑, Discord 釉뚮┸吏<E294B8> 濡<EFBFBD> <20> 떊<EFBFBD> 샇媛<EC8387> <20> 쟾<EFBFBD> <EC9FBE> <EFBFBD> <20> 쟾<EFBFBD> 넚<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬
- **<2A> 썝<EFBFBD> 씤**: Agent <20> 뙣<EFBFBD> 꼸<EFBFBD> 씠 <20> 꺆/<2F> 뿉<EFBFBD> 뵒<EFBFBD> 꽣 蹂몃Ц<EBAA83> 뿉 吏곸젒 <20> 젋<EFBFBD> 뜑留곷릺硫댁꽌, 湲곗〈 <20> 삤<EFBFBD> 옉<EFBFBD> 룞 諛⑹<E8AB9B> <E291B9> 濡쒖쭅(` if (b.closest('.monaco-editor'))`)<29> 뿉 <20> 뙣<EFBFBD> 꼸 <20> 쟾泥<EC9FBE> 踰꾪듉<EABEAA> 씠 <20> 룷李⑸릺<E291B8> 뼱 臾댁떆<EB8C81> 맖
- **<2A> 빐寃<EBB990> **: <20> 꼫臾<EABCAB> 愿묐쾾<EBAC90> 쐞<EFBFBD> 븳 ` .monaco-editor` 諛⑹뼱瑜<EBBCB1> <20> 빐<EFBFBD> 젣<EFBFBD> 븯怨<EBB8AF> , 肄붾뱶 <20> 젋利<ECA08B> 怨좎쑀 而⑦뀒<E291A6> 씠<EFBFBD> 꼫<EFBFBD> 씤 ` .codelens-decoration` <20> 궡遺<EAB6A1> <E981BA> 씪 寃쎌슦<EC8E8C> 뿉留<EBBF89> 臾댁떆<EB8C81> 븯<EFBFBD> 룄濡<EBA384> <20> <> <EFBFBD> <EFBFBD> 룷<EFBFBD> 씤<EFBFBD> 듃 <20> 닔<EFBFBD> 젙
- **二쇱쓽**: DOM <20> 샃<EFBFBD> <EC8383> <EFBFBD> 踰<EFBFBD> <20> 븘<EFBFBD> 꽣 議곌굔 <20> 옉<EFBFBD> 꽦 <20> 떆 <20> 옒<EFBFBD> 띁 <20> 겢<EFBFBD> 옒<EFBFBD> 뒪<EFBFBD> 뒗 UI <20> 뵒<EFBFBD> 옄<EFBFBD> 씤 媛쒗렪(Native, Editor Tab <20> 벑 <20> 쐞移<EC909E> 蹂<> 寃<EFBFBD> )<29> 뿉 留ㅼ슦 痍⑥빟<E291A5> 븿. 媛<> <E5AA9B> 옣 援ъ껜<D18A> 쟻<EFBFBD> 씤 <20> 궡遺<EAB6A1> <20> 끂<EFBFBD> 뱶 <20> 겢<EFBFBD> 옒<EFBFBD> 뒪<EFBFBD> 굹 <20> <> <EFBFBD> 寃<EFBFBD> 怨좎쑀 <20> 냽<EFBFBD> 꽦<EFBFBD> 쓣 <20> 넻<EFBFBD> 빐 <20> 븘<EFBFBD> 꽣留곹븷 寃<>
### [2026-03-31] [step-probe] GetAllCascadeTrajectories 10-Item Hard Limit (Signal Drop)
- **利앹긽**: ` guitar_score` <20> 벑<EFBFBD> 뿉<EFBFBD> 꽌 <20> 솢<EFBFBD> 꽦<EFBFBD> 솕<EFBFBD> 맂 <20> 꽭<EFBFBD> 뀡<EFBFBD> 쓽 <20> 뵒<EFBFBD> 뒪肄붾뱶 <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇瑜<EC8387> "怨꾩냽<EABEA9> 빐<EFBFBD> 꽌" <20> 옟吏<EC989F> 紐삵븿. (WS 60珥<30> <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐蹂대떎 <20> 뜑 移섎챸<EC848E> 쟻<EFBFBD> 쑝濡<EC919D> <20> 떊<EFBFBD> 샇媛<EC8387> <20> 븘<EFBFBD> 삁 媛<> 吏<EFBFBD> <20> 븡<EFBFBD> 쓬)
- **<2A> 썝<EFBFBD> 씤**: Extension<6F> 씠 <20> 솢<EFBFBD> 꽦 <20> 꽭<EFBFBD> 뀡<EFBFBD> 쓣 李얘린 <20> 쐞<EFBFBD> 빐 <20> 샇異쒗븯<EC9297> 뒗 ` GetAllCascadeTrajectories` LS API媛<49> ` {}`(鍮<> <20> 씤<EFBFBD> 옄)濡<> <20> 샇異쒕맆 <20> 븣, 湲곕낯<EAB395> 쟻<EFBFBD> 쑝濡<EC919D> **10媛쒖쓽 <20> 꽭<EFBFBD> 뀡留<EB80A1> 諛섑솚<EC8491> 븯<EFBFBD> 뒗 <20> 븯<EFBFBD> 뱶 由щ컠(Pagination Limit)**<2A> 씠 嫄몃젮<EBAA83> 엳<EFBFBD> 쓬. <20> 씠濡<EC94A0> <20> 씤<EFBFBD> 빐 <20> 옉<EFBFBD> 뾽 <20> 궡<EFBFBD> 뿭<EFBFBD> 씠 <20> 늻<EFBFBD> 쟻<EFBFBD> 릺硫<EBA6BA> <20> 닔留롮<EFA78D> <EBA1AE> 理쒖떊/吏꾪뻾 以<> <20> 꽭<EFBFBD> 뀡<EFBFBD> 뱾<EFBFBD> 씠 10媛<30> 紐⑸줉<E291B8> 뿉<EFBFBD> 꽌 諛<> <E8AB9B> 젮<EFBFBD> 굹 <20> 늻<EFBFBD> 씫<EFBFBD> 맖. <20> 씡<EFBFBD> 뒪<EFBFBD> 뀗<EFBFBD> 뀡<EFBFBD> <EB80A1> <EFBFBD> <20> 꽭<EFBFBD> 뀡<EFBFBD> 씠 <20> 뾾<EFBFBD> 떎怨<EB968E> <20> 뙋<EFBFBD> 떒<EFBFBD> 빐 媛뺤젣濡<ECA0A3> ` IDLE` 紐⑤뱶<E291A4> 뿉 吏꾩엯<EABEA9> 븯硫<EBB8AF> , <20> 듅<EFBFBD> 씤 <20> <> <EFBFBD> 湲곗뿴(WAITING) <20> 옄泥대<EFA7A3> <EB8C80> 寃<> <E5AF83> 궗<EFBFBD> 븯吏<EBB8AF> <20> 븡寃<EBB8A1> <20> 맖.
- **<2A> 빐寃<EBB990> ** (v0.5.14): ` v0.5.13`<60> 뿉<EFBFBD> 꽌 <20> 룄<EFBFBD> 엯<EFBFBD> 뻽<EFBFBD> 뜕 ` { limit: 100 }`<60> 씠 LS <20> 떒<EFBFBD> 쓽 荑쇰━ 怨쇰<E680A8> <EC87B0> <EFBFBD> 븯濡<EBB8AF> <20> 씤<EFBFBD> 븳 VS Code UI <20> 봽由ъ쭠(DoS)<29> 쓣 <20> 쑀諛쒗븯<EC9297> 뿬 濡ㅻ갚<E385BB> 븯<EFBFBD> 뒗 以<> <20> 븘<EFBFBD> 닔 <20> 젙<EFBFBD> 젹 <20> 뙆<EFBFBD> 씪誘명꽣(` descending: true`)源뚯<E6BA90> <EB9AAF> <20> 냼<EFBFBD> 떎<EFBFBD> 릺<EFBFBD> 뿀<EFBFBD> 뜕 <20> 떎<EFBFBD> 닔瑜<EB8B94> 援먯젙<EBA8AF> 븿. 理쒖쥌<EC9296> 쟻<EFBFBD> 쑝濡<EC919D> ` { limit: 30, descending: true }`瑜<> <20> 쟻<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 뿬 <20> 뙆<EFBFBD> 떛 遺<> <E981BA> 븯 理쒖냼<EC9296> 솕 諛<> 理쒖떊 <20> 꽭<EFBFBD> 뀡 理쒖긽<EC9296> 떒(Index 0) 議고쉶瑜<EC89B6> <20> 븞<EFBFBD> 쟾<EFBFBD> 븯寃<EBB8AF> 援ы쁽<D18B> 븿.
- **二쇱쓽**: LS<4C> 쓽 湲곕낯 SQLite/DB <20> 쓳<EFBFBD> 떟 Limit 洹쒖튃<EC9296> 뿉 <20> 쓽議댄븯<EB8C84> 뿬 <20> 쟾泥<EC9FBE> <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣 <20> 뒪罹붿쓣 <20> 닔<EFBFBD> 뻾<EFBFBD> 븯<EFBFBD> 뒗 濡쒖쭅<EC9296> <ECAD85> <EFBFBD> <20> 뼵<EFBFBD> 젣<EFBFBD> 뱺 Truncation <20> 씠<EFBFBD> 뒋(Data Loss)瑜<> <20> 쑀諛쒗븷 <20> 닔 <20> 엳<EFBFBD> 쓬.
### [2026-03-31] [WS] Browser API Fallback 60s Timeout (Zombie Connection)
- **利앹긽**: ` guitar_score` <20> 벑 紐⑤뱺 <20> 옉<EFBFBD> 뾽 <20> 솚寃쎌뿉<EC8E8C> 꽌 <20> 빟 60珥덈쭏<EB8D88> 떎 WebSocket <20> 뿰寃곗씠 <20> 걡湲곌퀬 <20> 옱<EFBFBD> 뿰寃곕릺<EAB395> 뒗 <20> 쁽<EFBFBD> 긽<EFBFBD> 씠 諛섎났<EC848E> 릺硫<EBA6BA> (extension.log<6F> 뿉 ` Heartbeat timeout` 怨꾩냽 異쒕젰), 洹<> <20> 궗<EFBFBD> 씠 <20> 뵒<EFBFBD> 뒪肄붾뱶 <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇瑜<EC8387> <20> 넃移<EB8483> .
- **<2A> 썝<EFBFBD> 씤**: Extension<6F> 씠 ` ws` 紐⑤뱢 濡쒕뱶 <20> 떎<EFBFBD> 뙣(VS Code <20> 솚寃<EC869A> <20> 벑)濡<> <20> 씤<EFBFBD> 빐 釉뚮씪<EB9AAE> 슦<EFBFBD> <EC8AA6> <EFBFBD> <20> 궡<EFBFBD> 옣 ` WebSocket` 媛앹껜濡<EABB9C> Fallback <20> 맖. 釉뚮씪<EB9AAE> 슦<EFBFBD> <EC8AA6> <EFBFBD> WS<57> 뒗 <20> 꽌踰꾩쓽 <20> 꽕<EFBFBD> 씠<EFBFBD> 떚釉<EB969A> ping<6E> 쓣 諛쏆븘 pong<6E> 쓣 <20> 옄<EFBFBD> 룞 <20> 쓳<EFBFBD> 떟<EFBFBD> 븯吏<EBB8AF> 留<EFBFBD> JS<4A> 뿉 <20> 씠踰ㅽ듃瑜<EB9383> <20> 끂異쒗븯吏<EBB8AF> <20> 븡<EFBFBD> 쓬. <20> 씠濡<EC94A0> <20> 씤<EFBFBD> 빐 ` lastPongTime` 媛깆떊<EAB986> 씠 遺덇<E981BA> <EB8D87> <EFBFBD> 뒫<EFBFBD> 빐<EFBFBD> 졇, ` Date.now() - lastPongTime > 60000` 議곌굔<EAB38C> 씠 臾댁“嫄<E2809C> <20> 넻怨쇰릺<EC87B0> 뼱 硫<> 姨≫븳 <20> 뿰寃곗쓣 媛뺤젣 醫낅즺<EB8285> 븿 (False Positive).
- **<2A> 빐寃<EBB990> ** (v0.5.12):
1. ` hub.py`: ` {"type": "heartbeat"}` JSON 硫붿떆吏<EB9686> <20> 닔<EFBFBD> 떊 <20> 떆 紐낆떆<EB8286> 쟻<EFBFBD> 쑝濡<EC919D> ` {"type": "pong"}` JSON<4F> 쓣 <20> 쓳<EFBFBD> 떟<EFBFBD> 븯<EFBFBD> 룄濡<EBA384> <20> 닔<EFBFBD> 젙.
2. ` ws-client.ts`: 紐낆떆<EB8286> 쟻 ` pong` <20> 빖<EFBFBD> 뱾<EFBFBD> 윭 異붽<E795B0> <EBB6BD> . JSON pong 吏<> <EFA79E> 썝 <20> 꽌踰꾧굅<EABEA7> 굹 Node.js ws瑜<73> <20> 궗<EFBFBD> 슜<EFBFBD> 븷 <20> 븣留<EBB8A3> 60珥<30> <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐 寃<> 利앹쓣 嫄곗튂<EAB397> 룄濡<EBA384> 議곌굔 蹂닿컯 (` forceHeartbeatTimeoutIfNoPong`).
- **二쇱쓽**: 釉뚮씪<EB9AAE> 슦<EFBFBD> <EC8AA6> <EFBFBD> <20> 몴以<EBAAB4> WebSockets(W3C)<29> 뒗 ping/pong <20> 젣<EFBFBD> 뼱 <20> 봽<EFBFBD> 젅<EFBFBD> 엫<EFBFBD> 쓣 JS濡<53> <20> 끂異쒗븯吏<EBB8AF> <20> 븡<EFBFBD> 쓬. <20> 뤃由ы븘/<2F> 겕濡쒖뒪<EC9296> 뵆<EFBFBD> 옯<EFBFBD> 뤌 WS <20> 옒<EFBFBD> 띁 <20> 궗<EFBFBD> 슜 <20> 떆 <20> 븯<EFBFBD> 듃鍮꾪듃<EABEAA> 뒗 諛섎뱶<EC848E> 떆 JSON 硫붿꽭吏<EABDAD> <20> 삎<EFBFBD> 깭<EFBFBD> 쓽 Application Layer Ping/Pong<6E> 쑝濡<EC919D> <20> <> <EFBFBD> <EFBFBD> 뼱<EFBFBD> 궡嫄곕굹, Native WS API <20> 뿬遺<EBBFAC> 瑜<EFBFBD> <20> 솗<EFBFBD> 떎<EFBFBD> 엳 泥댄겕<EB8C84> 빐<EFBFBD> 빞 <20> 븿.
### [2026-03-28] [step-probe] GetCascadeTrajectorySteps UTF-8 <20> 뿉<EFBFBD> 윭 臾댄븳 猷⑦봽
- **利앹긽**: ` guitar_score` <20> 봽濡쒖젥<EC9296> 듃<EFBFBD> 뿉<EFBFBD> 꽌 ` [STEP-PROBE] error: ...invalid UTF-8` <20> 뿉<EFBFBD> 윭媛<EC9CAD> 5珥덈쭏<EB8D88> 떎 諛섎났<EC848E> 릺硫<EBA6BA> Discord <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇媛<EC8387> <20> 쟾<EFBFBD> 떖<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬.
- **<2A> 썝<EFBFBD> 씤**: AG LS <20> 꽌踰꾩뿉<EABEA9> 꽌 <20> 듅<EFBFBD> 젙 step<65> 쓽 ` CortexStepEphemeralMessage.content`<60> 뿉 諛붿씠<EBB6BF> 꼫由<EABCAB> <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣(<28> 씠誘몄<E8AA98> <EBAA84> <20> 벑) <20> 룷<EFBFBD> 븿 <20> 넂 proto UTF-8 吏곷젹<EAB3B7> 솕 500 <20> 뿉<EFBFBD> 윭. ` catch(e)` 釉붾줉<EBB6BE> 뿉<EFBFBD> 꽌 ` stallProbed=true`瑜<> <20> 꽕<EFBFBD> 젙<EFBFBD> 븯吏<EBB8AF> <20> 븡<EFBFBD> 븘 ` !ctx.stallProbed` 議곌굔<EAB38C> 씠 <20> 빆<EFBFBD> 긽 true <20> 넂 5珥덈쭏<EB8D88> 떎 <20> 룞<EFBFBD> 씪 <20> 슂泥<EC8A82> 臾댄븳 <20> 옱<EFBFBD> 떆<EFBFBD> 룄.
- **<2A> 빐寃<EBB990> ** (v0.5.11): ` catch` 釉붾줉<EBB6BE> 뿉<EFBFBD> 꽌 UTF-8 <20> 뿉<EFBFBD> 윭 媛먯<E5AA9B> <EBA8AF> <20> 떆 ` stepOffset=currentCount-20`<60> 쑝濡<EC919D> fallback <20> 슂泥<EC8A82> . offset<65> 룄 <20> 떎<EFBFBD> 뙣 <20> 떆 ` stallProbed=true` <20> 꽕<EFBFBD> 젙<EFBFBD> 븯<EFBFBD> 뿬 猷⑦봽 李⑤떒. ` delta>0` <20> 씠踰ㅽ듃 諛쒖깮 <20> 떆 L433<33> 뿉<EFBFBD> 꽌 <20> 옄<EFBFBD> 룞 由ъ뀑.
- **二쇱쓽**: ` stallProbed=true`<60> 뒗 <20> 쁺援<EC81BA> Lock<63> 씠 <20> 븘<EFBFBD> 떂 <20> <> <EFBFBD> ` delta>0` <20> 떆 <20> 옄<EFBFBD> 룞 由ъ뀑. UTF-8 <20> 뿉<EFBFBD> 윭<EFBFBD> 뒗 AG <20> 꽌踰<EABD8C> 痢<> 臾몄젣(<28> 씠誘몄<E8AA98> <EBAA84> /諛붿씠<EBB6BF> 꼫由<EABCAB> <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣媛<EABDA3> ephemeral message<67> 뿉 <20> 룷<EFBFBD> 븿)<29> 씠誘<EC94A0> 濡<EFBFBD> Extension<6F> 뿉<EFBFBD> 꽌 graceful fallback留<6B> 泥섎━.
### [2026-03-28] [approval-handler] stepIndex 誘명솗<EBAA85> 젙 <20> 떆 wrong-stepIndex RPC <20> 궘鍮<EAB698>
- **利앹긽**: DOM observer 寃쎈줈濡<ECA488> ` terminal_command` pending <20> 깮<EFBFBD> 꽦 <20> 썑 Discord <20> 듅<EFBFBD> 씤 <20> 떆 ` HandleCascadeUserInteraction(stepIndex=0)` <20> 넂 ` "input not registered for step 0"` <20> 넂 LS reconnect <20> 넂 <20> 옱<EFBFBD> 떆<EFBFBD> 룄 <20> 넂 DOM click fallback<63> 쑝濡<EC919D> <20> <> <EFBFBD> <EFBFBD> 븯. (wrong-LS<4C> <53> <EFBFBD> <20> 룞<EFBFBD> 씪<EFBFBD> 븳 利앹긽<EC95B9> 씠<EFBFBD> 굹 <20> 떎瑜<EB968E> <20> 썝<EFBFBD> 씤)
- **<2A> 썝<EFBFBD> 씤**: ` ctx.lastPendingStepIndex=-1` (step-probe媛<65> UTF-8 <20> 뿉<EFBFBD> 윭濡<EC9CAD> WAITING 誘멸컧吏<ECBBA7> )<29> 엫<EFBFBD> 뿉<EFBFBD> 룄 ` Math.max(0, -1)=0`<60> 쑝濡<EC919D> clamp<6D> 릺<EFBFBD> 뼱 議댁옱<EB8C81> 븯吏<EBB8AF> <20> 븡<EFBFBD> 뒗 step 0<> 뿉 RPC <20> 쟾<EFBFBD> 넚.
- **<2A> 빐寃<EBB990> ** (v0.5.11): ` effectiveStepIndex = stepIndex >= 0 ? stepIndex : (lastPendingStepIndex >= 0 ? lastPendingStepIndex : -1)`. ` effectiveStepIndex < 0`<60> 씠硫<EC94A0> RPC 釉붾줉 <20> 쟾泥<EC9FBE> skip <20> 넂 DOM click 吏곹뻾 (湲곗〈怨<E38088> <20> 룞<EFBFBD> 옉 <20> 룞<EFBFBD> 씪, LS reconnect <20> 궘鍮<EAB698> <20> 젣嫄<ECA0A3> ).
- **二쇱쓽**: 湲곗〈 洹쒖튃 #14(` uint32`<60> 뿉 <20> 쓬<EFBFBD> 닔 湲덉<E6B9B2> <EB8D89> )<29> <> <EFBFBD> 異⑸룎泥섎읆 蹂댁씠<EB8C81> 굹, ` effectiveStepIndex=-1`<60> 씪 <20> 븣 RPC <20> 옄泥대<EFA7A3> <EB8C80> **<2A> 쟾<EFBFBD> 넚<EFBFBD> 븯吏<EBB8AF> <20> 븡<EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> ** <20> 쐞諛<EC909E> <20> 븘<EFBFBD> 떂. RPC <20> 쟾<EFBFBD> 넚 <20> 떆<EFBFBD> 뿉<EFBFBD> 뒗 <20> 뿬<EFBFBD> 쟾<EFBFBD> 엳 <20> 쑀<EFBFBD> 슚<EFBFBD> 븳 stepIndex留<78> <20> 궗<EFBFBD> 슜.
### [2026-03-25] [Architecture] Discord Signal Drop & Extension Freezes
- **利앹긽**: <20> 옣<EFBFBD> 떆媛<EB9686> <20> 옄由щ퉬<D189> <ED89AC> <EFBFBD> <20> 썑 蹂듦<E8B982> <EB93A6> <20> 떆 Discord濡<64> <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇媛<EC8387> <20> 삤吏<EC82A4> <20> 븡嫄곕굹 VS Code UI媛<49> 媛꾪뿉<EABEAA> 쟻/吏<> <EFA79E> 냽<EFBFBD> 쟻<EFBFBD> 쑝濡<EC919D> 硫덉땄(Freeze).
- **<2A> 썝<EFBFBD> 씤**:
1. ` ws.onerror` 諛쒖깮 <20> 썑 ` onclose` <20> 늻<EFBFBD> 씫 <20> 떆 <20> 옱<EFBFBD> 뿰寃<EBBFB0> 肄쒕갚 <20> 샇異쒖씠 <20> 씠猷⑥뼱吏<EBBCB1> 吏<EFBFBD> <20> 븡<EFBFBD> 븘 臾댄븳 <20> <> <EFBFBD> 湲<EFBFBD> (<28> 옣<EFBFBD> 떆媛<EB9686> 留덈퉬)
2. ` ws-client` <20> 옱<EFBFBD> 뿰寃<EBBFB0> <20> 떆 <20> 늻<EFBFBD> 쟻<EFBFBD> 맂 200媛<30> <20> 걧瑜<EAB1A7> <20> 룞湲곗떇 burst <20> 쟾<EFBFBD> 넚<EFBFBD> 븯<EFBFBD> 뿬 Hub<75> 쓽 <20> 냽<EFBFBD> 룄 <20> 젣<EFBFBD> 븳(60媛<30> /10珥<30> )<29> 뿉 嫄몃젮 <20> 솗<EFBFBD> 젙 <20> 쁺援<EC81BA> <20> 궘<EFBFBD> 젣<EFBFBD> 맖
3. 濡쒖뺄 釉뚮┸吏<E294B8> ` http-bridge.ts`<60> 쓽 怨쇨굅 <20> 쑀<EFBFBD> 궛<EFBFBD> 씤 ` FALSE_POSITIVE_RE` <20> 젙洹쒖떇<EC9296> 씠 AI 怨좎쑀 踰꾪듉(Allow, Deny, Accept) 留덉<EFA78D> <EB8D89> <20> 븘<EFBFBD> 꽣留곹븯<EAB3B9> 뿬 Discord <20> 쟾<EFBFBD> 넚 <20> 썝泥<EC8D9D> 李⑤떒
4. ` step-probe.ts` <20> 뤃留<EBA483> 猷⑦봽 <20> 궡 <20> 룞湲곗떇 <20> 뙆<EFBFBD> 씪 I/O <20> 궗<EFBFBD> 슜<EFBFBD> 쑝濡<EC919D> <20> 씤<EFBFBD> 븳 <20> 봽由ъ쫰
- **<2A> 빐寃<EBB990> ** (v0.5.10): ws-client<6E> 뿉 <20> 븯<EFBFBD> 뱶 <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐 諛<> 50ms Paced-flush <20> 쟻<EFBFBD> 슜, http-bridge<67> 쓽 <20> 젙洹쒖떇 湲곕뒫 <20> 셿<EFBFBD> 솕, step-probe 鍮꾨룞湲<EBA39E> I/O <20> 쟾<EFBFBD> 솚 泥댁젣 <20> 쟻<EFBFBD> 슜, observer-script<70> 쓽 <20> 븘<EFBFBD> 꽣<EFBFBD> 맂 <20> 떊<EFBFBD> 샇 臾댄븳 HTTP <20> 뤃留<EBA483> 諛⑹뼱 肄붾뱶 諛섏쁺.
- **二쇱쓽**: Extension <20> 궡遺<EAB6A1> 濡쒖쭅 踰꾧렇<EABEA7> <EBA087> <EFBFBD> <EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> Hub(Python) 肄붾뱶<EBB6BE> 뒗 嫄대뱶由ъ<E794B1> <D18A> <20> 븡<EFBFBD> 쓬. Hub <20> 냽<EFBFBD> 룄 <20> 젣<EFBFBD> 븳<EFBFBD> <EBB8B3> <EFBFBD> <20> 젙<EFBFBD> 긽 諛⑹뼱 湲곗젣<EAB397> 씠誘<EC94A0> 濡<EFBFBD> <20> 겢<EFBFBD> 씪<EFBFBD> 씠<EFBFBD> 뼵<EFBFBD> 듃 <20> 떒<EFBFBD> 쓽 Pacing<6E> 씠 <20> 삱諛붾Ⅸ 諛⑺뼢<E291BA> 엫.
### [2026-03-24] DOM Observer /trigger-click <20> 젋<EFBFBD> 뜑留<EB9C91> <20> 닚<EFBFBD> 꽌 <20> 삤<EFBFBD> 옉<EFBFBD> 룞 諛<> False Positive <20> 봽由ъ쭠
- **利앹긽**: v0.5.9 <20> 뙣移<EB99A3> <20> 씠<EFBFBD> 썑 肄붾뵫 <20> 떆 Agent <20> 솕硫댁씠 <20> 걡<EFBFBD> 엫<EFBFBD> 뾾<EFBFBD> 씠 <20> 꽌紐<EABD8C> <20> <> <EFBFBD> 湲<EFBFBD> (Pending) <20> 긽<EFBFBD> 깭濡<EAB9AD> 硫덉땄. <20> 삉<EFBFBD> 뒗 <20> 뵒<EFBFBD> 뒪肄붾뱶<EBB6BE> 뿉<EFBFBD> 꽌 ` Approve` <20> 떆 <20> 뿉<EFBFBD> 뵒<EFBFBD> 꽣 <20> 궡<EFBFBD> 쓽 <20> 뿁<EFBFBD> 슧<EFBFBD> 븳 ` Run Test`(肄붾뱶 <20> 젋利<ECA08B> )瑜<> <20> 겢由<EAB2A2> <E794B1> 븿.
- **<2A> 썝<EFBFBD> 씤**: <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃<EFBFBD> <EB9383> <EFBFBD> <20> 젙洹쒖떇(` /^Run/i` <20> 벑)<29> 뿉留<EBBF89> <20> 쓽議댄븯<EB8C84> 뿬 ` querySelectorAll`<60> 쓣 <20> 닔<EFBFBD> 뻾<EFBFBD> 븷 寃쎌슦, DOM <20> 듃由ъ뿉 <20> 젋<EFBFBD> 뜑留곷맂 <20> 닔留롮<EFA78D> <EBA1AE> VS Code <20> 꽕<EFBFBD> 씠<EFBFBD> 떚釉<EB969A> 肄붾뱶 <20> 젋利<ECA08B> 踰꾪듉<EABEAA> 쓣 Agent 踰꾪듉蹂대떎 癒쇱<E79992> <EC87B1> 李얠븘踰꾨━<EABEA8> 뒗 諛쒖깮 <20> 쐞移<EC909E> (Context)<29> 쓽 <20> 븳怨꾩젏.
- **<2A> 빐寃<EBB990> ** (v0.5.10):
1. 媛먯<E5AA9B> <EBA8AF> (Scan): ` isVSCodeMainWindow` 諛<> <20> 깘<EFBFBD> 깋 <20> 끂<EFBFBD> 뱶 ` isBodyRoot` <20> 솗<EFBFBD> 씤<EFBFBD> 쓣 <20> 넻<EFBFBD> 빐, <20> 뿉<EFBFBD> 뵒<EFBFBD> 꽣 蹂몃Ц <20> 쁺<EFBFBD> 뿭<EFBFBD> 뿉<EFBFBD> 꽌<EFBFBD> 뒗 "Run", "Approve" 媛먯<E5AA9B> <EBA8AF> 瑜<EFBFBD> <20> 썝泥<EC8D9D> <20> 젣嫄<ECA0A3> (<28> 삤吏<EC82A4> <20> 뙣<EFBFBD> 꼸 <20> 궡濡<EAB6A1> <20> 븳<EFBFBD> 젙).
2. <20> 겢由<EAB2A2> (Trigger-click): ` deepFindButtons()` <20> 궡<EFBFBD> 뿉<EFBFBD> 꽌 ` findPanel()`(<28> 뿉<EFBFBD> 씠<EFBFBD> 쟾<EFBFBD> 듃 <20> 뙣<EFBFBD> 꼸) -> <20> 븣由<EBB8A3> Toasts -> Document 蹂몃Ц <20> 닚<EFBFBD> 쑝濡<EC919D> <20> 깘<EFBFBD> 깋 **<2A> 슦<EFBFBD> 꽑<EFBFBD> 닚<EFBFBD> 쐞(Priority)**瑜<> 媛뺤젣 <20> 쟻<EFBFBD> 슜.
- **二쇱쓽**: 踰꾪듉 <20> 씠踰ㅽ듃 <20> 썑<EFBFBD> 궧 <20> 떆 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 留ㅼ묶<E385BC> 뿉留<EBBF89> <20> 쓽議댄븯吏<EBB8AF> 留먭퀬, 諛섎뱶<EC848E> 떆 DOM <20> 깘<EFBFBD> 깋 <20> 슦<EFBFBD> 꽑<EFBFBD> 닚<EFBFBD> 쐞<EFBFBD> <EC909E> <EFBFBD> 而⑦뀓<E291A6> 뒪<EFBFBD> 듃 踰붿쐞瑜<EC909E> <20> 븿猿<EBB8BF> <20> 븘<EFBFBD> 꽣留곹븯<EAB3B9> 뿬 False Positive瑜<65> 李⑤떒<E291A4> 븷 寃<> .
### [2026-03-24] DOM Observer <20> <> <EFBFBD> VS Code Native UI Blind Spot
- **利앹긽**: "Always Allow" 諛<> <20> 씪諛<EC94AA> "Allow Alt+<2B> 넻" 沅뚰븳 <20> 븣由<EBB8A3> 踰꾪듉<EABEAA> 씠 <20> 뵒<EFBFBD> 뒪肄붾뱶 沅뚰븳 <20> 꽱<EFBFBD> 떛<EFBFBD> 뿉<EFBFBD> 꽌 <20> 셿<EFBFBD> 쟾<EFBFBD> 엳 <20> 늻<EFBFBD> 씫<EFBFBD> 맖.
- **<2A> 썝<EFBFBD> 씤**: VS Code <20> 꽕<EFBFBD> 씠<EFBFBD> 떚釉<EB969A> <20> 븣由<EBB8A3> 諛<> 梨꾪똿 <20> 뙣<EFBFBD> 꼸 <20> 궡<EFBFBD> 쓽 踰꾪듉<EABEAA> <EB9389> <EFBFBD> ` <button>` <20> 깭洹<EAB9AD> <20> <> <EFBFBD> <EFBFBD> 떊 ` <a role="button">`, ` <vscode-button>` <20> 벑<EFBFBD> 쓣 <20> 궗<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 뒗<EFBFBD> 뜲, 湲곗〈 DOM scan 濡쒖쭅<EC9296> 씠 ` querySelectorAll('button')`<60> 쑝濡<EC919D> <20> 븯<EFBFBD> 뱶肄붾뵫<EBB6BE> 릺<EFBFBD> 뼱 <20> 끂<EFBFBD> 뱶瑜<EBB1B6> <20> 븘<EFBFBD> 삁 李얠<EFA7A1> <EC96A0> 紐삵븿. (異붽<E795B0> <EBB6BD> 濡<EFBFBD> Always Allow <20> 젙洹쒖떇 <20> 늻<EFBFBD> 씫)
- **<2A> 빐寃<EBB990> ** (v0.5.9): DOM scan, 由ъ뒯 <20> 썒 <20> 벑 紐⑤뱺 <20> 깘<EFBFBD> 깋 濡쒖쭅 <20> <> <EFBFBD> <EFBFBD> 젆<EFBFBD> 꽣瑜<EABDA3> ` button, [role="button"], vscode-button, .monaco-text-button` <20> 쑝濡<EC919D> <20> 쟾硫<EC9FBE> 媛쒗렪. <20> 젙洹쒖떇<EC9296> 쓣 ` /^(?:Always )?Allow/i`濡<> <20> 닔<EFBFBD> 젙.
### [2026-03-24] Python Hub <20> <> <EFBFBD> 醫<> 鍮<EFBFBD> 而ㅻ꽖<E385BB> 뀡 諛<> UI <20> 봽由ъ쭠
- **利앹긽**: ` npm run` 紐낅졊<EB8285> 씠 ` <EFBFBD> 떎<EFBFBD> 뻾 <20> 젙梨<ECA099> ` 愿<> <E684BF> 젴 <20> 삤瑜섎줈 <20> 떎<EFBFBD> 뙣
- **<2A> 썝<EFBFBD> 씤**: PowerShell <20> 뒪<EFBFBD> 겕由쏀듃 <20> 떎<EFBFBD> 뻾 <20> 젙梨낆씠 <20> 젣<EFBFBD> 븳<EFBFBD> 쟻
- **<2A> 빐寃<EBB990> **: ` cmd /c npm run dev` <20> 삎<EFBFBD> 떇<EFBFBD> 쑝濡<EC919D> cmd瑜<64> <20> 넻<EFBFBD> 빐 <20> 떎<EFBFBD> 뻾
- **二쇱쓽**: npm 愿<> <E684BF> 젴 紐낅졊<EB8285> <ECA18A> <EFBFBD> <20> 빆<EFBFBD> 긽 ` cmd /c` <20> 젒<EFBFBD> 몢<EFBFBD> 뼱 <20> 궗<EFBFBD> 슜 沅뚯옣
### [2026-03-08] PowerShell curl <20> <> <EFBFBD> Invoke-WebRequest 異⑸룎
- **利앹긽**: ` curl` 紐낅졊<EB8285> 씠 <20> 삁<EFBFBD> 긽怨<EAB8BD> <20> 떎瑜<EB968E> <20> 쓳<EFBFBD> 떟 <20> 삎<EFBFBD> 떇<EFBFBD> 쓣 諛섑솚
- **<2A> 썝<EFBFBD> 씤**: PowerShell<6C> 뿉<EFBFBD> 꽌 ` curl`<60> <> <EFBFBD> ` Invoke-WebRequest`<60> 쓽 蹂꾩묶
- **<2A> 빐寃<EBB990> **: **` curl.exe`**瑜<> 紐낆떆<EB8286> 쟻<EFBFBD> 쑝濡<EC919D> <20> 궗<EFBFBD> 슜
- **二쇱쓽**: HTTP 愿<> <E684BF> 젴 紐⑤뱺 紐낅졊<EB8285> 뿉<EFBFBD> 꽌 ` curl.exe` <20> 궗<EFBFBD> 슜 <20> 븘<EFBFBD> 닔
---
## 誘명빐寃<EBB990> <20> 씠<EFBFBD> 뒋
### [2026-03-23/24] <20> 룊<EFBFBD> 깮 吏<> <EFA79E> 냽<EFBFBD> 릺<EFBFBD> 뒗 WebSocket 醫<> 鍮<EFBFBD> 而ㅻ꽖<E385BB> 뀡 諛<> False Positive 媛뺤젣 <20> 뿰寃<EBBFB0> <20> 걡源<EAB1A1> (v0.5.5 <20> 넂 0.5.8)
- **利앹긽**:
1. (v0.5.5) <20> 젅<EFBFBD> 쟾 紐⑤뱶 蹂듦뎄 <20> 떆 <20> 떎<EFBFBD> 뿰寃곗씠 <20> 걡<EFBFBD> 뼱議뚯쓬<EB9AAF> 뿉<EFBFBD> 룄 <20> 솗<EFBFBD> 옣<EFBFBD> 씠 <20> 씠瑜<EC94A0> <20> 씤吏<EC94A4> <EFA79E> 븯吏<EBB8AF> 紐삵븯<EC82B5> 뒗 醫<> 鍮<EFBFBD> (Half-open) <20> 냼耳<EB83BC> 諛쒖깮.
2. (v0.5.6) 醫<> 鍮<EFBFBD> <20> 냼耳볦쓣 <20> 옟湲<EC989F> <20> 쐞<EFBFBD> 빐 10珥<30> <20> <> <EFBFBD> <EFBFBD> 씠癒<EC94A0> (` pongTimeoutTimer`)瑜<> <20> 꽔<EFBFBD> 뿀<EFBFBD> 쑝<EFBFBD> 굹, VS Code<64> 쓽 臾닿굅<EB8BBF> 슫 <20> 뙆<EFBFBD> 씪 寃<> <E5AF83> 깋 <20> 떆 Event Loop媛<70> 釉붾줈<EBB6BE> 궧<EFBFBD> 릺硫<EBA6BA> 硫<> 姨≫븳 <20> 뿰寃곗씤<EAB397> 뜲<EFBFBD> 룄 <20> 뿀<EFBFBD> 쐞 <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐(False Positive) <20> 뙋<EFBFBD> 젙<EFBFBD> 쑝濡<EC919D> <20> 뿰寃곗쓣 媛뺤젣 醫낅즺<EB8285> 븿. <20> 씠濡<EC94A0> <20> 씤<EFBFBD> 빐 <20> 늻<EFBFBD> 쟻<EFBFBD> 맂 <20> 옱<EFBFBD> 뿰寃<EBBFB0> <20> 뵜<EFBFBD> 젅<EFBFBD> 씠(Exponential Backoff)媛<> 60珥덇퉴吏<ED89B4> <20> 뒛<EFBFBD> 뼱<EFBFBD> 굹硫댁꽌 <20> 솗<EFBFBD> 옣<EFBFBD> 씠 <20> 떖媛곹븯寃<EBB8AF> 硫덉땄(Freeze).
- **<2A> 썝<EFBFBD> 씤**: Node.js ` ws` <20> 씪<EFBFBD> 씠釉뚮윭由ъ쓽 ` ws.ping()`<60> <> <EFBFBD> 鍮꾨룞湲<EBA39E> I/O <20> 꽕<EFBFBD> 듃<EFBFBD> 썙<EFBFBD> 겕 <20> 걧瑜<EAB1A7> <20> <> <EFBFBD> 吏<EFBFBD> 留<EFBFBD> , ` setTimeout(..., 10000)` <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐<EFBFBD> <EC8D90> <EFBFBD> Event Loop 釉붾줈<EBB6BE> 궧 <20> 빐<EFBFBD> 젣 吏곹썑 怨㏓컮濡<ECBBAE> 留뚮즺<EB9AAE> 릺<EFBFBD> 뼱 踰꾨┝. <20> 뵲<EFBFBD> 씪<EFBFBD> 꽌 <20> 꽕<EFBFBD> 듃<EFBFBD> 썙<EFBFBD> 겕 I/O <20> 쓳<EFBFBD> 떟(pong)蹂대떎 濡쒖뺄 <20> <> <EFBFBD> <EFBFBD> 씠癒멸<E79992> <EBA9B8> 癒쇱<E79992> <EC87B1> <20> 꽣<EFBFBD> 졇<EFBFBD> 꽌 <20> 젙<EFBFBD> 긽<EFBFBD> 쟻<EFBFBD> 씤 <20> 냼耳볦쓣 二쎌엫.
- **<2A> 빐寃<EBB990> ** (v0.5.8 <20> 셿<EFBFBD> 꽦):
# Known Issues & Lessons Learned
> **<2A> 씠 <20> 뙆<EFBFBD> 씪<EFBFBD> <EC94AA> <EFBFBD> SSOT(Single Source of Truth)<29> 엯<EFBFBD> 땲<EFBFBD> 떎.**
> <EFBFBD> 뵒踰꾧퉭<EFBFBD> 씠<EFBFBD> 굹 援ы쁽 <20> 쟾<EFBFBD> 뿉 **諛섎뱶<EC848E> 떆** <20> 씠 <20> 뙆<EFBFBD> 씪<EFBFBD> 쓣 <20> 솗<EFBFBD> 씤<EFBFBD> 븯<EFBFBD> 꽭<EFBFBD> 슂.
> <EFBFBD> 꽭<EFBFBD> 뀡 醫낅즺 <20> 떆 <20> 깉濡<EAB989> 諛쒓껄<EC9293> 맂 <20> 씠<EFBFBD> 뒋瑜<EB928B> <20> 씠 <20> 뙆<EFBFBD> 씪<EFBFBD> 뿉 異붽<E795B0> <EBB6BD> <EFBFBD> 빀<EFBFBD> 땲<EFBFBD> 떎.
# 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뿉꽌 寃깋븯꽭슂.
### [2026-04-15 ] [Extension] PROMPT_ONLY_RE regex fixes — prompt-only terminal text leaking as enriched cmd (v0.5.45)
- **증상**: Discord에 `cmd="…\gravity_control >"` (실제 명령어 없는 빈 터미널 프롬프트)가 전송됨. 명령어가 포함된 경우는 정상 작동
- **원인 1 (Observer)**: `PROMPT_ONLY_RE ` 의 `\\\\s` (4중 backslash)가 template literal 안의 regex 리터럴에서 "literal backslash+s"가 되어 whitespace class가 아닌 문자열 매칭
- **원인 2 (http-bridge)**: `PROMPT_ONLY_RE = /^[\s\\\/]*[\w_.-]+\s*[>»$#]\s*$/` — AG 터미널 프롬프트가 `…` (U+2026 ellipsis)로 시작하는데 첫 문자 클래스에 포함 안 됨
- **해결 (v0.5.45, `d2c44fe` )**: Observer `\\ s` →`\s` , http-bridge 패턴을 `/^.*[>»$#]\s*$/` 로 단순화
- **검증**: 11개 테스트 케이스 전체 통과
---
### [2026-04-14] [Extension] Observer template literal 정규식 이스케이핑 오류 — "Running N commands" 스킵 미작동
- **증상**: v9에서 `Running N commands` 그룹 헤더를 스킵하는 정규식 `/^Running\s*\d+\s*commands?$/i` 를 추가했으나, 실제로 "Running2 commands" 텍스트를 전혀 매칭하지 못하여 여전히 Discord에 `cmd="Running2 commands"` 가 전송됨
- **원인**: `observer-script.ts` 의 전체 코드가 TypeScript template literal (`` ` `` ... ` ` ` ``) 안에 있으므로, 정규식 리터럴의 백슬래시가 2중 해석됨:
- TS 소스 `\\\\s` (4중) → template literal 출력 `\\s` → **브라우저에서 regex 리터럴 `\\s` = 리터럴 백슬래시+s ** ❌
- TS 소스 `\\s` (2중) → template literal 출력 `\s` → **브라우저에서 regex 리터럴 `\s` = whitespace class ** ✅
- TS 소스 `\s` (1중) → template literal에서 이스케이프 소멸 → **출력 `s` ** ❌
- **영향 범위**: `NOISE_CODE_RE` , `cleanLines()` (word boundary `\b` , newline `\n` ), `cleanButtonText()` (whitespace `\s` ), port 탐색 regex `\d` , "Running N commands" 스킵 regex 전부 미작동이었음
- 단, `NOISE_RE` (new RegExp() 사용)는 문자열 이스케이핑이므로 4중 백슬래시가 올바름 (string → RegExp는 별도 이스케이핑 레이어)
- **해결 **: 모든 정규식 리터럴 (`/pattern/flags` ) 안의 `\\\\s` → `\\s` , `\\\\d` → `\\d` , `\\\\b` → `\\b` , `\\\\n` → `\\n` 으로 수정 (v0.5.41, `8e89209` )
- **주의**: **template literal 안에서 정규식 특수문자를 쓸 때 반드시 구분: **
- `new RegExp('pattern')` 문자열: `\\\\s` (4중) — string 이스케이핑(1번)+regex 이스케이핑(1번) = 총 2번
- `/pattern/` 정규식 리터럴: `\\s` (2중) — template literal 이스케이핑(1번)만 = 총 1번
- **검증법 **: `node -e "var f = require('./extension/out/observer-script.js').generateApprovalObserverScript; require('fs').writeFileSync('tmp.js', f(0)); console.log(require('fs').readFileSync('tmp.js','utf8').match(/Running.{10}/g));"` 으로 생성된 코드 확인
---
### [2026-04-13] [Extension] Observer v8 "Running N commands" 그룹 헤더를 승인 버튼으로 오인 — Discord 빈 내용+잘못된 버튼
- **증상**: Discord 승인 요청에 command="Running2 commands", description 비어있음, 버튼도 "Running2 commands / Always run" 형태. 실제 코드/명령어 내용이 전혀 표시되지 않음
- **원인 1**: `observer-script.ts` 의 `isActionBtn()` 에 `/Running\\s*\\d*\\s*command/i` 패턴이 있어 AG UI의 그룹 헤더 버튼( "Running 3 commands")을 승인 버튼으로 분류. `scan()` 이 이 버튼을 먼저 만나고 `break` 로 나가 실제 "Always run"/"Cancel" 버튼은 처리 안 됨
- **원인 2**: `extractStepContext()` 가 `data-step-index` 속성 없으면 `cleanButtonText(btn)` = "Running2 commands"를 그대로 반환. AG Native에는 `data-step-index` /`data-testid` 속성이 없음 (DOM 덤프로 확인)
- **원인 3**: `http-bridge.ts` 의 "Run/Always run" 필터가 step-probe 미활성(activeSessionId 비어있음) 시에도 DOM observer 신호를 차단
- **해결 **: observer v9 (v0.5.40):
1. `isActionBtn()` 에서 "Running N commands" 패턴 제거
2. `scan()` 에서 `^Running\\s*\\d+\\s*commands?$` 명시적 스킵
3. `extractContextFromNearby()` 추가: `data-step-index` 없이 DOM 트리를 20레벨까지 올라가며 `pre` /`code` 블록에서 실제 명령어 추출
4. `collectSiblingButtons()` 범위를 parent → grandparent → great-grandparent로 확대, 그룹 헤더 스킵
5. `http-bridge.ts` 의 "Run" 필터에 `ctx.activeSessionId` 체크 추가 — s tep-probe 미활성 시 DOM observer 허용
- **주의 **: AG Native UI의 "Running N commands"는 아코디언/그룹 헤더이며, 실제 승인 버튼은 하위 레벨의 "Run"/"Always run"/"Cancel". DOM 구조상 버튼 탐색 시 그룹 헤더를 반드시 스킵해야 함
### [2026-04-13] [Extension] HTTP Bridge UTF-8 인코딩 깨짐 — 한글 description 손실
- **증상 **: pending/ 파일의 description 필드에서 한글이 `[AI ]` 처럼 깨져서 저장됨. Discord로 전달되는 승인 요청 본문도 깨짐
- **원인**: Node.js HTTP 서버의 `req.on('data', chunk)` 콜백에서 chunk가 Buffer 타입으로 전달되는데, `body += chunk` 로 string 결합 시 Buffer의 기본 인코딩(latin1)이 사용되어 multi-byte UTF-8 문자가 손실됨
- **해결**: 모든 POST 핸들러(`/pending` , `/dump-html` , `/chat` , `/deep-inspect-result` , `/test-rpc` )에 `req.setEncoding('utf8')` 추가 (v0.5.39)
- **주의 **: Node.js HTTP 서버에서 POST body를 문자열로 수집할 때는 반드시 `req.setEncoding('utf8')` 을 호출하거나, Buffer를 배열로 모은 후 `Buffer.concat().toString('utf8')` 로 변환해야 함
### [2026-04-13] [Extension] Observer noise 필터 미작동 — textContent가 아이콘 텍스트를 줄바꿈 없이 합침
- **증상 **: pending description에 `Thought for 1s` , `chevron_right` 등 Material 아이콘명과 UI 노이즈가 그대로 남아있음
- **원인**: DOM `textContent` 는 block 요소 사이에 newline을 삽입하지 않아 `[AI 본문 요약]Thought for 1schevron_right[결행 명령]` 처럼 한 줄로 합쳐짐. `cleanLines()` 의 줄 단위 noise 필터(`^pattern$` )가 매칭 실패. 또한 `codeText` 추출에는 `cleanLines()` 가 아예 미적용
- **해결**: `cleanLines()` 에 인라인 pre-strip 추가 — icon명 18종을 regex로 먼저 `\n` 으로 치환 후 줄 단위 필터 적용. `codeText` 에도 `cleanLines()` 적용 (v0.5.39)
- **주의 **: DOM에서 텍스트 추출 시 `textContent` 는 레이아웃 무시, `innerText` 는 detached 노드에서 미작동. 노이즈 필터링은 줄 단위뿐 아니라 인라인 패턴 제거도 병행해야 함
### [2026-04-13] [Extension] html-patcher String.replace() `$'` 특수 패턴으로 인라인 스크립트 SyntaxError
- **증상 **: Observer v8 인라인 스크립트가 workbench.html에 삽입되었으나 렌더러에서 전혀 실행되지 않음 (BEACON 핑 0건). V8 캐시 삭제 + AG 재시작 후에도 동일
- **원인**: `html-patcher.ts` 에서 `html.replace('</body>', '\n' + inlineBlock + '\n</body>')` 를 사용. 인라인 스크립트의 NOISE_RE 정규식에 `')$', 'i'` 가 있는데, `$'` 는 JS `String.replace()` 의 특수 대체 패턴(match 뒤의 텍스트)으로 해석됨. 이로 인해 `</body>` 뒤의 원본 HTML 구조(`<!-- Startup -->` , `<script src="workbench.js">` , `</html>` )가 JS 코드 중간(정규식 리터럴 안)에 삽입되어 **치명적 SyntaxError ** 발생
- **해결**: `inlineBlock.replace(/\$/g, '$$$$')` 로 모든 `$` 를 이스케이프한 후 replacement 문자열로 사용 (v0.5.38, `d6ed876` )
- **주의 **: `String.prototype.replace()` 의 replacement 문자열에서 `$&` , `$'` , `` $` ``, ` $1` 등은 특수 패턴. 동적 콘텐츠를 replacement로 사용할 때 반드시 ` $` → ` $$` 이스케이프 필요
### [2026-04-12] [Extension] V8 CachedData가 Observer 스크립트 로딩을 차단
- **증상 **: html-patcher가 workbench-jetski-agent.html에 obs erv er v7 인라인 스크립트를 성공적으로 삽입했지만, deep-inspect가 렌더러에서 응답 없음 (10s timeout). AG 재시작 후에도 observer가 로드되지 않음
- **원인**: `%APPDATA%\Antigravity\CachedData\` (50MB)에 V8 캐시가 남아있어, AG가 패치된 HTML 대신 캐시된 이전 버전을 로드. extension.log에 `patcher.install() called (needs reload)` 메시지가 표시되지만 실제 적용이 안 됨
- **해결**: `Remove-Item "$env:APPDATA\Antigravity\CachedData\*" -Recurse -Force` 실행 후 AG 재시작. known-issues-archive #6에도 동일 케이스 있음
- **주의 **: HTML 패치 변경 시 **반드시 ** V8 CachedData 삭제 + AG 재시작 필요. 단순 AG 재시작만으로는 부족
### [2026-04-12] [DOM] text-ide-message-block-bot-color는 AI 응답 컨테이너가 아닌 NUX tooltip 전용
- **증상 **: observer-script가 `.text-ide-message-block-bot-color` 를 AI 응답 컨테이너로 사용하지만, 실제 AI 텍스트를 추출하지 못함
- **원인**: 번들 분석(jetskiAgent/main.js 10.8MB)으로 확인 결과, 이 클래스는 `hsn` 컴포넌트(NUX Tooltip 텍스트 색상)에서만 사용. AI 응답 텍스트는 `plannerResponse` step의 `Whi` 렌더러 → `div.px-2.py-1` → `MarkdownRenderer` 내부에 렌더링됨
- **해결**: observer-script에서 `.text-ide-message-block-bot-color` 의존성 제거 필요. `markdown-body` 클래스도 AG Native에 존재하지 않음
- **주의**: AI 응답 마크다운은 `prose` 관련 클래스나 MarkdownRenderer 내부 구조로 타겟팅해야 함. 실제 DOM 덤프로 정확한 셀렉터 확인 필요
### [2026-04-12] [SDK/DOM] AG Native 세션은 Cascade SDK API에 등록되지 않음 — DOM이 유일한 데이터 소스
- **증상 **: AG Native 세션에서 Discord 릴레이로 AI 응답이 전혀 전달되지 않고, 대신 UI 노이즈(`content_copy` , `Always run` , `keyboard_arrow_up` , `Cancel` )가 전송됨
- **원인 1 (SDK)**: `GetCascadeTrajectorySteps(cascadeId=세션ID)` → `500 trajectory not found` . `GetDiagnostics` → `404` . AG Native 세션은 Cascade trajectory API에 전혀 등록되지 않는 별도 시스템
- **원인 2 (DOM)**: `observer-script.ts` v6의 `scanChatBodies()` 가 `.text-ide-message-block-bot-color` 컨테이너의 `textContent` 를 통째로 가져오면서 내부 버튼/아이콘 텍스트까지 포함
- **해결**: `observer-script.ts` v7로 전면 재설계:
1. `[data-testid="conversation-view"]` + `[data-step-index]` 기반 step-aware 파싱
2. `extractCleanStepText()` : 클론 후 button/svg/icon 엘리먼트 제거 → 마크다운 텍스트만 추출
3. `extractStepContext()` : `getStepContainer()` → step 헤더 + code 블록만 추출
4. `NOISE_RE` : Material icon 이름, 버튼 레이블, UI 텍스트 전면 차단
5. 최초 `conversation-view` 감지 시 DOM 구조 자동 덤프 (`/dump-html` )
- **주의**: SDK 경로(step-probe RT-CAPTURE)는 AG Native에서 사용 불가. DOM이 유일한 콘텐츠 소스이므로 AG UI 업데이트 시 `data-testid` /`data-step-index` 속성 존재 여부 반드시 확인 필요
### [2026-04-09] [Bridge] Discord Body Content Missing Due to Step Probe Dummy Payload
- **利앹긽**: <20> <> <EFBFBD> 洹쒕え UI 留덉씠洹몃젅<EBAA83> 씠<EFBFBD> 뀡 <20> 썑, <20> 뵒<EFBFBD> 뒪肄붾뱶 <20> 듅<EFBFBD> 씤 硫붿떆吏<EB9686> 蹂몃Ц<EBAA83> 뿉 <20> 떎<EFBFBD> 뻾<EFBFBD> 븷 肄붾뱶/紐낅졊<EB8285> 뼱媛<EBBCB1> <20> 셿<EFBFBD> 쟾<EFBFBD> 엳 <20> 늻<EFBFBD> 씫<EFBFBD> 릺怨<EBA6BA> "Step #15 "<22> <> <EFBFBD> 媛숈<E5AA9B> <EC8888> <20> 뵒<EFBFBD> 뤃<EFBFBD> 듃 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃留<EB9383> <20> 쟾<EFBFBD> 넚<EFBFBD> 맖.
- **<2A> 썝<EFBFBD> 씤**: Native UI 蹂<> 寃쎌쑝濡<EC919D> <20> 씤<EFBFBD> 빐 DOM observer媛<72> 異붿텧<EBB6BF> 븳 踰꾪듉 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃("Always run")媛<> `http-bridge.ts` <20> 븘<EFBFBD> 꽣 <20> 슦<EFBFBD> 쉶 諛<> bot.py<70> 뿉<EFBFBD> 꽌 吏<> <EFA79E> 뿰(defer) 泥섎━<EC848E> 맖. 諛섎㈃ `step-probe.ts` 媛<EFBFBD> `GetAllCascadeTrajectories` <20> 뤃留곸쓣 <20> 넻<EFBFBD> 빐 <20> 룞<EFBFBD> 떆<EFBFBD> 뿉 諛쒖깮<EC9296> 떆<EFBFBD> 궓 dummy pending payload (紐낅졊<EB8285> 뼱 <20> 긽<EFBFBD> 꽭 <20> 궡<EFBFBD> 슜<EFBFBD> 씠 <20> 뾾<EFBFBD> 씠 `Step #XX` <20> 씪<EFBFBD> 뒗 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃留<EB9383> <20> 룷<EFBFBD> 븿)媛<> 遊뉗뿉 <20> 쓽<EFBFBD> 빐 癒쇱<E79992> <EC87B1> <20> 옄<EFBFBD> 룞 <20> 듅<EFBFBD> 씤<EFBFBD> 릺硫댁꽌 <20> 젙<EFBFBD> 옉 <20> 떎<EFBFBD> 젣 肄붾뱶 <20> 쁺<EFBFBD> 뿭 <20> 젙蹂닿<E8B982> <EB8BBF> 利앸컻<EC95B8> 븿.
- **<2A> 빐寃<EBB990> **: `step-probe.ts` <20> 궡<EFBFBD> 뿉 `formatStepProbeCommand` <20> 뿬<EFBFBD> 띁 <20> 븿<EFBFBD> 닔瑜<EB8B94> 異붽<E795B0> <EBB6BD> <EFBFBD> 븯<EFBFBD> 뿬, WAITING <20> 긽<EFBFBD> 깭 <20> 뒪<EFBFBD> 뀦<EFBFBD> 쓽 `argumentsJson` <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣瑜<EABDA3> 吏곸젒 <20> 뙆<EFBFBD> 떛<EFBFBD> 븯怨<EBB8AF> `CommandLine` , `TargetFile` <20> 벑 <20> 떎<EFBFBD> 젣 紐낅졊<EB8285> 뼱<EFBFBD> <EBBCB1> <EFBFBD> <20> 긽<EFBFBD> 꽭 <20> 씤<EFBFBD> 옄/肄붾뱶瑜<EBB1B6> `command` <EFBFBD> <EFBFBD> <EFBFBD> `description` <EFBFBD> 쑝濡<EFBFBD> <20> 븷<EFBFBD> 떦<EFBFBD> 븯<EFBFBD> 뿬 釉뚮┸吏<E294B8> 濡<EFBFBD> <20> 꽆湲곕룄濡<EBA384> <20> 뙣移섑븿. DOM <20> 샃<EFBFBD> <EC8383> <EFBFBD> 踰꾩쓽 遺덉븞<EB8D89> 젙<EFBFBD> 꽦怨<EABDA6> 愿<> 怨꾩뾾<EABEA9> 씠 <20> 씪愿<EC94AA> <E684BF> 맂 蹂몃Ц <20> 쟾<EFBFBD> 떖 蹂댁옣.
- **二쇱쓽**: UI <20> 뒪<EFBFBD> 겕<EFBFBD> 옒<EFBFBD> 븨<EFBFBD> 뿉 <20> 쓽議댄븯<EB8C84> 뒗 DOM Observer 諛⑹떇<E291B9> <EB9687> <EFBFBD> UI <20> 젅<EFBFBD> 씠<EFBFBD> 븘<EFBFBD> 썐, <20> 븘<EFBFBD> 씠肄<EC94A0> <20> 궫<EFBFBD> 엯 <20> 벑<EFBFBD> 뿉 痍⑥빟<E291A5> 븯誘<EBB8AF> 濡<EFBFBD> , <20> 긽<EFBFBD> 꽭 <20> 럹<EFBFBD> 씠濡쒕뱶 異붿텧<EBB6BF> <ED85A7> <EFBFBD> <20> 빆<EFBFBD> 긽 100% <20> 떊猶<EB968A> 媛<> <E5AA9B> 뒫<EFBFBD> 븳 SDK RPC(`step-probe.ts` ) <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣瑜<EABDA3> <20> 슦<EFBFBD> 꽑 <20> 궗<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 룄濡<EBA384> 援ъ꽦<D18A> 빐<EFBFBD> 빞 <20> 븿.
## <20> 룷留<EBA3B7>
### [2026-03-23] [Extension] Cross-Project DOM Observer Leakage
- **利앹긽**: <20> 떎以<EB968E> <20> 썝寃<EC8D9D> 而댄벂<EB8C84> 꽣<EFBFBD> 뿉<EFBFBD> 꽌 <20> 룞<EFBFBD> 씪<EFBFBD> 븳 <20> 봽濡쒖젥<EC9296> 듃紐낆쑝濡<EC919D> <20> 떎<EFBFBD> 뻾<EFBFBD> 맂 VS Code<64> 뱾<EFBFBD> 씠 <20> 꽌濡쒖쓽 `execute JavaScript` (Allow) <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇瑜<EC8387> 媛<> 濡쒖콈嫄곕굹 <20> 뿁<EFBFBD> 슧<EFBFBD> 븳 <20> 꽌踰꾨줈 蹂대깂.
- **<2A> 썝<EFBFBD> 씤**: Extension<6F> 씠 `workbench.html` <EFBFBD> 뿉 <20> 뒪<EFBFBD> 겕由쏀듃瑜<EB9383> 二쇱엯<EC87B1> 븷 <20> 븣 寃곗젙濡좎쟻 <20> 룷<EFBFBD> 듃瑜<EB9383> <20> 븯<EFBFBD> 뱶肄붾뵫<EBB6BE> 뻽<EFBFBD> 뒗<EFBFBD> 뜲, <20> 쟾<EFBFBD> 뿭 罹먯떆<EBA8AF> 맂 HTML <20> 뙆<EFBFBD> 씪<EFBFBD> 쓣 紐⑤뱺 濡쒖뺄/<2F> 썝寃<EC8D9D> <20> 뿰寃곗씠 怨듭쑀<EB93AD> 븯硫댁꽌 留덉<EFA78D> <EB8D89> 留됱뿉 <20> 뿴由<EBBFB4> <20> 봽濡쒖젥<EC9296> 듃<EFBFBD> 쓽 <20> 룷<EFBFBD> 듃 踰덊샇濡<EC8387> <20> 뜮<EFBFBD> 뼱<EFBFBD> 뵆<EFBFBD> 썙吏<EC8D99> .
- **<2A> 빐寃<EBB990> **: `extension.ts` <EFBFBD> 뿉<EFBFBD> 꽌 <20> 긽<EFBFBD> 깭 <20> 몴<EFBFBD> 떆以<EB9686> (Status Bar) `tooltip` <EFBFBD> 뿉 <20> 룷<EFBFBD> 듃瑜<EB9383> 二쇱엯<EC87B1> 븯怨<EBB8AF> , `observer-script.ts` <EFBFBD> 뿉<EFBFBD> 꽌 DOM 荑쇰━瑜<E29481> <20> 넻<EFBFBD> 빐 <20> 룞<EFBFBD> 쟻<EFBFBD> 쑝濡<EC919D> <20> 옄<EFBFBD> 떊<EFBFBD> 쓽 李<> (Window)<29> 뿉 <20> 븷<EFBFBD> 떦<EFBFBD> 맂 <20> 룷<EFBFBD> 듃瑜<EB9383> 李얠븘<EC96A0> 궡<EFBFBD> 룄濡<EBA384> <20> 닔<EFBFBD> 젙. `vscode.env.asExternalUri` 瑜<EFBFBD> <20> 궗<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 뿬 <20> 룷<EFBFBD> 듃 異⑸룎 <20> 떆 <20> 슦<EFBFBD> 쉶<EFBFBD> 맂 二쇱냼源뚯<E6BA90> <EB9AAF> 濡쒖뺄 <20> 룷<EFBFBD> 썙<EFBFBD> 뵫<EFBFBD> 뿉 留ㅽ븨<E385BD> 릺<EFBFBD> 룄濡<EBA384> 吏<> <EFA79E> 썝.
- **二쇱쓽**: VS Code UI 肄붿뼱(HTML) <20> 뙣移<EB99A3> <20> 떆, <20> 뿬<EFBFBD> 윭 李<> (Window)<29> 씠<EFBFBD> 굹 <20> 떎以<EB968E> <20> 썝寃<EC8D9D> <20> 젒<EFBFBD> 냽 <20> 떆 <20> 솚寃<EC869A> (Scope) 遺꾨━<EABEA8> 뿉 媛곷퀎<EAB3B7> 븳 二쇱쓽媛<EC93BD> <20> 븘<EFBFBD> 슂<EFBFBD> 븿. <20> 쟾<EFBFBD> 뿭 <20> 옄<EFBFBD> 썝<EFBFBD> 뿉 <20> 쓽議댄븯<EB8C84> 뒗 <20> 븯<EFBFBD> 뱶肄붾뵫 吏<> <EFA79E> 뼇.
### [<5B> 궇吏<EAB687> ] [<5B> 궎<EFBFBD> 썙<EFBFBD> 뱶] <20> <> <EFBFBD> <20> 븳以<EBB8B3> <20> 슂<EFBFBD> 빟
- **利앹긽**: 臾댁뾿<EB8C81> 씠 <20> 옒紐삳릺<EC82B3> 뿀<EFBFBD> 뒗媛<EB9297>
- **<2A> 썝<EFBFBD> 씤**: 洹쇰낯 <20> 썝<EFBFBD> 씤
- **<2A> 빐寃<EBB990> **: <20> 삱諛붾Ⅸ <20> 빐寃<EBB990> 諛⑸쾿
- **二쇱쓽**: <20> 옱諛<EC98B1> 諛⑹<E8AB9B> <E291B9> 瑜<EFBFBD> <20> 쐞<EFBFBD> 븳 援먰썕
```
---
### [2026-04-08] [Discord Bot] Channel Deletion Cache Desync
- **利앹긽**: 遊뉗씠 耳쒖졇 <20> 엳<EFBFBD> 뒗 <20> 긽<EFBFBD> 깭<EFBFBD> 뿉<EFBFBD> 꽌 Discord 梨꾨꼸( g-project-name)<29> 쓣 <20> 궘<EFBFBD> 젣<EFBFBD> 븯硫<EBB8AF> , 遊뉗씠 <20> 궘<EFBFBD> 젣瑜<ECA0A3> <20> 씤吏<EC94A4> <EFA79E> 븯吏<EBB8AF> 紐삵븯怨<EBB8AF> <20> 깉 梨꾨꼸<EABEA8> 쓣 <20> 깮<EFBFBD> 꽦<EFBFBD> 븯吏<EBB8AF> <20> 븡<EFBFBD> 쑝硫<EC919D> 硫붿떆吏<EB9686> <EFA79E> 룄 利앸컻<EC95B8> 븿.
- **<2A> 썝<EFBFBD> 씤**: ot.py<70> 쓽 self.project_channels <20> 뵓<EFBFBD> 뀛<EFBFBD> 꼫由ъ뿉 梨꾨꼸 媛앹껜媛<EABB9C> 罹먯떆<EBA8AF> 릺<EFBFBD> 뼱 <20> 엳<EFBFBD> 뼱, API <20> 샇異<EC8387> <20> 뾾<EFBFBD> 씠 罹먯떆<EBA8AF> 맂(<28> 궘<EFBFBD> 젣<EFBFBD> 맂) 梨꾨꼸濡<EABCB8> 硫붿떆吏<EB9686> 瑜<EFBFBD> 蹂대궡<EB8C80> 젮 <20> 떆<EFBFBD> 룄<EFBFBD> 븯<EFBFBD> 떎 404 <20> 뿉<EFBFBD> 윭 諛쒖깮 <20> 썑 <20> 떎<EFBFBD> 뙣<EFBFBD> 븿.
- **<2A> 빐寃<EBB990> **: 梨꾨꼸 留듯븨<EB93AF> 씠 瑗ъ<E79197> <D18A> <EFBFBD> 쓣 <20> 븣<EFBFBD> 뒗 **Python 遊<> (Docker 而⑦뀒<E291A6> 씠<EFBFBD> 꼫)<29> 쓣 <20> 옱<EFBFBD> 떆<EFBFBD> 옉**<2A> 븯<EFBFBD> 뿬 罹먯떆瑜<EB9686> 珥덇린<EB8D87> 솕<EFBFBD> 븯怨<EBB8AF> 梨꾨꼸 紐⑸줉<E291B8> 쓣 <20> 깉濡<EAB989> 媛깆떊<EAB986> 븯寃<EBB8AF> <20> 븿.
- **二쇱쓽**: 梨꾨꼸 愿<> 由щ뒗 罹먯떆<EBA8AF> 뿉 <20> 쓽議댄븯湲<EBB8AF> <20> 븣臾몄뿉 媛뺤젣濡<ECA0A3> Discord UI<55> 뿉<EFBFBD> 꽌 梨꾨꼸<EABEA8> 쓣 吏<> <EFA79E> 썱<EFBFBD> 쓣 <20> 븣<EFBFBD> 뒗 諛섎뱶<EC848E> 떆 遊뉗쓣 <20> 옱援щ룞<D189> 빐<EFBFBD> 빞 <20> 븿.
### [2026-04-08] [Extension] Multiple Workspace LS Cross-Connection
- **利앹긽**: ariet-llm 李쎌뿉<EC8E8C> 꽌 耳곗쑝<EAB397> 굹 gravity_control<6F> 쓽 諛깃렇<EAB983> 씪<EFBFBD> 슫<EFBFBD> 뱶 援щ룞 以묒씤 LS<4C> 뿉 <20> 뿰寃곕릺<EAB395> 뼱 <20> 옄湲<EC9884> <20> 옄<EFBFBD> 떊 李쎌쓽 <20> 떊<EFBFBD> 샇瑜<EC8387> <20> 옟吏<EC989F> 紐삵븿.
- **<2A> 썝<EFBFBD> 씤**: <20> 뿬<EFBFBD> 윭 VS Code 李쎌쓣 <20> 쓣<EFBFBD> 썱<EFBFBD> 쓣 <20> 븣 <20> 뼱<EFBFBD> 뼡 李쎌뿉<EC8E8C> 꽌<EFBFBD> 뒗 Antigravity <20> 뙣<EFBFBD> 꼸<EFBFBD> 쓣 <20> 늻瑜댁<E7919C> <EB8C81> <20> 븡<EFBFBD> 븘 <20> 쟾<EFBFBD> 슜 LS媛<53> <20> 떆<EFBFBD> 옉<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬. ixLSConnection()<29> 씠 <20> 옄湲<EC9884> 紐レ쓽 LS瑜<53> 李얠<EFA7A1> <EC96A0> 紐삵븯怨<EBB8AF> fallback<63> 쑝濡<EC919D> 湲곗〈<EAB397> 뿉 <20> 뼚 <20> 엳<EFBFBD> 뜕 <20> 떎瑜<EB968E> 李쎌쓽 LS<4C> 뿉 <20> 뿰寃곕맖.
- **<2A> 빐寃<EBB990> **: <20> <> <EFBFBD> <EFBFBD> 긽 李쎌뿉<EC8E8C> 꽌 Developer: Reload Window <20> 떎<EFBFBD> 뻾 <20> 썑 **<2A> 궗<EFBFBD> 씠<EFBFBD> 뱶諛붿쓽 濡쒖뺄 Antigravity 梨쀫큸 <20> 뙣<EFBFBD> 꼸<EFBFBD> 쓣 <20> 븳 踰<> <20> 뿴<EFBFBD> 뼱** <20> 옄<EFBFBD> 떊<EFBFBD> 쓽 LS <20> 봽濡쒖꽭<EC9296> 뒪瑜<EB92AA> <20> 쓣<EFBFBD> 슫 <20> 뮘<EFBFBD> 뿉 Gravity Bridge瑜<65> Start<72> 븿.
- **二쇱쓽**: LS<4C> 뒗 <20> 옄<EFBFBD> 룞<EFBFBD> 쑝濡<EC919D> <20> 떆<EFBFBD> 옉<EFBFBD> 릺吏<EBA6BA> <20> 븡怨<EBB8A1> <20> 궗<EFBFBD> 슜<EFBFBD> 옄媛<EC9884> 梨꾪똿 <20> 뙣<EFBFBD> 꼸<EFBFBD> 쓣 <20> 븳 踰<> <20> 겢由<EAB2A2> /<2F> 솢<EFBFBD> 꽦<EFBFBD> 솕<EFBFBD> 빐<EFBFBD> 빞留<EBB99E> Spawn <20> 맖.
## <20> 윍<EFBFBD> Active/Recent Issues
### [2026-04-09] [Extension] Agent UI Native Migration & Icon Text Gluing
- **利앹긽**: UI Tailwind/Native 留덉씠洹몃젅<EBAA83> 씠<EFBFBD> 뀡 諛<> <20> 븘<EFBFBD> 씠肄<EC94A0> <20> 쟻<EFBFBD> 슜 <20> 썑, Discord 釉뚮┸吏<E294B8> 濡<EFBFBD> <20> 떊<EFBFBD> 샇媛<EC8387> <20> 쟾<EFBFBD> 넚<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬.
- **<2A> 썝<EFBFBD> 씤**: <20> 꽕<EFBFBD> 씠<EFBFBD> 떚釉<EB969A> UI 踰꾪듉<EABEAA> 쓽 ` textContent` 異붿텧 <20> 떆, Codicons <20> 벑 <20> 븘<EFBFBD> 씠肄<EC94A0> <20> 룿<EFBFBD> 듃 臾몄옄<EBAA84> 뿴(e.g., ` 渽<EFBFBD> Accept`)<29> 씠 <20> 븵遺<EBB8B5> 遺꾩뿉 蹂묓빀(Gluing)<29> 릺硫댁꽌, 湲곗〈<EAB397> 쓽 ` ^` <20> 빑而ㅺ<E8808C> <E385BA> <20> 룷<EFBFBD> 븿<EFBFBD> 맂 <20> 젙洹쒖떇 留ㅼ묶(` /^(?:Always\s*)?Run/i`)<29> 씠 <20> 떎<EFBFBD> 뙣<EFBFBD> 븿.
- **<2A> 빐寃<EBB990> **: ` observer-script.ts`<60> 쓽 <20> 뒪罹<EB92AA> , Sibling 踰꾪듉 <20> 닔吏<EB8B94> , Webview Trigger-click <20> 벑 ` textContent`瑜<> 異붿텧<EBB6BF> 븯<EFBFBD> 뒗 紐⑤뱺 DOM <20> 씫湲<EC94AB> 援ш컙<D188> 뿉 ` txt.replace(/^[^a-zA-Z0-9]+/, '')` <20> 쟾泥섎━瑜<E29481> <20> 쟻<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 뿬 <20> 꽑<EFBFBD> 뻾 湲고샇/<2F> 븘<EFBFBD> 씠肄섏쓣 <20> 븞<EFBFBD> 쟾<EFBFBD> 븯寃<EBB8AF> <20> 젣嫄<ECA0A3> .
- **二쇱쓽**: Native UI 而댄룷<EB8C84> 꼳<EFBFBD> 듃 <20> 솚寃쎌뿉<EC8E8C> 꽌<EFBFBD> 뒗 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 <20> 끂<EFBFBD> 뱶肉먮쭔 <20> 븘<EFBFBD> 땲<EFBFBD> 씪 <20> 븘<EFBFBD> 씠肄<EC94A0> /SVG 而댄룷<EB8C84> 꼳<EFBFBD> 듃<EFBFBD> 쓽 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 湲<> 猷⑥엵 <20> 쁽<EFBFBD> 긽<EFBFBD> 쑝濡<EC919D> <20> 씤<EFBFBD> 빐 <20> 뾼寃⑺븳 <20> 떆<EFBFBD> 옉<EFBFBD> 젏(` ^`) <20> 젙洹쒖떇<EC9296> 씠 源⑥쭏 <20> 닔 <20> 엳<EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> , <20> 빆<EFBFBD> 긽 遺덊븘<EB8D8A> 슂<EFBFBD> 븳 <20> 듅<EFBFBD> 닔臾몄옄 <20> 쟾泥섎━瑜<E29481> <20> 꽑<EFBFBD> 뻾<EFBFBD> 빐<EFBFBD> 빞 <20> 븿.
### [2026-04-09] [Extension] Agent UI Native Migration & CodeLens False Positive Filter
- **利앹긽**: UI Tailwind/Native 留덉씠洹몃젅<EBAA83> 씠<EFBFBD> 뀡 <20> 쟻<EFBFBD> 슜 <20> 썑, Discord 釉뚮┸吏<E294B8> 濡<EFBFBD> <20> 떊<EFBFBD> 샇媛<EC8387> <20> 쟾<EFBFBD> <EC9FBE> <EFBFBD> <20> 쟾<EFBFBD> 넚<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬
- **<2A> 썝<EFBFBD> 씤**: Agent <20> 뙣<EFBFBD> 꼸<EFBFBD> 씠 <20> 꺆/<2F> 뿉<EFBFBD> 뵒<EFBFBD> 꽣 蹂몃Ц<EBAA83> 뿉 吏곸젒 <20> 젋<EFBFBD> 뜑留곷릺硫댁꽌, 湲곗〈 <20> 삤<EFBFBD> 옉<EFBFBD> 룞 諛⑹<E8AB9B> <E291B9> 濡쒖쭅(` if (b.closest('.monaco-editor'))`)<29> 뿉 <20> 뙣<EFBFBD> 꼸 <20> 쟾泥<EC9FBE> 踰꾪듉<EABEAA> 씠 <20> 룷李⑸릺<E291B8> 뼱 臾댁떆<EB8C81> 맖
- **<2A> 빐寃<EBB990> **: <20> 꼫臾<EABCAB> 愿묐쾾<EBAC90> 쐞<EFBFBD> 븳 ` .monaco-editor` 諛⑹뼱瑜<EBBCB1> <20> 빐<EFBFBD> 젣<EFBFBD> 븯怨<EBB8AF> , 肄붾뱶 <20> 젋利<ECA08B> 怨좎쑀 而⑦뀒<E291A6> 씠<EFBFBD> 꼫<EFBFBD> 씤 ` .codelens-decoration` <20> 궡遺<EAB6A1> <E981BA> 씪 寃쎌슦<EC8E8C> 뿉留<EBBF89> 臾댁떆<EB8C81> 븯<EFBFBD> 룄濡<EBA384> <20> <> <EFBFBD> <EFBFBD> 룷<EFBFBD> 씤<EFBFBD> 듃 <20> 닔<EFBFBD> 젙
- **二쇱쓽**: DOM <20> 샃<EFBFBD> <EC8383> <EFBFBD> 踰<EFBFBD> <20> 븘<EFBFBD> 꽣 議곌굔 <20> 옉<EFBFBD> 꽦 <20> 떆 <20> 옒<EFBFBD> 띁 <20> 겢<EFBFBD> 옒<EFBFBD> 뒪<EFBFBD> 뒗 UI <20> 뵒<EFBFBD> 옄<EFBFBD> 씤 媛쒗렪(Native, Editor Tab <20> 벑 <20> 쐞移<EC909E> 蹂<> 寃<EFBFBD> )<29> 뿉 留ㅼ슦 痍⑥빟<E291A5> 븿. 媛<> <E5AA9B> 옣 援ъ껜<D18A> 쟻<EFBFBD> 씤 <20> 궡遺<EAB6A1> <20> 끂<EFBFBD> 뱶 <20> 겢<EFBFBD> 옒<EFBFBD> 뒪<EFBFBD> 굹 <20> <> <EFBFBD> 寃<EFBFBD> 怨좎쑀 <20> 냽<EFBFBD> 꽦<EFBFBD> 쓣 <20> 넻<EFBFBD> 빐 <20> 븘<EFBFBD> 꽣留곹븷 寃<>
### [2026-03-31] [step-probe] GetAllCascadeTrajectories 10-Item Hard Limit (Signal Drop)
- **利앹긽**: ` guitar_score` <20> 벑<EFBFBD> 뿉<EFBFBD> 꽌 <20> 솢<EFBFBD> 꽦<EFBFBD> 솕<EFBFBD> 맂 <20> 꽭<EFBFBD> 뀡<EFBFBD> 쓽 <20> 뵒<EFBFBD> 뒪肄붾뱶 <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇瑜<EC8387> "怨꾩냽<EABEA9> 빐<EFBFBD> 꽌" <20> 옟吏<EC989F> 紐삵븿. (WS 60珥<30> <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐蹂대떎 <20> 뜑 移섎챸<EC848E> 쟻<EFBFBD> 쑝濡<EC919D> <20> 떊<EFBFBD> 샇媛<EC8387> <20> 븘<EFBFBD> 삁 媛<> 吏<EFBFBD> <20> 븡<EFBFBD> 쓬)
- **<2A> 썝<EFBFBD> 씤**: Extension<6F> 씠 <20> 솢<EFBFBD> 꽦 <20> 꽭<EFBFBD> 뀡<EFBFBD> 쓣 李얘린 <20> 쐞<EFBFBD> 빐 <20> 샇異쒗븯<EC9297> 뒗 ` GetAllCascadeTrajectories` LS API媛<49> ` {}`(鍮<> <20> 씤<EFBFBD> 옄)濡<> <20> 샇異쒕맆 <20> 븣, 湲곕낯<EAB395> 쟻<EFBFBD> 쑝濡<EC919D> **10媛쒖쓽 <20> 꽭<EFBFBD> 뀡留<EB80A1> 諛섑솚<EC8491> 븯<EFBFBD> 뒗 <20> 븯<EFBFBD> 뱶 由щ컠(Pagination Limit)**<2A> 씠 嫄몃젮<EBAA83> 엳<EFBFBD> 쓬. <20> 씠濡<EC94A0> <20> 씤<EFBFBD> 빐 <20> 옉<EFBFBD> 뾽 <20> 궡<EFBFBD> 뿭<EFBFBD> 씠 <20> 늻<EFBFBD> 쟻<EFBFBD> 릺硫<EBA6BA> <20> 닔留롮<EFA78D> <EBA1AE> 理쒖떊/吏꾪뻾 以<> <20> 꽭<EFBFBD> 뀡<EFBFBD> 뱾<EFBFBD> 씠 10媛<30> 紐⑸줉<E291B8> 뿉<EFBFBD> 꽌 諛<> <E8AB9B> 젮<EFBFBD> 굹 <20> 늻<EFBFBD> 씫<EFBFBD> 맖. <20> 씡<EFBFBD> 뒪<EFBFBD> 뀗<EFBFBD> 뀡<EFBFBD> <EB80A1> <EFBFBD> <20> 꽭<EFBFBD> 뀡<EFBFBD> 씠 <20> 뾾<EFBFBD> 떎怨<EB968E> <20> 뙋<EFBFBD> 떒<EFBFBD> 빐 媛뺤젣濡<ECA0A3> ` IDLE` 紐⑤뱶<E291A4> 뿉 吏꾩엯<EABEA9> 븯硫<EBB8AF> , <20> 듅<EFBFBD> 씤 <20> <> <EFBFBD> 湲곗뿴(WAITING) <20> 옄泥대<EFA7A3> <EB8C80> 寃<> <E5AF83> 궗<EFBFBD> 븯吏<EBB8AF> <20> 븡寃<EBB8A1> <20> 맖.
- **<2A> 빐寃<EBB990> ** (v0.5.14): ` v0.5.13`<60> 뿉<EFBFBD> 꽌 <20> 룄<EFBFBD> 엯<EFBFBD> 뻽<EFBFBD> 뜕 ` { limit: 100 }`<60> 씠 LS <20> 떒<EFBFBD> 쓽 荑쇰━ 怨쇰<E680A8> <EC87B0> <EFBFBD> 븯濡<EBB8AF> <20> 씤<EFBFBD> 븳 VS Code UI <20> 봽由ъ쭠(DoS)<29> 쓣 <20> 쑀諛쒗븯<EC9297> 뿬 濡ㅻ갚<E385BB> 븯<EFBFBD> 뒗 以<> <20> 븘<EFBFBD> 닔 <20> 젙<EFBFBD> 젹 <20> 뙆<EFBFBD> 씪誘명꽣(` descending: true`)源뚯<E6BA90> <EB9AAF> <20> 냼<EFBFBD> 떎<EFBFBD> 릺<EFBFBD> 뿀<EFBFBD> 뜕 <20> 떎<EFBFBD> 닔瑜<EB8B94> 援먯젙<EBA8AF> 븿. 理쒖쥌<EC9296> 쟻<EFBFBD> 쑝濡<EC919D> ` { limit: 30, descending: true }`瑜<> <20> 쟻<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 뿬 <20> 뙆<EFBFBD> 떛 遺<> <E981BA> 븯 理쒖냼<EC9296> 솕 諛<> 理쒖떊 <20> 꽭<EFBFBD> 뀡 理쒖긽<EC9296> 떒(Index 0) 議고쉶瑜<EC89B6> <20> 븞<EFBFBD> 쟾<EFBFBD> 븯寃<EBB8AF> 援ы쁽<D18B> 븿.
- **二쇱쓽**: LS<4C> 쓽 湲곕낯 SQLite/DB <20> 쓳<EFBFBD> 떟 Limit 洹쒖튃<EC9296> 뿉 <20> 쓽議댄븯<EB8C84> 뿬 <20> 쟾泥<EC9FBE> <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣 <20> 뒪罹붿쓣 <20> 닔<EFBFBD> 뻾<EFBFBD> 븯<EFBFBD> 뒗 濡쒖쭅<EC9296> <ECAD85> <EFBFBD> <20> 뼵<EFBFBD> 젣<EFBFBD> 뱺 Truncation <20> 씠<EFBFBD> 뒋(Data Loss)瑜<> <20> 쑀諛쒗븷 <20> 닔 <20> 엳<EFBFBD> 쓬.
### [2026-03-31] [WS] Browser API Fallback 60s Timeout (Zombie Connection)
- **利앹긽**: ` guitar_score` <20> 벑 紐⑤뱺 <20> 옉<EFBFBD> 뾽 <20> 솚寃쎌뿉<EC8E8C> 꽌 <20> 빟 60珥덈쭏<EB8D88> 떎 WebSocket <20> 뿰寃곗씠 <20> 걡湲곌퀬 <20> 옱<EFBFBD> 뿰寃곕릺<EAB395> 뒗 <20> 쁽<EFBFBD> 긽<EFBFBD> 씠 諛섎났<EC848E> 릺硫<EBA6BA> (extension.log<6F> 뿉 ` Heartbeat timeout` 怨꾩냽 異쒕젰), 洹<> <20> 궗<EFBFBD> 씠 <20> 뵒<EFBFBD> 뒪肄붾뱶 <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇瑜<EC8387> <20> 넃移<EB8483> .
- **<2A> 썝<EFBFBD> 씤**: Extension<6F> 씠 ` ws` 紐⑤뱢 濡쒕뱶 <20> 떎<EFBFBD> 뙣(VS Code <20> 솚寃<EC869A> <20> 벑)濡<> <20> 씤<EFBFBD> 빐 釉뚮씪<EB9AAE> 슦<EFBFBD> <EC8AA6> <EFBFBD> <20> 궡<EFBFBD> 옣 ` WebSocket` 媛앹껜濡<EABB9C> Fallback <20> 맖. 釉뚮씪<EB9AAE> 슦<EFBFBD> <EC8AA6> <EFBFBD> WS<57> 뒗 <20> 꽌踰꾩쓽 <20> 꽕<EFBFBD> 씠<EFBFBD> 떚釉<EB969A> ping<6E> 쓣 諛쏆븘 pong<6E> 쓣 <20> 옄<EFBFBD> 룞 <20> 쓳<EFBFBD> 떟<EFBFBD> 븯吏<EBB8AF> 留<EFBFBD> JS<4A> 뿉 <20> 씠踰ㅽ듃瑜<EB9383> <20> 끂異쒗븯吏<EBB8AF> <20> 븡<EFBFBD> 쓬. <20> 씠濡<EC94A0> <20> 씤<EFBFBD> 빐 ` lastPongTime` 媛깆떊<EAB986> 씠 遺덇<E981BA> <EB8D87> <EFBFBD> 뒫<EFBFBD> 빐<EFBFBD> 졇, ` Date.now() - lastPongTime > 60000` 議곌굔<EAB38C> 씠 臾댁“嫄<E2809C> <20> 넻怨쇰릺<EC87B0> 뼱 硫<> 姨≫븳 <20> 뿰寃곗쓣 媛뺤젣 醫낅즺<EB8285> 븿 (False Positive).
- **<2A> 빐寃<EBB990> ** (v0.5.12):
1. ` hub.py`: ` {"type": "heartbeat"}` JSON 硫붿떆吏<EB9686> <20> 닔<EFBFBD> 떊 <20> 떆 紐낆떆<EB8286> 쟻<EFBFBD> 쑝濡<EC919D> ` {"type": "pong"}` JSON<4F> 쓣 <20> 쓳<EFBFBD> 떟<EFBFBD> 븯<EFBFBD> 룄濡<EBA384> <20> 닔<EFBFBD> 젙.
2. ` ws-client.ts`: 紐낆떆<EB8286> 쟻 ` pong` <20> 빖<EFBFBD> 뱾<EFBFBD> 윭 異붽<E795B0> <EBB6BD> . JSON pong 吏<> <EFA79E> 썝 <20> 꽌踰꾧굅<EABEA7> 굹 Node.js ws瑜<73> <20> 궗<EFBFBD> 슜<EFBFBD> 븷 <20> 븣留<EBB8A3> 60珥<30> <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐 寃<> 利앹쓣 嫄곗튂<EAB397> 룄濡<EBA384> 議곌굔 蹂닿컯 (` forceHeartbeatTimeoutIfNoPong`).
- **二쇱쓽**: 釉뚮씪<EB9AAE> 슦<EFBFBD> <EC8AA6> <EFBFBD> <20> 몴以<EBAAB4> WebSockets(W3C)<29> 뒗 ping/pong <20> 젣<EFBFBD> 뼱 <20> 봽<EFBFBD> 젅<EFBFBD> 엫<EFBFBD> 쓣 JS濡<53> <20> 끂異쒗븯吏<EBB8AF> <20> 븡<EFBFBD> 쓬. <20> 뤃由ы븘/<2F> 겕濡쒖뒪<EC9296> 뵆<EFBFBD> 옯<EFBFBD> 뤌 WS <20> 옒<EFBFBD> 띁 <20> 궗<EFBFBD> 슜 <20> 떆 <20> 븯<EFBFBD> 듃鍮꾪듃<EABEAA> 뒗 諛섎뱶<EC848E> 떆 JSON 硫붿꽭吏<EABDAD> <20> 삎<EFBFBD> 깭<EFBFBD> 쓽 Application Layer Ping/Pong<6E> 쑝濡<EC919D> <20> <> <EFBFBD> <EFBFBD> 뼱<EFBFBD> 궡嫄곕굹, Native WS API <20> 뿬遺<EBBFAC> 瑜<EFBFBD> <20> 솗<EFBFBD> 떎<EFBFBD> 엳 泥댄겕<EB8C84> 빐<EFBFBD> 빞 <20> 븿.
### [2026-03-28] [step-probe] GetCascadeTrajectorySteps UTF-8 <20> 뿉<EFBFBD> 윭 臾댄븳 猷⑦봽
- **利앹긽**: ` guitar_score` <20> 봽濡쒖젥<EC9296> 듃<EFBFBD> 뿉<EFBFBD> 꽌 ` [STEP-PROBE] error: ...invalid UTF-8` <20> 뿉<EFBFBD> 윭媛<EC9CAD> 5珥덈쭏<EB8D88> 떎 諛섎났<EC848E> 릺硫<EBA6BA> Discord <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇媛<EC8387> <20> 쟾<EFBFBD> 떖<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬.
- **<2A> 썝<EFBFBD> 씤**: AG LS <20> 꽌踰꾩뿉<EABEA9> 꽌 <20> 듅<EFBFBD> 젙 step<65> 쓽 ` CortexStepEphemeralMessage.content`<60> 뿉 諛붿씠<EBB6BF> 꼫由<EABCAB> <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣(<28> 씠誘몄<E8AA98> <EBAA84> <20> 벑) <20> 룷<EFBFBD> 븿 <20> 넂 proto UTF-8 吏곷젹<EAB3B7> 솕 500 <20> 뿉<EFBFBD> 윭. ` catch(e)` 釉붾줉<EBB6BE> 뿉<EFBFBD> 꽌 ` stallProbed=true`瑜<> <20> 꽕<EFBFBD> 젙<EFBFBD> 븯吏<EBB8AF> <20> 븡<EFBFBD> 븘 ` !ctx.stallProbed` 議곌굔<EAB38C> 씠 <20> 빆<EFBFBD> 긽 true <20> 넂 5珥덈쭏<EB8D88> 떎 <20> 룞<EFBFBD> 씪 <20> 슂泥<EC8A82> 臾댄븳 <20> 옱<EFBFBD> 떆<EFBFBD> 룄.
- **<2A> 빐寃<EBB990> ** (v0.5.11): ` catch` 釉붾줉<EBB6BE> 뿉<EFBFBD> 꽌 UTF-8 <20> 뿉<EFBFBD> 윭 媛먯<E5AA9B> <EBA8AF> <20> 떆 ` stepOffset=currentCount-20`<60> 쑝濡<EC919D> fallback <20> 슂泥<EC8A82> . offset<65> 룄 <20> 떎<EFBFBD> 뙣 <20> 떆 ` stallProbed=true` <20> 꽕<EFBFBD> 젙<EFBFBD> 븯<EFBFBD> 뿬 猷⑦봽 李⑤떒. ` delta>0` <20> 씠踰ㅽ듃 諛쒖깮 <20> 떆 L433<33> 뿉<EFBFBD> 꽌 <20> 옄<EFBFBD> 룞 由ъ뀑.
- **二쇱쓽**: ` stallProbed=true`<60> 뒗 <20> 쁺援<EC81BA> Lock<63> 씠 <20> 븘<EFBFBD> 떂 <20> <> <EFBFBD> ` delta>0` <20> 떆 <20> 옄<EFBFBD> 룞 由ъ뀑. UTF-8 <20> 뿉<EFBFBD> 윭<EFBFBD> 뒗 AG <20> 꽌踰<EABD8C> 痢<> 臾몄젣(<28> 씠誘몄<E8AA98> <EBAA84> /諛붿씠<EBB6BF> 꼫由<EABCAB> <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣媛<EABDA3> ephemeral message<67> 뿉 <20> 룷<EFBFBD> 븿)<29> 씠誘<EC94A0> 濡<EFBFBD> Extension<6F> 뿉<EFBFBD> 꽌 graceful fallback留<6B> 泥섎━.
### [2026-03-28] [approval-handler] stepIndex 誘명솗<EBAA85> 젙 <20> 떆 wrong-stepIndex RPC <20> 궘鍮<EAB698>
- **利앹긽**: DOM observer 寃쎈줈濡<ECA488> ` terminal_command` pending <20> 깮<EFBFBD> 꽦 <20> 썑 Discord <20> 듅<EFBFBD> 씤 <20> 떆 ` HandleCascadeUserInteraction(stepIndex=0)` <20> 넂 ` "input not registered for step 0"` <20> 넂 LS reconnect <20> 넂 <20> 옱<EFBFBD> 떆<EFBFBD> 룄 <20> 넂 DOM click fallback<63> 쑝濡<EC919D> <20> <> <EFBFBD> <EFBFBD> 븯. (wrong-LS<4C> <53> <EFBFBD> <20> 룞<EFBFBD> 씪<EFBFBD> 븳 利앹긽<EC95B9> 씠<EFBFBD> 굹 <20> 떎瑜<EB968E> <20> 썝<EFBFBD> 씤)
- **<2A> 썝<EFBFBD> 씤**: ` ctx.lastPendingStepIndex=-1` (step-probe媛<65> UTF-8 <20> 뿉<EFBFBD> 윭濡<EC9CAD> WAITING 誘멸컧吏<ECBBA7> )<29> 엫<EFBFBD> 뿉<EFBFBD> 룄 ` Math.max(0, -1)=0`<60> 쑝濡<EC919D> clamp<6D> 릺<EFBFBD> 뼱 議댁옱<EB8C81> 븯吏<EBB8AF> <20> 븡<EFBFBD> 뒗 step 0<> 뿉 RPC <20> 쟾<EFBFBD> 넚.
- **<2A> 빐寃<EBB990> ** (v0.5.11): ` effectiveStepIndex = stepIndex >= 0 ? stepIndex : (lastPendingStepIndex >= 0 ? lastPendingStepIndex : -1)`. ` effectiveStepIndex < 0`<60> 씠硫<EC94A0> RPC 釉붾줉 <20> 쟾泥<EC9FBE> skip <20> 넂 DOM click 吏곹뻾 (湲곗〈怨<E38088> <20> 룞<EFBFBD> 옉 <20> 룞<EFBFBD> 씪, LS reconnect <20> 궘鍮<EAB698> <20> 젣嫄<ECA0A3> ).
- **二쇱쓽**: 湲곗〈 洹쒖튃 #14(` uint32`<60> 뿉 <20> 쓬<EFBFBD> 닔 湲덉<E6B9B2> <EB8D89> )<29> <> <EFBFBD> 異⑸룎泥섎읆 蹂댁씠<EB8C81> 굹, ` effectiveStepIndex=-1`<60> 씪 <20> 븣 RPC <20> 옄泥대<EFA7A3> <EB8C80> **<2A> 쟾<EFBFBD> 넚<EFBFBD> 븯吏<EBB8AF> <20> 븡<EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> ** <20> 쐞諛<EC909E> <20> 븘<EFBFBD> 떂. RPC <20> 쟾<EFBFBD> 넚 <20> 떆<EFBFBD> 뿉<EFBFBD> 뒗 <20> 뿬<EFBFBD> 쟾<EFBFBD> 엳 <20> 쑀<EFBFBD> 슚<EFBFBD> 븳 stepIndex留<78> <20> 궗<EFBFBD> 슜.
### [2026-03-25] [Architecture] Discord Signal Drop & Extension Freezes
- **利앹긽**: <20> 옣<EFBFBD> 떆媛<EB9686> <20> 옄由щ퉬<D189> <ED89AC> <EFBFBD> <20> 썑 蹂듦<E8B982> <EB93A6> <20> 떆 Discord濡<64> <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇媛<EC8387> <20> 삤吏<EC82A4> <20> 븡嫄곕굹 VS Code UI媛<49> 媛꾪뿉<EABEAA> 쟻/吏<> <EFA79E> 냽<EFBFBD> 쟻<EFBFBD> 쑝濡<EC919D> 硫덉땄(Freeze).
- **<2A> 썝<EFBFBD> 씤**:
1. ` ws.onerror` 諛쒖깮 <20> 썑 ` onclose` <20> 늻<EFBFBD> 씫 <20> 떆 <20> 옱<EFBFBD> 뿰寃<EBBFB0> 肄쒕갚 <20> 샇異쒖씠 <20> 씠猷⑥뼱吏<EBBCB1> 吏<EFBFBD> <20> 븡<EFBFBD> 븘 臾댄븳 <20> <> <EFBFBD> 湲<EFBFBD> (<28> 옣<EFBFBD> 떆媛<EB9686> 留덈퉬)
2. ` ws-client` <20> 옱<EFBFBD> 뿰寃<EBBFB0> <20> 떆 <20> 늻<EFBFBD> 쟻<EFBFBD> 맂 200媛<30> <20> 걧瑜<EAB1A7> <20> 룞湲곗떇 burst <20> 쟾<EFBFBD> 넚<EFBFBD> 븯<EFBFBD> 뿬 Hub<75> 쓽 <20> 냽<EFBFBD> 룄 <20> 젣<EFBFBD> 븳(60媛<30> /10珥<30> )<29> 뿉 嫄몃젮 <20> 솗<EFBFBD> 젙 <20> 쁺援<EC81BA> <20> 궘<EFBFBD> 젣<EFBFBD> 맖
3. 濡쒖뺄 釉뚮┸吏<E294B8> ` http-bridge.ts`<60> 쓽 怨쇨굅 <20> 쑀<EFBFBD> 궛<EFBFBD> 씤 ` FALSE_POSITIVE_RE` <20> 젙洹쒖떇<EC9296> 씠 AI 怨좎쑀 踰꾪듉(Allow, Deny, Accept) 留덉<EFA78D> <EB8D89> <20> 븘<EFBFBD> 꽣留곹븯<EAB3B9> 뿬 Discord <20> 쟾<EFBFBD> 넚 <20> 썝泥<EC8D9D> 李⑤떒
4. ` step-probe.ts` <20> 뤃留<EBA483> 猷⑦봽 <20> 궡 <20> 룞湲곗떇 <20> 뙆<EFBFBD> 씪 I/O <20> 궗<EFBFBD> 슜<EFBFBD> 쑝濡<EC919D> <20> 씤<EFBFBD> 븳 <20> 봽由ъ쫰
- **<2A> 빐寃<EBB990> ** (v0.5.10): ws-client<6E> 뿉 <20> 븯<EFBFBD> 뱶 <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐 諛<> 50ms Paced-flush <20> 쟻<EFBFBD> 슜, http-bridge<67> 쓽 <20> 젙洹쒖떇 湲곕뒫 <20> 셿<EFBFBD> 솕, step-probe 鍮꾨룞湲<EBA39E> I/O <20> 쟾<EFBFBD> 솚 泥댁젣 <20> 쟻<EFBFBD> 슜, observer-script<70> 쓽 <20> 븘<EFBFBD> 꽣<EFBFBD> 맂 <20> 떊<EFBFBD> 샇 臾댄븳 HTTP <20> 뤃留<EBA483> 諛⑹뼱 肄붾뱶 諛섏쁺.
- **二쇱쓽**: Extension <20> 궡遺<EAB6A1> 濡쒖쭅 踰꾧렇<EABEA7> <EBA087> <EFBFBD> <EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> Hub(Python) 肄붾뱶<EBB6BE> 뒗 嫄대뱶由ъ<E794B1> <D18A> <20> 븡<EFBFBD> 쓬. Hub <20> 냽<EFBFBD> 룄 <20> 젣<EFBFBD> 븳<EFBFBD> <EBB8B3> <EFBFBD> <20> 젙<EFBFBD> 긽 諛⑹뼱 湲곗젣<EAB397> 씠誘<EC94A0> 濡<EFBFBD> <20> 겢<EFBFBD> 씪<EFBFBD> 씠<EFBFBD> 뼵<EFBFBD> 듃 <20> 떒<EFBFBD> 쓽 Pacing<6E> 씠 <20> 삱諛붾Ⅸ 諛⑺뼢<E291BA> 엫.
### [2026-03-24] DOM Observer /trigger-click <20> 젋<EFBFBD> 뜑留<EB9C91> <20> 닚<EFBFBD> 꽌 <20> 삤<EFBFBD> 옉<EFBFBD> 룞 諛<> False Positive <20> 봽由ъ쭠
- **利앹긽**: v0.5.9 <20> 뙣移<EB99A3> <20> 씠<EFBFBD> 썑 肄붾뵫 <20> 떆 Agent <20> 솕硫댁씠 <20> 걡<EFBFBD> 엫<EFBFBD> 뾾<EFBFBD> 씠 <20> 꽌紐<EABD8C> <20> <> <EFBFBD> 湲<EFBFBD> (Pending) <20> 긽<EFBFBD> 깭濡<EAB9AD> 硫덉땄. <20> 삉<EFBFBD> 뒗 <20> 뵒<EFBFBD> 뒪肄붾뱶<EBB6BE> 뿉<EFBFBD> 꽌 ` Approve` <20> 떆 <20> 뿉<EFBFBD> 뵒<EFBFBD> 꽣 <20> 궡<EFBFBD> 쓽 <20> 뿁<EFBFBD> 슧<EFBFBD> 븳 ` Run Test`(肄붾뱶 <20> 젋利<ECA08B> )瑜<> <20> 겢由<EAB2A2> <E794B1> 븿.
- **<2A> 썝<EFBFBD> 씤**: <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃<EFBFBD> <EB9383> <EFBFBD> <20> 젙洹쒖떇(` /^Run/i` <20> 벑)<29> 뿉留<EBBF89> <20> 쓽議댄븯<EB8C84> 뿬 ` querySelectorAll`<60> 쓣 <20> 닔<EFBFBD> 뻾<EFBFBD> 븷 寃쎌슦, DOM <20> 듃由ъ뿉 <20> 젋<EFBFBD> 뜑留곷맂 <20> 닔留롮<EFA78D> <EBA1AE> VS Code <20> 꽕<EFBFBD> 씠<EFBFBD> 떚釉<EB969A> 肄붾뱶 <20> 젋利<ECA08B> 踰꾪듉<EABEAA> 쓣 Agent 踰꾪듉蹂대떎 癒쇱<E79992> <EC87B1> 李얠븘踰꾨━<EABEA8> 뒗 諛쒖깮 <20> 쐞移<EC909E> (Context)<29> 쓽 <20> 븳怨꾩젏.
- **<2A> 빐寃<EBB990> ** (v0.5.10):
1. 媛먯<E5AA9B> <EBA8AF> (Scan): ` isVSCodeMainWindow` 諛<> <20> 깘<EFBFBD> 깋 <20> 끂<EFBFBD> 뱶 ` isBodyRoot` <20> 솗<EFBFBD> 씤<EFBFBD> 쓣 <20> 넻<EFBFBD> 빐, <20> 뿉<EFBFBD> 뵒<EFBFBD> 꽣 蹂몃Ц <20> 쁺<EFBFBD> 뿭<EFBFBD> 뿉<EFBFBD> 꽌<EFBFBD> 뒗 "Run", "Approve" 媛먯<E5AA9B> <EBA8AF> 瑜<EFBFBD> <20> 썝泥<EC8D9D> <20> 젣嫄<ECA0A3> (<28> 삤吏<EC82A4> <20> 뙣<EFBFBD> 꼸 <20> 궡濡<EAB6A1> <20> 븳<EFBFBD> 젙).
2. <20> 겢由<EAB2A2> (Trigger-click): ` deepFindButtons()` <20> 궡<EFBFBD> 뿉<EFBFBD> 꽌 ` findPanel()`(<28> 뿉<EFBFBD> 씠<EFBFBD> 쟾<EFBFBD> 듃 <20> 뙣<EFBFBD> 꼸) -> <20> 븣由<EBB8A3> Toasts -> Document 蹂몃Ц <20> 닚<EFBFBD> 쑝濡<EC919D> <20> 깘<EFBFBD> 깋 **<2A> 슦<EFBFBD> 꽑<EFBFBD> 닚<EFBFBD> 쐞(Priority)**瑜<> 媛뺤젣 <20> 쟻<EFBFBD> 슜.
- **二쇱쓽**: 踰꾪듉 <20> 씠踰ㅽ듃 <20> 썑<EFBFBD> 궧 <20> 떆 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 留ㅼ묶<E385BC> 뿉留<EBBF89> <20> 쓽議댄븯吏<EBB8AF> 留먭퀬, 諛섎뱶<EC848E> 떆 DOM <20> 깘<EFBFBD> 깋 <20> 슦<EFBFBD> 꽑<EFBFBD> 닚<EFBFBD> 쐞<EFBFBD> <EC909E> <EFBFBD> 而⑦뀓<E291A6> 뒪<EFBFBD> 듃 踰붿쐞瑜<EC909E> <20> 븿猿<EBB8BF> <20> 븘<EFBFBD> 꽣留곹븯<EAB3B9> 뿬 False Positive瑜<65> 李⑤떒<E291A4> 븷 寃<> .
### [2026-03-24] DOM Observer <20> <> <EFBFBD> VS Code Native UI Blind Spot
- **利앹긽**: "Always Allow" 諛<> <20> 씪諛<EC94AA> "Allow Alt+<2B> 넻" 沅뚰븳 <20> 븣由<EBB8A3> 踰꾪듉<EABEAA> 씠 <20> 뵒<EFBFBD> 뒪肄붾뱶 沅뚰븳 <20> 꽱<EFBFBD> 떛<EFBFBD> 뿉<EFBFBD> 꽌 <20> 셿<EFBFBD> 쟾<EFBFBD> 엳 <20> 늻<EFBFBD> 씫<EFBFBD> 맖.
- **<2A> 썝<EFBFBD> 씤**: VS Code <20> 꽕<EFBFBD> 씠<EFBFBD> 떚釉<EB969A> <20> 븣由<EBB8A3> 諛<> 梨꾪똿 <20> 뙣<EFBFBD> 꼸 <20> 궡<EFBFBD> 쓽 踰꾪듉<EABEAA> <EB9389> <EFBFBD> ` <button>` <20> 깭洹<EAB9AD> <20> <> <EFBFBD> <EFBFBD> 떊 ` <a role="button">`, ` <vscode-button>` <20> 벑<EFBFBD> 쓣 <20> 궗<EFBFBD> 슜<EFBFBD> 븯<EFBFBD> 뒗<EFBFBD> 뜲, 湲곗〈 DOM scan 濡쒖쭅<EC9296> 씠 ` querySelectorAll('button')`<60> 쑝濡<EC919D> <20> 븯<EFBFBD> 뱶肄붾뵫<EBB6BE> 릺<EFBFBD> 뼱 <20> 끂<EFBFBD> 뱶瑜<EBB1B6> <20> 븘<EFBFBD> 삁 李얠<EFA7A1> <EC96A0> 紐삵븿. (異붽<E795B0> <EBB6BD> 濡<EFBFBD> Always Allow <20> 젙洹쒖떇 <20> 늻<EFBFBD> 씫)
- **<2A> 빐寃<EBB990> ** (v0.5.9): DOM scan, 由ъ뒯 <20> 썒 <20> 벑 紐⑤뱺 <20> 깘<EFBFBD> 깋 濡쒖쭅 <20> <> <EFBFBD> <EFBFBD> 젆<EFBFBD> 꽣瑜<EABDA3> ` button, [role="button"], vscode-button, .monaco-text-button` <20> 쑝濡<EC919D> <20> 쟾硫<EC9FBE> 媛쒗렪. <20> 젙洹쒖떇<EC9296> 쓣 ` /^(?:Always )?Allow/i`濡<> <20> 닔<EFBFBD> 젙.
### [2026-03-24] Python Hub <20> <> <EFBFBD> 醫<> 鍮<EFBFBD> 而ㅻ꽖<E385BB> 뀡 諛<> UI <20> 봽由ъ쭠
- **利앹긽**: ` npm run` 紐낅졊<EB8285> 씠 ` <EFBFBD> 떎<EFBFBD> 뻾 <20> 젙梨<ECA099> ` 愿<> <E684BF> 젴 <20> 삤瑜섎줈 <20> 떎<EFBFBD> 뙣
- **<2A> 썝<EFBFBD> 씤**: PowerShell <20> 뒪<EFBFBD> 겕由쏀듃 <20> 떎<EFBFBD> 뻾 <20> 젙梨낆씠 <20> 젣<EFBFBD> 븳<EFBFBD> 쟻
- **<2A> 빐寃<EBB990> **: ` cmd /c npm run dev` <20> 삎<EFBFBD> 떇<EFBFBD> 쑝濡<EC919D> cmd瑜<64> <20> 넻<EFBFBD> 빐 <20> 떎<EFBFBD> 뻾
- **二쇱쓽**: npm 愿<> <E684BF> 젴 紐낅졊<EB8285> <ECA18A> <EFBFBD> <20> 빆<EFBFBD> 긽 ` cmd /c` <20> 젒<EFBFBD> 몢<EFBFBD> 뼱 <20> 궗<EFBFBD> 슜 沅뚯옣
### [2026-03-08] PowerShell curl <20> <> <EFBFBD> Invoke-WebRequest 異⑸룎
- **利앹긽**: ` curl` 紐낅졊<EB8285> 씠 <20> 삁<EFBFBD> 긽怨<EAB8BD> <20> 떎瑜<EB968E> <20> 쓳<EFBFBD> 떟 <20> 삎<EFBFBD> 떇<EFBFBD> 쓣 諛섑솚
- **<2A> 썝<EFBFBD> 씤**: PowerShell<6C> 뿉<EFBFBD> 꽌 ` curl`<60> <> <EFBFBD> ` Invoke-WebRequest`<60> 쓽 蹂꾩묶
- **<2A> 빐寃<EBB990> **: **` curl.exe`**瑜<> 紐낆떆<EB8286> 쟻<EFBFBD> 쑝濡<EC919D> <20> 궗<EFBFBD> 슜
- **二쇱쓽**: HTTP 愿<> <E684BF> 젴 紐⑤뱺 紐낅졊<EB8285> 뿉<EFBFBD> 꽌 ` curl.exe` <20> 궗<EFBFBD> 슜 <20> 븘<EFBFBD> 닔
---
## 誘명빐寃<EBB990> <20> 씠<EFBFBD> 뒋
### [2026-03-23/24] <20> 룊<EFBFBD> 깮 吏<> <EFA79E> 냽<EFBFBD> 릺<EFBFBD> 뒗 WebSocket 醫<> 鍮<EFBFBD> 而ㅻ꽖<E385BB> 뀡 諛<> False Positive 媛뺤젣 <20> 뿰寃<EBBFB0> <20> 걡源<EAB1A1> (v0.5.5 <20> 넂 0.5.8)
- **利앹긽**:
1. (v0.5.5) <20> 젅<EFBFBD> 쟾 紐⑤뱶 蹂듦뎄 <20> 떆 <20> 떎<EFBFBD> 뿰寃곗씠 <20> 걡<EFBFBD> 뼱議뚯쓬<EB9AAF> 뿉<EFBFBD> 룄 <20> 솗<EFBFBD> 옣<EFBFBD> 씠 <20> 씠瑜<EC94A0> <20> 씤吏<EC94A4> <EFA79E> 븯吏<EBB8AF> 紐삵븯<EC82B5> 뒗 醫<> 鍮<EFBFBD> (Half-open) <20> 냼耳<EB83BC> 諛쒖깮.
2. (v0.5.6) 醫<> 鍮<EFBFBD> <20> 냼耳볦쓣 <20> 옟湲<EC989F> <20> 쐞<EFBFBD> 빐 10珥<30> <20> <> <EFBFBD> <EFBFBD> 씠癒<EC94A0> (` pongTimeoutTimer`)瑜<> <20> 꽔<EFBFBD> 뿀<EFBFBD> 쑝<EFBFBD> 굹, VS Code<64> 쓽 臾닿굅<EB8BBF> 슫 <20> 뙆<EFBFBD> 씪 寃<> <E5AF83> 깋 <20> 떆 Event Loop媛<70> 釉붾줈<EBB6BE> 궧<EFBFBD> 릺硫<EBA6BA> 硫<> 姨≫븳 <20> 뿰寃곗씤<EAB397> 뜲<EFBFBD> 룄 <20> 뿀<EFBFBD> 쐞 <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐(False Positive) <20> 뙋<EFBFBD> 젙<EFBFBD> 쑝濡<EC919D> <20> 뿰寃곗쓣 媛뺤젣 醫낅즺<EB8285> 븿. <20> 씠濡<EC94A0> <20> 씤<EFBFBD> 빐 <20> 늻<EFBFBD> 쟻<EFBFBD> 맂 <20> 옱<EFBFBD> 뿰寃<EBBFB0> <20> 뵜<EFBFBD> 젅<EFBFBD> 씠(Exponential Backoff)媛<> 60珥덇퉴吏<ED89B4> <20> 뒛<EFBFBD> 뼱<EFBFBD> 굹硫댁꽌 <20> 솗<EFBFBD> 옣<EFBFBD> 씠 <20> 떖媛곹븯寃<EBB8AF> 硫덉땄(Freeze).
- **<2A> 썝<EFBFBD> 씤**: Node.js ` ws` <20> 씪<EFBFBD> 씠釉뚮윭由ъ쓽 ` ws.ping()`<60> <> <EFBFBD> 鍮꾨룞湲<EBA39E> I/O <20> 꽕<EFBFBD> 듃<EFBFBD> 썙<EFBFBD> 겕 <20> 걧瑜<EAB1A7> <20> <> <EFBFBD> 吏<EFBFBD> 留<EFBFBD> , ` setTimeout(..., 10000)` <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐<EFBFBD> <EC8D90> <EFBFBD> Event Loop 釉붾줈<EBB6BE> 궧 <20> 빐<EFBFBD> 젣 吏곹썑 怨㏓컮濡<ECBBAE> 留뚮즺<EB9AAE> 릺<EFBFBD> 뼱 踰꾨┝. <20> 뵲<EFBFBD> 씪<EFBFBD> 꽌 <20> 꽕<EFBFBD> 듃<EFBFBD> 썙<EFBFBD> 겕 I/O <20> 쓳<EFBFBD> 떟(pong)蹂대떎 濡쒖뺄 <20> <> <EFBFBD> <EFBFBD> 씠癒멸<E79992> <EBA9B8> 癒쇱<E79992> <EC87B1> <20> 꽣<EFBFBD> 졇<EFBFBD> 꽌 <20> 젙<EFBFBD> 긽<EFBFBD> 쟻<EFBFBD> 씤 <20> 냼耳볦쓣 二쎌엫.
- **<2A> 빐寃<EBB990> ** (v0.5.8 <20> 셿<EFBFBD> 꽦):
- <20> 쐞<EFBFBD> 뿕<EFBFBD> 븳 ` setTimeout` 諛⑹떇 <20> 룓湲<EBA393> .
- 湲곗〈<EAB397> 쓽 25珥<35> 二쇨린 ` setInterval` <20> 븯<EFBFBD> 듃鍮꾪듃 猷⑦봽 <20> 궡遺<EAB6A1> <E981BA> 뿉 ` Date.now() - lastPongTime > 60000` (60珥<30> 珥덇낵 <20> 떆 <20> <> <EFBFBD> <EFBFBD> 엫<EFBFBD> 븘<EFBFBD> 썐) 寃<> 利<EFBFBD> 濡쒖쭅<EC9296> 쓣 <20> 룄<EFBFBD> 엯.
- 留뚯빟 Event Loop媛<70> <20> 닔<EFBFBD> 떗 珥<> 諛<> 由щ뜑<D189> 씪<EFBFBD> 룄, 釉붾줈<EBB6BE> 궧 <20> 빐<EFBFBD> 젣 <20> 썑 <20> 걧<EFBFBD> 맂 I/O <20> 씠踰ㅽ듃(` pong`)媛<> ` setInterval` <20> <> <EFBFBD> <EFBFBD> 씠癒<EC94A0> 肄쒕갚 <20> 씠<EFBFBD> 쟾<EFBFBD> 뿉 癒쇱<E79992> <EC87B1> 泥섎━<EC848E> 릺嫄곕굹(Node.js Phase 洹쒖튃), <20> 쟻<EFBFBD> 뼱<EFBFBD> 룄 60珥덈씪<EB8D88> 뒗 踰꾪띁 <20> 뜒遺꾩뿉 **False Positive 媛<> <E5AA9B> 뒫<EFBFBD> 꽦<EFBFBD> 쓣 <20> 썝泥<EC8D9D> 李⑤떒**<2A> 븿怨<EBB8BF> <20> 룞<EFBFBD> 떆<EFBFBD> 뿉 醫<> 鍮<EFBFBD> <20> 냼耳볦쓣 <20> 븞<EFBFBD> 젙<EFBFBD> 쟻<EFBFBD> 쑝濡<EC919D> <20> 젣嫄고븿.
- **二쇱쓽**: Node.js<6A> 쓽 <20> 떒<EFBFBD> 씪 <20> 뒪<EFBFBD> 젅<EFBFBD> 뱶 Event Loop <20> 솚寃<EC869A> (<28> 듅<EFBFBD> 엳 臾닿굅<EB8BBF> 슫 <20> 룞湲<EBA39E> <20> 옉<EFBFBD> 뾽<EFBFBD> 씠 <20> 옦<EFBFBD> <EC98A6> <EFBFBD> VS Code Extension)<29> 뿉<EFBFBD> 꽌 <20> 꽕<EFBFBD> 듃<EFBFBD> 썙<EFBFBD> 겕 I/O瑜<4F> 濡쒖뺄 ` setTimeout`怨<> 寃쎌<(Race)<29> 떆<EFBFBD> 궎<EFBFBD> 뒗 <20> 꽕怨꾨뒗 <20> 븘<EFBFBD> 뿰<EFBFBD> 쟻<EFBFBD> 쑝濡<EC919D> False Positive瑜<65> <20> 궠<EFBFBD> 쓬. Timestamp(` Date.now()`) 湲곕컲 媛꾧꺽 寃<> 利<EFBFBD> (Interval check)<29> 씠 <20> 썾<EFBFBD> 뵮 <20> 븞<EFBFBD> 쟾<EFBFBD> 븿.
### [2026-03-11] rejectAgentStep / !stop <20> <> <EFBFBD> AG 誘몃벑濡<EBB291> 而ㅻ㎤<E385BB> 뱶 + <20> 젋<EFBFBD> 뜑<EFBFBD> 윭 <20> 쟾<EFBFBD> 슜 <20> 븿<EFBFBD> 닔 + <20> 뒪<EFBFBD> 뀒<EFBFBD> 씪 <20> 봽由щ<E794B1> 명떚釉<EB969A>
- **利앹긽**: ` !stop` 紐낅졊<EB8285> 씠 AI瑜<49> 硫덉텛吏<ED859B> 紐삵븿. 濡쒓렇: "No active cascade" / "no session tracked yet"
- **<2A> 썝<EFBFBD> 씤**: (1) ` antigravity.agent.rejectAgentStep`<60> <> <EFBFBD> AG 誘몃벑濡<EBB291> 而ㅻ㎤<E385BB> 뱶. (2) <20> <> <EFBFBD> 泥댄븳 ` getActiveCascadeId()`<60> 뒗 **<2A> 젋<EFBFBD> 뜑<EFBFBD> 윭(DOM) <20> 쟾<EFBFBD> 슜 <20> 븿<EFBFBD> 닔** <20> <> <EFBFBD> Extension host<73> 뿉<EFBFBD> 꽌 <20> 빆<EFBFBD> 긽 ` undefined` 諛섑솚. (3) **v0.4.5 <20> 닔<EFBFBD> 젙<EFBFBD> 룄 <20> 떎<EFBFBD> 뙣**: ` extension.ts`<60> 쓽 ` getActiveSessionId: () => activeSessionId`媛<> module-level <20> 뒪<EFBFBD> 듃留<EB9383> <20> 봽由щ<E794B1> 명떚釉뚮<E98789> <EB9AAE> 李몄“ <20> <> <EFBFBD> step-probe媛<65> ` ctx.activeSessionId`瑜<> <20> 뾽<EFBFBD> 뜲<EFBFBD> 씠<EFBFBD> 듃<EFBFBD> 빐<EFBFBD> 룄 extension.ts<74> 쓽 蹂<> <E8B982> 닔<EFBFBD> 뒗 遺덈<E981BA> <EB8D88> (<28> 봽由щ<E794B1> 명떚釉<EB969A> 蹂듭궗)
- **<2A> 빐寃<EBB990> ** (2026-03-18 v0.4.6): ` step-probe.ts`<60> 뿉<EFBFBD> 꽌 ` getActiveSessionId()` getter <20> 븿<EFBFBD> 닔 export <20> 넂 extension.ts closures<65> 뿉<EFBFBD> 꽌 ` getStepProbeSessionId()` <20> 샇異<EC8387> . <20> 씠<EFBFBD> 젣 step-probe<62> 쓽 live ` ctx.activeSessionId`瑜<> 吏곸젒 <20> 씫<EFBFBD> 쓬 (` ab0c116`)
- **二쇱쓽**: JS<4A> 뿉<EFBFBD> 꽌 **string/number<65> 뒗 <20> 봽由щ<E794B1> 명떚釉뚮씪 李몄“ <20> 쟾<EFBFBD> 떖 遺덇<E981BA> <EB8D87> ** <20> <> <EFBFBD> 媛앹껜 <20> 냽<EFBFBD> 꽦<EFBFBD> 쓣 怨듭쑀<EB93AD> 븯<EFBFBD> 젮硫<ECA0AE> getter <20> 븿<EFBFBD> 닔<EFBFBD> 굹 媛앹껜 <20> 옒<EFBFBD> 띁 <20> 궗<EFBFBD> 슜 <20> 븘<EFBFBD> 닔
- **Vikunja**: #411, #410
### [2026-03-19] browser_subagent Allow <20> <> <EFBFBD> <20> 옒紐삳맂 RPC payload
- **利앹긽**: <20> 꽌釉<EABD8C> <20> 뿉<EFBFBD> 씠<EFBFBD> 쟾<EFBFBD> 듃 "execute JavaScript on localhost" Allow 踰꾪듉<EABEAA> 씠 <20> 옄<EFBFBD> 룞 <20> 듅<EFBFBD> 씤<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬
- **<2A> 썝<EFBFBD> 씤**: ` step-probe.ts`<60> 뿉<EFBFBD> 꽌 ` browser_subagent` toolName<6D> 씠 step_type 遺꾨쪟 <20> 뾾<EFBFBD> 씠 raw toolName<6D> 쑝濡<EC919D> <20> 쟾<EFBFBD> 떖 <20> 넂 ` approval-handler.ts`<60> 뿉<EFBFBD> 꽌 ` runExtensionCode` 留ㅽ븨<E385BD> 뿉 <20> 룷<EFBFBD> 븿<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 븘 default ` runCommand` RPC payload <20> 궗<EFBFBD> 슜 <20> 넂 AG媛<47> <20> 옒紐삳맂 interaction type<70> 쑝濡<EC919D> 臾댁떆
- **<2A> 빐寃<EBB990> ** (v0.5.1): ` approval-handler.ts` L384<38> 뿉 ` browser_subagent` 異붽<E795B0> <EBB6BD> , ` step-probe.ts` L481/L549<34> 뿉 ` browser_subagent`/` open_browser_url` step_type 遺꾨쪟 異붽<E795B0> <EBB6BD> (` 549af6d`)
- **二쇱쓽**: <20> 깉濡쒖슫 AG <20> 룄援<EBA384> 異붽<E795B0> <EBB6BD> <20> 떆 諛섎뱶<EC848E> 떆 (1) step-probe step_type 留ㅽ븨 (2) approval-handler RPC payload 留ㅽ븨 <20> 뼇履<EBBC87> 紐⑤몢 <20> 뾽<EFBFBD> 뜲<EFBFBD> 씠<EFBFBD> 듃
### [2026-03-21] Idle<6C> 넂Resume <20> 떊<EFBFBD> 샇 <20> 냼<EFBFBD> 떎 <20> <> <EFBFBD> 3以<33> 踰꾧렇
- **利앹긽**: AG <20> 옣<EFBFBD> 떆媛<EB9686> idle <20> 썑 <20> 옉<EFBFBD> 뾽 <20> 옱媛<EC98B1> <20> 떆 Discord <20> 듅<EFBFBD> 씤 <20> 떊<EFBFBD> 샇媛<EC8387> <20> 쟾<EFBFBD> 떖<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬
- **<2A> 썝<EFBFBD> 씤**: (1) ` ws-client.ts` ` auth_fail` <20> 떆 ` shouldReconnect=false` <20> <> <EFBFBD> JWT 24h 留뚮즺 <20> 떆 WS <20> 쁺援<EC81BA> 醫낅즺. (2) ` hub.py` ` _disconnect`<60> 뿉<EFBFBD> 꽌 <20> 쑀<EFBFBD> 씪 <20> 뿰寃<EBBFB0> <20> 떆 ` pending_owners` <20> 궘<EFBFBD> 젣 <20> <> <EFBFBD> <20> 옱<EFBFBD> 뿰寃<EBBFB0> <20> 썑 Discord 踰꾪듉 臾댄슚. (3) ` step-probe.ts` ` stallProbed=true` + ` lastPendingStepIndex=N`<60> 씠 WS <20> 옱<EFBFBD> 뿰寃<EBBFB0> <20> 떆 由ъ뀑 <20> 븞 <20> 맖 <20> <> <EFBFBD> WAITING step <20> 옱<EFBFBD> 쟾<EFBFBD> 넚 <20> 쁺援<EC81BA> 李⑤떒
- **<2A> 빐寃<EBB990> ** (v0.5.2): (1) ` auth_fail` <20> 넂 ` registrationCode` <20> 옱<EFBFBD> 떆<EFBFBD> 룄. (2) ` pending_owners` orphan 留덉빱濡<EBB9B1> 蹂댁〈+<2B> 옱<EFBFBD> 븷<EFBFBD> 떦. (3) ` resetPendingStateForReconnect()` + ` onConnected`<60> 뿉<EFBFBD> 꽌 <20> 샇異<EC8387>
- **二쇱쓽**: WS ` onConnected`<60> 뿉<EFBFBD> 꽌 諛섎뱶<EC848E> 떆 step-probe <20> 긽<EFBFBD> 깭 由ъ뀑 <20> 븘<EFBFBD> 닔. ` stallProbed`/` lastPendingStepIndex`<60> 뒗 TTL <20> 뾾<EFBFBD> 뒗 <20> 쁺援<EC81BA> 媛<>
---
> [!NOTE]
> v0.4.5 <20> 닔<EFBFBD> 젙 <20> 궗<EFBFBD> 빆(Hub pending_owners, diff_review WS, auto_approve <20> 씠以묒벐湲<EBB290> , WS dual-write, ApprovalView fallback)<29> <> <EFBFBD>
> 肄붾뱶 <20> 닔<EFBFBD> 젙 <20> 셿猷뚮맖. E2E <20> 넻<EFBFBD> 빀 寃<> 利앹<EFA79D> <EC95B9> Vikunja #410<31> 뿉<EFBFBD> 꽌 異붿쟻 以<> .
### [2026-03-21] stepIndex=-1 <20> <> <EFBFBD> AG proto uint32 <20> 뿉<EFBFBD> 윭
- **利앹긽**: DOM observer媛<72> Allow 踰꾪듉 媛먯<E5AA9B> <EBA8AF> <20> 넂 Discord <20> 듅<EFBFBD> 씤 <20> 넂 RPC ` HandleCascadeUserInteraction` 400 <20> 뿉<EFBFBD> 윭
- **<2A> 썝<EFBFBD> 씤**: DOM observer 寃쎈줈<EC8E88> 뒗 step index瑜<78> 紐⑤쫫 <20> 넂 ` stepIndex=-1` <20> 쟾<EFBFBD> 떖 <20> 넂 AG proto ` uint32` <20> 븘<EFBFBD> 뱶<EFBFBD> 뿉 <20> 쓬<EFBFBD> 닔 遺덇<E981BA> <EB8D87>
- **<2A> 빐寃<EBB990> **: ` Math.max(0, ...)` 濡<> clamp. ` permission` type <20> 넂 ` runExtensionCode.confirm` 留ㅽ븨 異붽<E795B0> <EBB6BD> (v0.5.4)
- **二쇱쓽**: DOM observer 寃쎈줈<EC8E88> 쓽 step_type<70> <65> <EFBFBD> <20> 빆<EFBFBD> 긽 ` stepIndex=-1`<60> 씪 <20> 닔 <20> 엳<EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> proto <20> 쟾<EFBFBD> 떖 <20> 쟾 <20> 뼇<EFBFBD> 닔 蹂댁옣 <20> 븘<EFBFBD> 닔
### [2026-03-21] reviewAbsoluteUris <20> <> <EFBFBD> latestNotifyUserStep <20> 븘<EFBFBD> 뱶紐<EBB1B6> 遺덉씪移<EC94AA>
- **利앹긽**: ` notify_user`<60> 쓽 PathsToReview <20> 뙆<EFBFBD> 씪 由대젅<EB8C80> 씠媛<EC94A0> <20> 븳 踰덈룄 <20> 옉<EFBFBD> 룞<EFBFBD> 븯吏<EBB8AF> <20> 븡<EFBFBD> 쓬
- **<2A> 썝<EFBFBD> 씤**: AG <20> 떎<EFBFBD> 젣 <20> 븘<EFBFBD> 뱶紐<EBB1B6> ` reviewAbsoluteUris` vs 肄붾뱶 ` pathsToReview`/` paths_to_review`/` filePaths`
- **<2A> 빐寃<EBB990> **: ` reviewAbsoluteUris` 瑜<> 泥<> 踰덉㎏ <20> 썑蹂대줈 異붽<E795B0> <EBB6BD> (v0.5.3)
- **二쇱쓽**: AG RPC <20> 븘<EFBFBD> 뱶紐낆<EFA78F> <EB8286> extension.log ` [NOTIFY-STEP] keys=` 濡<> <20> 솗<EFBFBD> 씤 媛<> <E5AA9B> 뒫. 異붿륫 湲덉<E6B9B2> <EB8D89>
### [2026-03-21] <20> 꽭<EFBFBD> 뀡 <20> 쟾<EFBFBD> 솚 <20> <> <EFBFBD> 泥<> WAITING 媛먯<E5AA9B> <EBA8AF> 20-25s 吏<> <EFA79E> 뿰
- **利앹긽**: <20> 깉 <20> <> <EFBFBD> <EFBFBD> 솕 <20> 떆<EFBFBD> 옉 <20> 썑 泥<> run_command <20> 듅<EFBFBD> 씤<EFBFBD> 씠 Discord<72> 뿉 <20> 븞 <20> 삤怨<EC82A4> AG<41> 뿉<EFBFBD> 꽌 吏곸젒 <20> 듅<EFBFBD> 씤<EFBFBD> 빐<EFBFBD> 빞 <20> 븿
- **<2A> 썝<EFBFBD> 씤**: ` lastModTime=''` 由ъ뀑 <20> 넂 ` modTimeChanged=true` <20> 넂 THINKING 遺꾧린 諛섎났 <20> 넂 probe 15-25s 吏<> <EFA79E> 뿰
- **<2A> 빐寃<EBB990> **: ` lastModTime=currentModTime` + ` return` <20> 젣嫄<ECA0A3> + 利됱떆 probe 媛뺤젣 + <20> 쉶洹<EC89B6> 媛<> <E5AA9B> 뱶 異붽<E795B0> <EBB6BD> (v0.5.3)
- **二쇱쓽**: <20> 꽭<EFBFBD> 뀡 <20> 쟾<EFBFBD> 솚 <20> 떆 ` wasRunning`/` pendingModifiedFiles` 由ъ뀑 <20> 븘<EFBFBD> 닔 (<28> 씠<EFBFBD> 쟾 <20> 꽭<EFBFBD> 뀡 <20> 옍<EFBFBD> 뿬臾쇰줈 false diff_review 諛⑹<E8AB9B> <E291B9> )
---
## <20> 빑<EFBFBD> 떖 <20> 옉<EFBFBD> 뾽 洹쒖튃 (怨쇨굅 <20> 씠<EFBFBD> 뒋<EFBFBD> 뿉<EFBFBD> 꽌 諛섎났<EC848E> 맂 <20> 뙣<EFBFBD> 꽩)
> <20> 븘<EFBFBD> 옒<EFBFBD> 뒗 怨쇨굅 <20> 씠<EFBFBD> 뒋<EFBFBD> 뿉<EFBFBD> 꽌 諛섎났<EC848E> 쟻<EFBFBD> 쑝濡<EC919D> <20> 굹<EFBFBD> <EAB5B9> <EFBFBD> <EFBFBD> 궃 <20> 뙣<EFBFBD> 꽩<EFBFBD> 쓣 洹쒖튃<EC9296> 쑝濡<EC919D> <20> 젙由ы븳 寃껋엯<EABB8B> 땲<EFBFBD> 떎.
| # | 洹쒖튃 | 愿<> <E684BF> 젴 <20> 씠<EFBFBD> 뒋 (archive 李몄“) |
|---|------|--------------------------|
| 1 | **Hub WS<57> <53> <EFBFBD> file bridge<67> 뒗 <20> 긽<EFBFBD> 샇 諛고<E8AB9B> <EAB3A0> <EFBFBD> 쟻** <20> <> <EFBFBD> ` if hub: ws + return` / ` else: file` | WS dual-write, _auto_approve <20> 씠以<EC94A0> <20> 벐湲<EBB290> |
| 2 | **WS 寃쎈줈 異붽<E795B0> <EBB6BD> <20> 떆 file-bridge<67> 쓽 紐⑤뱺 遺꾧린瑜<EBA6B0> <20> 룷<EFBFBD> 똿** | diff_review WS regression |
| 3 | **AG RPC ` {}` <20> 쓳<EFBFBD> 떟<EFBFBD> <EB969F> <EFBFBD> <20> 떎<EFBFBD> 뙣濡<EB99A3> 媛꾩<** <20> <> <EFBFBD> 硫붿꽌<EBB6BF> 뱶紐<EBB1B6> <20> <> <EFBFBD> <EFBFBD> 젮<EFBFBD> 룄 <20> 뿉<EFBFBD> 윭 <20> 뾾<EFBFBD> 씠 ` {}` 諛섑솚 | AcknowledgeCascadeCodeEdit |
| 4 | **ResolveOutstandingSteps<70> 뒗 CANCEL <20> 룞<EFBFBD> 옉** <20> <> <EFBFBD> <20> 듅<EFBFBD> 씤<EFBFBD> 뿉 <20> 젅<EFBFBD> <ECA085> <EFBFBD> <20> 궗<EFBFBD> 슜 湲덉<E6B9B2> <EB8D89> | Step probe reject |
| 5 | **Extension 肄붾뱶 <20> 닔<EFBFBD> 젙 <20> 썑 諛섎뱶<EC848E> 떆 VSIX 鍮뚮뱶 + AG <20> <> <EFBFBD> <20> 옱<EFBFBD> 떆<EFBFBD> 옉** | Extension 踰꾩쟾 誘몃같<EBAA83> 룷 |
| 6 | **HTML <20> 뙣移<EB99A3> 蹂<> 寃<EFBFBD> <20> 떆 V8 CachedData <20> 궘<EFBFBD> 젣 <20> 븘<EFBFBD> 닔** | V8 CachedData, CSP |
| 7 | **` bridge/pending/` 議곗옉 <20> 떆 諛섎뱶<EC848E> 떆 ` project_name` + ` conversation_id` <20> 븘<EFBFBD> 꽣** | <20> 겕濡쒖뒪 <20> 봽濡쒖젥<EC9296> 듃 DEDUP MERGE |
| 8 | **` processResponseFile` <20> 긽<EFBFBD> 깭 由ъ뀑<D18A> <EB8091> <EFBFBD> ` sawRunningAfterPending=true`留<> ** | processResponseFile 臾댄븳 猷⑦봽 |
| 9 | **fs.watch Windows 遺덉븞<EB8D89> 젙 <20> <> <EFBFBD> 諛섎뱶<EC848E> 떆 polling fallback 蹂묓뻾** | fs.watch silent fail |
| 10 | **diff_review<65> 뒗 VS Code 而ㅻ㎤<E385BB> 뱶留<EBB1B6> <20> 쑀<EFBFBD> 슚** <20> <> <EFBFBD> RPC 3媛<33> <20> 쟾<EFBFBD> 왂 紐⑤몢 <20> 떎<EFBFBD> 뙣 <20> 솗<EFBFBD> 젙 | diff_review RPC dead-end |
| 11 | **HttpBridgeContext<78> 뿉 <20> 봽由щ<E794B1> 명떚釉<EB969A> by-value 蹂듭궗 湲덉<E6B9B2> <EB8D89> ** <20> <> <EFBFBD> 蹂꾨룄 媛앹껜 <20> 깮<EFBFBD> 꽦 <20> 떆 getter <20> 궗<EFBFBD> 슜 | HttpBridgeContext stale primitive |
| 12 | **<2A> 깉 AG <20> 룄援<EBA384> 異붽<E795B0> <EBB6BD> <20> 떆 step-probe step_type 留ㅽ븨 + approval-handler RPC payload 留ㅽ븨 <20> 뼇履<EBBC87> <20> 븘<EFBFBD> 닔** | browser_subagent Allow |
| 13 | **WS ` onConnected`<60> 뿉<EFBFBD> 꽌 step-probe <20> 긽<EFBFBD> 깭 由ъ뀑 <20> 븘<EFBFBD> 닔** <20> <> <EFBFBD> ` stallProbed`/` lastPendingStepIndex`<60> 뒗 TTL <20> 뾾<EFBFBD> 뒗 <20> 쁺援<EC81BA> 媛<> | Idle<6C> 넂Resume <20> 떊<EFBFBD> 샇 <20> 냼<EFBFBD> 떎 |
| 14 | **AG proto ` uint32` <20> 븘<EFBFBD> 뱶<EFBFBD> 뿉 <20> 쓬<EFBFBD> 닔 <20> 쟾<EFBFBD> 떖 湲덉<E6B9B2> <EB8D89> ** <20> <> <EFBFBD> ` stepIndex` <20> 벑<EFBFBD> <EBB291> <EFBFBD> ` Math.max(0, ...)` <20> 븘<EFBFBD> 닔 | stepIndex=-1 RPC 400 |
| 15 | **RPC "input not registered" = wrong-LS <20> 뿰寃<EBBFB0> ** <20> <> <EFBFBD> ` fixLSConnection()` <20> 옄<EFBFBD> 룞 <20> 옱<EFBFBD> 떆<EFBFBD> 룄 <20> 븘<EFBFBD> 닔, ` lines.length<=1` 議곌린醫낅즺 湲덉<E6B9B2> <EB8D89> | Deriva wrong-LS (v0.5.5) |
| 16 | **<2A> 씡<EFBFBD> 뒪<EFBFBD> 뀗<EFBFBD> 뀡(Bridge)<29> <> <EFBFBD> <20> 옄<EFBFBD> 쓽<EFBFBD> 쟻 鍮꾩쫰<EABEA9> 땲<EFBFBD> 뒪 <20> 뙋<EFBFBD> 떒 <20> 젅<EFBFBD> <ECA085> <EFBFBD> 湲덉<E6B9B2> <EB8D89> ** <20> <> <EFBFBD> ` SafeToAutoRun` <20> 벑<EFBFBD> 쓽 議곌굔 釉뚮옖移<EC9896> 遺꾧린<EABEA7> 뒗 紐⑤몢 遊뉗쑝濡<EC919D> <20> 쐞<EFBFBD> 엫 (Agnostic Bridge) | SafeToAutoRun Deadlock (v0.5.15) |
| 17 | **package.json 鍮뚮뱶 <20> 뒪<EFBFBD> 겕由쏀듃 媛뺤젣** <20> <> <EFBFBD> ` vscode:prepublish` 異붽<E795B0> <EBB6BD> 濡<EFBFBD> <20> 궊<EFBFBD> <EAB68A> <EFBFBD> <20> 냼<EFBFBD> 뒪 諛고룷 <20> 썝泥<EC8D9D> 李⑤떒 | VSIX v0.5.15 鍮뚮뱶 <20> 늻<EFBFBD> 씫 |
| 18 | **<2A> 룞湲곗떇 ` cp.execSync` <20> 궗<EFBFBD> 슜 湲덉<E6B9B2> <EB8D89> ** <20> <> <EFBFBD> Windows <20> 솚寃쎌뿉<EC8E8C> 꽌 硫붿씤 <20> 씠踰ㅽ듃猷⑦봽 <20> 봽由ъ쭠 諛<> WS heartbeat <20> 떒<EFBFBD> 젅 <20> 쑀諛<EC9180> | detectProjectName <20> 봽由ъ쭠 |
### [2026-04-09] [Bot/Extension] Discord Signal Relay Failure & Empty Body
- **利앹긽**: <20> 뵒<EFBFBD> 뒪肄붾뱶 遊뉗<E9818A> <EB8997> '<27> 옄<EFBFBD> 룞 <20> 듅<EFBFBD> 씤<EFBFBD> 맖'<27> 쓣 <20> 쓣<EFBFBD> 슦吏<EC8AA6> 留<EFBFBD> <20> 떎<EFBFBD> 젣 肄붾뱶 蹂몃Ц<EBAA83> 씠 <20> 몴<EFBFBD> 떆<EFBFBD> 릺吏<EBA6BA> <20> 븡怨<EBB8A1> , 梨꾨꼸<EABEA8> 뿉 吏꾩쭨 梨꾪똿 硫붿떆吏<EB9686> <EFA79E> 굹 <20> 븣由쇱씠 <20> 뒪<EFBFBD> 뙵 <20> 걧 <20> 뮘<EFBFBD> 뿉 諛<> <E8AB9B> 젮 <20> 쟾<EFBFBD> 넚<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬.
- **<2A> 썝<EFBFBD> 씤**: 1) observer-script.ts<74> 뿉<EFBFBD> 꽌 踰꾪듉 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 留ㅼ묶 <20> 떆 Run <20> 떒<EFBFBD> 뼱<EFBFBD> 쓽 寃쎄퀎(\b) 泥섎━瑜<E29481> <20> 븯吏<EBB8AF> <20> 븡<EFBFBD> 븘 VS Code <20> 븯<EFBFBD> 떒<EFBFBD> 쓽 'Running 1 command'瑜<> 媛<> 濡쒖콈<EC9296> 뼱 PENDING <20> 뒪<EFBFBD> 뙵 臾댄븳 <20> 깮<EFBFBD> 꽦. 2) bot.py<70> 뿉<EFBFBD> 꽌 <20> 옄<EFBFBD> 룞 <20> 듅<EFBFBD> 씤 Embed <20> 깮<EFBFBD> 꽦 <20> 떆 req.description<6F> 쓣 洹몃━吏<E29481> <20> 븡怨<EBB8A1> 踰꾪듉 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃(req.command)留<> <20> 몴<EFBFBD> 떆. 3) step-probe.ts<74> 뿉<EFBFBD> 꽌 <20> 꽭<EFBFBD> 뀡 援먯껜 <20> 떆 理쒓렐 <20> 븣由<EBB8A3> <20> 씤<EFBFBD> 뜳<EFBFBD> 뒪 珥덇린<EB8D87> 솕瑜<EC8695> <20> 옒紐삵븯<EC82B5> 뿬 <20> 꽭<EFBFBD> 뀡<EFBFBD> 쓽 泥<> 硫붿떆吏<EB9686> 瑜<EFBFBD> 臾댁“嫄<E2809C> <20> 뱶濡<EBB1B6> .
- **<2A> 빐寃<EBB990> **: DOM 媛먯<E5AA9B> <EBA8AF> <20> 젙洹쒖떇<EC9296> 뿉 \b 媛뺤젣 遺<> <E981BA> 뿬 (/Run\b/), bot.py<70> 쓽 Auto-Approve 履<> Embed 蹂몃Ц<EBAA83> 뿉 req.description <20> 젋<EFBFBD> 뜑留<EB9C91> 異붽<E795B0> <EBB6BD> , step-probe.ts<74> 뿉<EFBFBD> 꽌 session init <20> 떆 index瑜<78> -1濡<31> 由ъ뀑.
- **二쇱쓽**: Native UI <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 媛먯<E5AA9B> <EBA8AF> <20> 떆 <20> 떒<EFBFBD> 뼱 寃쎄퀎(\b)源뚯<E6BA90> <EB9AAF> 寃<> 利앺빐<EC95BA> 빞 False Positive瑜<65> 留됱쓣 <20> 닔 <20> 엳<EFBFBD> 쑝硫<EC919D> , Auto-Approve<76> 뒗 諛섎뱶<EC848E> 떆 蹂몃Ц<EBAA83> 쓣 <20> 끂異쒗빐<EC9297> 빞 <20> 븿.
### [2026-04-10] [Extension] AI Response Content Missing (Nested PlannerResponse)
- **利앹긽**: <20> 뵒<EFBFBD> 뒪肄붾뱶 梨꾪똿諛⑹뿉 Agent<6E> 쓽 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 <20> 쓳<EFBFBD> 떟(AI <20> 쓳<EFBFBD> 떟)<29> 씠 <20> 븘<EFBFBD> 삁 <20> 늻<EFBFBD> 씫<EFBFBD> 릺<EFBFBD> 뼱 <20> 쟾<EFBFBD> 넚<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬.
- **<2A> 썝<EFBFBD> 씤**: GetCascadeTrajectorySteps媛<73> 諛섑솚<EC8491> 븯<EFBFBD> 뒗 plannerResponse媛<65> <20> 봽濡쒗넗肄<EB8497> 諛⑹떇<E291B9> 뿉 <20> 뵲<EFBFBD> 씪 理쒖긽<EC9296> 떒(s.plannerResponse)<29> 씠 <20> 븘<EFBFBD> 땶 s.step.plannerResponse<73> 뿉 以묒꺽<EBAC92> 릺<EFBFBD> 뼱 <20> 뱾<EFBFBD> 뼱<EFBFBD> 삱 <20> 닔 <20> 엳<EFBFBD> 쓬. 湲곗〈 <20> 뙆<EFBFBD> 꽌<EFBFBD> 뒗 <20> 븯<EFBFBD> 뱶肄붾뵫<EBB6BE> 맂 <20> 븘<EFBFBD> 뱶 諛<> <20> 뵆<EFBFBD> 옯 援ъ“留<E2809C> 議고쉶<EAB3A0> 븯<EFBFBD> 뿬 <20> 쓳<EFBFBD> 떟<EFBFBD> 쓣 踰꾨┝.
- **二쇱쓽**: AG RPC <20> 븘<EFBFBD> 뱶紐<EBB1B6> 援ъ“ 異붿륫 湲덉<E6B9B2> <EB8D89> . <20> 븘<EFBFBD> 슂 <20> 떆 <20> 깒<EFBFBD> 뱶諛뺤뒪濡<EB92AA> <20> 몢 媛<> 吏<EFBFBD> 援ъ“(Flat, Nested) 紐⑤몢 紐⑦궧<E291A6> 븯<EFBFBD> 뿬 吏곸젒 <20> 뙆<EFBFBD> 떛 <20> 솗<EFBFBD> 씤.
### [2026-04-10] [Extension] Fast Execution ` <5s` Response Capture Missed (IDLE-to-IDLE)
- **利앹긽**: <20> 뵒<EFBFBD> 뒪肄붾뱶濡<EBB1B6> <20> 궡<EFBFBD> 슜<EFBFBD> 씠 <20> 븘<EFBFBD> 삁 <20> 쟾<EFBFBD> 떖<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬. ` [RT-CAPTURE]`, ` [RESPONSE-CAPTURE]` 濡쒓렇 紐⑤몢 <20> 쟾<EFBFBD> <EC9FBE> <EFBFBD> <20> 궓吏<EAB693> <20> 븡<EFBFBD> 쓬.
- **<2A> 썝<EFBFBD> 씤**: AI <20> 쓳<EFBFBD> 떟<EFBFBD> 씠<EFBFBD> 굹 肄붾뵫 <20> 옉<EFBFBD> 뾽<EFBFBD> 씠 5珥<35> (<28> 뤃留<EBA483> 二쇨린) 誘몃쭔<EBAA83> 쑝濡<EC919D> 留ㅼ슦 鍮좊Ⅴ 寃<E285A4> <20> 걹<EFBFBD> 굹硫<EAB5B9> , <20> 솗<EFBFBD> 옣<EFBFBD> 씠 ` IDLE -> IDLE` <20> 긽<EFBFBD> 깭留<EAB9AD> 愿<> 李고븯硫<EBB8AF> ` wasRunning` <20> 뵆<EFBFBD> 옒洹멸<E6B4B9> <EBA9B8> ` false`濡<> <20> 쑀吏<EC9180> <EFA79E> 맖. 湲곗〈 ` [RESPONSE-CAPTURE]` 議곌굔<EAB38C> 떇(` wasRunning && !isRunning && currentCount > ...`)<29> 씠 ` wasRunning=false`濡<> <20> 씤<EFBFBD> 빐 釉붾줉<EBB6BE> 릺<EFBFBD> 뼱 罹≪쿂 <20> 옄泥대<EFA7A3> <EB8C80> <20> 셿<EFBFBD> 쟾<EFBFBD> 엳 嫄대꼫<EB8C80> 쎇寃<EC8E87> <20> 맖.
- **<2A> 빐寃<EBB990> **: ` wasRunning` 寃<> 利앹쓣 <20> 궘<EFBFBD> 젣<EFBFBD> 븯怨<EBB8AF> ` !isRunning && currentCount > lastResponseCaptureStep` 議곌굔<EAB38C> 쑝濡<EC919D> <20> 셿<EFBFBD> 솕<EFBFBD> 븯<EFBFBD> 뿬 <20> 늻<EFBFBD> 씫<EFBFBD> 맂 step<65> 씠 <20> 엳<EFBFBD> 쓣 <20> 븣 臾댁“嫄<E2809C> 罹≪쿂<E289AA> 븯<EFBFBD> 룄濡<EBA384> 蹂<> 寃<EFBFBD> . 異붽<E795B0> <EBB6BD> 濡<EFBFBD> <20> 삤<EFBFBD> 옒<EFBFBD> 맂 ` [RESPONSE-CAPTURE]` <20> 궡 <20> 븯<EFBFBD> 뱶肄붾뵫 <20> 뙆<EFBFBD> 꽌瑜<EABD8C> ` extractPlannerText`濡<> <20> 씪<EFBFBD> 썝<EFBFBD> 솕 <20> 쟻<EFBFBD> 슜.
- **二쇱쓽**: <20> 뤃留<EBA483> 諛⑹떇<E291B9> 뿉<EFBFBD> 꽌<EFBFBD> 뒗 <20> 긽<EFBFBD> 깭(RUNNING->IDLE) <20> 쟾<EFBFBD> 씠瑜<EC94A0> <20> 솗<EFBFBD> 떊<EFBFBD> 븷 <20> 닔 <20> 뾾<EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> , Step Count(<28> 씤<EFBFBD> 뜳<EFBFBD> 뒪 <20> 쟾吏<EC9FBE> )<29> 씪<EFBFBD> 뒗 100% <20> 떊猶<EB968A> 媛<> <E5AA9B> 뒫<EFBFBD> 븳 留덉빱瑜<EBB9B1> <20> 넻<EFBFBD> 빐 <20> 깉 <20> 쓳<EFBFBD> 떟 <20> 뿬遺<EBBFAC> 瑜<EFBFBD> 媛먯<E5AA9B> <EBA8AF> <EFBFBD> 빐<EFBFBD> 빞 <20> 븿.
### [2026-04-10] [Bot] chat_snapshot_scanner 臾댄븳 Abort 諛<> <20> 뙆<EFBFBD> 씪 <20> 쟻泥<EC9FBB> (Exception <20> 늻<EFBFBD> 씫)
- **利앹긽**: 遊뉗씠 <20> 뵒<EFBFBD> 뒪肄붾뱶濡<EBB1B6> AI <20> 떟蹂<EB969F> (梨꾪똿 <20> 뒪<EFBFBD> 깄<EFBFBD> 꺑)<29> 쓣 <20> 쟾<EFBFBD> <EC9FBE> <EFBFBD> <20> 쟾<EFBFBD> 넚<EFBFBD> 븯吏<EBB8AF> 紐삵븯怨<EBB8AF> <20> 젆<EFBFBD> 씠 嫄몃┝. ridge/chat_snapshots/<2F> 뿉 泥섎━<EC848E> 릺吏<EBA6BA> <20> 븡<EFBFBD> <EBB8A1> <EFBFBD> JSON <20> 뙆<EFBFBD> 씪<EFBFBD> 씠 <20> 닔<EFBFBD> 떗 媛<> <20> 쟻泥대맖.
- **<2A> 썝<EFBFBD> 씤**: ot.py<70> 쓽 chat_snapshot_scanner<65> 뿉<EFBFBD> 꽌 <20> 뙆<EFBFBD> 씪<EFBFBD> 쓣 <20> 닚<EFBFBD> 쉶 <20> 뙆<EFBFBD> 떛<EFBFBD> 븷 <20> 븣 <20> 궡遺<EAB6A1> <E981BA> 쓽 .unlink() 怨쇱젙<EC87B1> 뿉<EFBFBD> 꽌 諛쒖깮<EC9296> 븯<EFBFBD> 뒗 <20> 삁<EFBFBD> 쇅<EFBFBD> 굹 discord.Embed <20> 깮<EFBFBD> 꽦 <20> 삁<EFBFBD> 쇅 <20> 벑<EFBFBD> 쓣 猷⑦봽 <20> 븞<EFBFBD> 뿉<EFBFBD> 꽌 <20> 옟<EFBFBD> 븘二쇱<E4BA8C> <EC87B1> 紐삵븿. 泥<> <20> 뿉<EFBFBD> 윭 <20> 뙆<EFBFBD> 씪(poison pill)<29> 쓣 留뚮굹<EB9AAE> 뒗 <20> 닚媛<EB8B9A> 猷⑦봽 <20> 쟾泥닿<EFA7A3> <EB8BBF> <20> 룺<EFBFBD> 뙆<EFBFBD> 릺<EFBFBD> 뼱 <20> 뮘履쎌쓽 <20> 젙<EFBFBD> 긽 <20> 뙆<EFBFBD> 씪<EFBFBD> 뱾<EFBFBD> 룄 <20> 쁺<EFBFBD> 썝<EFBFBD> 엳 泥섎━<EC848E> 릺吏<EBA6BA> <20> 븡怨<EBB8A1> <20> 떎<EFBFBD> 쓬 <20> 뤃 <20> 뒪耳<EB92AA> 以꾩뿉<EABEA9> 꽌 <20> 떎<EFBFBD> 떆 泥<> <20> 뙆<EFBFBD> 씪<EFBFBD> 뿉 留됲옒.
- **<2A> 빐寃<EBB990> **: 猷⑦봽 <20> 궡遺<EAB6A1> <E981BA> 뿉 except Exception<6F> 쓣 異붽<E795B0> <EBB6BD> <EFBFBD> 븯<EFBFBD> 뿬 <20> 쟾<EFBFBD> 뿭 <20> 삁<EFBFBD> 쇅瑜<EC8785> <20> 옟<EFBFBD> 븘 諛⑹뼱. <20> 떎<EFBFBD> 뙣<EFBFBD> 븳 <20> 뙆<EFBFBD> 씪<EFBFBD> <EC94AA> <EFBFBD> glob<6F> 뿉<EFBFBD> 꽌 諛섎났 <20> 떆<EFBFBD> 룄<EFBFBD> 릺吏<EBA6BA> <20> 븡寃<EBB8A1> .json.failed濡<64> <20> 슦<EFBFBD> 쉶(rename)<29> 떆耳<EB9686> <20> 걧瑜<EAB1A7> 鍮꾩썙以<EC8D99> .
- **二쇱쓽**: <20> 뤃留<EBA483> /<2F> 뒪罹먮꼫 or 猷⑦봽 <20> 궡遺<EAB6A1> <E981BA> 뿉<EFBFBD> 꽌<EFBFBD> 뒗 媛쒕퀎 <20> 븘<EFBFBD> 씠<EFBFBD> 뀥 <20> 뙆<EFBFBD> 떛 <20> 떒怨꾩뿉<EABEA9> 꽌 諛쒖깮 媛<> <E5AA9B> 뒫<EFBFBD> 븳 紐⑤뱺 <20> 삁<EFBFBD> 쇅 <20> 긽<EFBFBD> 깭<EFBFBD> 뿉 <20> <> <EFBFBD> <EFBFBD> 븳 Defensive Catch 諛<> Continue(<28> 슦<EFBFBD> 쉶) 濡쒖쭅<EC9296> 씠 <20> 븘<EFBFBD> 닔<EFBFBD> 엫.
### [2026-04-10] [Extension] GetAllCascadeTrajectories 10-Item Hard Limit Bypass (Signal Drop)
- **증상**: 기존에 작성했던 { limit: 30 } 파라미터가 LS 백엔드에서 무시되어 최신 세션이 10개 제한에 걸려 잘려나감. (Discord로 메시지 단 한 글자도 안 넘어옴).
- **원인**: GetAllCascadeTrajectories는 구조적으로 pagination 옵션을 무시하거나 강제 10 제한이 걸림.
- **해결**: step-probe.ts에서 기본 GetAllCascadeTrajectories와 더불어 모든 트래젝토리를 덤프하는 GetDiagnostics API를 병행 호출하고 머지하여 최신 Session ID를 놓치지 않고 추출하게 함.
- **주의**: LS Backend에서 정의한 RPC의 한계상 Argument 조작으로 제한을 회피할 수 없으므로, 향후 GetDiagnostics 등 백도어 데이터를 활용할 것.
### [2026-04-10] [Probe Logging] <20> <> <EFBFBD> AI<41> 쓳<EFBFBD> 떟 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 & WAITING <20> 뒪<EFBFBD> 뀦 <20> 룞<EFBFBD> 떆 <20> 늻<EFBFBD> 씫 踰꾧렇
- **利앹긽**: 援됱옣<EB90B1> 엳 鍮좊Ⅸ AI <20> 쓳<EFBFBD> 떟(<28> 삉<EFBFBD> 뒗 利됯컖<EB90AF> 쟻<EFBFBD> 씤 <20> 댋 <20> 샇異<EC8387> ) <20> 떆 ` step-probe.ts`媛<> 硫붿떆吏<EB9686> <EFA79E> <EFBFBD> <EFBFBD> <20> 듅<EFBFBD> 씤 <20> 떎<EFBFBD> 씠<EFBFBD> 뼹濡쒓렇瑜<EBA087> 紐⑤몢 Discord濡<64> 由대젅<EB8C80> 씠<EFBFBD> 븯吏<EBB8AF> 紐삵븿.
- **<2A> 썝<EFBFBD> 씤**: <20> 떎<EFBFBD> 떆媛<EB9686> <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 罹≪쿂(` delta > 0`) 議곌굔<EAB38C> 뿉 ` isRunning &&`<60> 씠 嫄몃젮<EBAA83> 엳<EFBFBD> 뼱, <20> 긽<EFBFBD> 깭媛<EAB9AD> ` WAITING`<60> 씠<EFBFBD> 굹 ` IDLE`濡<> 利됱떆 <20> 꽆<EFBFBD> 뼱媛<EBBCB1> 硫<EFBFBD> <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃瑜<EB9383> 罹≪쿂<E289AA> 븯<EFBFBD> 뒗 猷⑦떞<E291A6> 씠 <20> 쟾遺<EC9FBE> <20> 뒪<EFBFBD> 궢<EFBFBD> 맖. <20> 삉<EFBFBD> 븳 <20> 씠 <20> 닚媛<EB8B9A> ` isStall` 議곌굔<EAB38C> 룄 <20> <> <EFBFBD> 吏<EFBFBD> <20> 븡<EFBFBD> 븘 ` WAITING` <20> 뵒<EFBFBD> 뀓<EFBFBD> 뀡<EFBFBD> 룄 利앸컻<EC95B8> 븿.
- **<2A> 빐寃<EBB990> **: <20> 떎<EFBFBD> 떆媛<EB9686> 罹≪쿂 濡쒖쭅<EC9296> 뿉<EFBFBD> 꽌 ` isRunning &&` 議곌굔<EAB38C> 쓣 <20> 젣嫄고븯怨<EBB8AF> , ` delta > 0`<60> 씪 <20> 븣 異붽<E795B0> <EBB6BD> <EFBFBD> 맂 理쒖떊 <20> 뒪<EFBFBD> 뀦<EFBFBD> 쓣 <20> 뒪罹뷀븯硫댁꽌 ` PLANNER_RESPONSE`<60> <> <EFBFBD> ` WAITING` <20> 뒪<EFBFBD> 뀦<EFBFBD> 쓣 紐⑤몢 泥섎━<EC848E> 븯<EFBFBD> 룄濡<EBA384> <20> 닔<EFBFBD> 젙<EFBFBD> 븿.
- **二쇱쓽**: LS Backend 10媛<30> Session <20> 젣<EFBFBD> 븳 踰꾧렇媛<EBA087> <20> 엳<EFBFBD> 뼱, <20> 떎瑜<EB968E> 李쎌뿉<EC8E8C> 꽌 <20> 닔<EFBFBD> 룞 梨꾪똿(` 1fbca84c`)<29> 씠 IDLE濡<45> <20> 궓<EFBFBD> 븘<EFBFBD> 엳<EFBFBD> 쑝硫<EC919D> <20> 옄<EFBFBD> 룞<EFBFBD> 솕 <20> 뿉<EFBFBD> 씠<EFBFBD> 쟾<EFBFBD> 듃<EFBFBD> 쓽 <20> 썙<EFBFBD> 겕<EFBFBD> 뒪<EFBFBD> 럹<EFBFBD> 씠<EFBFBD> 뒪 <20> 꽭<EFBFBD> 뀡怨<EB80A1> <20> 뿷媛덈┫ <20> 닔 <20> 엳<EFBFBD> 쑝<EFBFBD> 굹, <20> 씠 踰꾧렇<EABEA7> 뒗 polling <20> <> <EFBFBD> <EFBFBD> 씠諛<EC94A0> 臾몄젣<EBAA84> <ECA0A3> <EFBFBD> <EFBFBD> 쓬.
### [2026-04-10] [Extension] AI Response Missing for New Sessions (Session Tracking Failure)
- **利앹긽**: <20> 깉濡쒖슫 <20> <> <EFBFBD> <EFBFBD> 솕(Session) <20> 떆<EFBFBD> 옉 <20> 떆 泥<> AI <20> 쓳<EFBFBD> 떟 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃媛<EB9383> <20> 뵒<EFBFBD> 뒪肄붾뱶<EBB6BE> 뿉 <20> 쟾<EFBFBD> <EC9FBE> <EFBFBD> <20> 쟾<EFBFBD> 넚<EFBFBD> 릺吏<EBA6BA> <20> 븡<EFBFBD> 뒗 <20> 쁽<EFBFBD> 긽.
- **<2A> 썝<EFBFBD> 씤**: 諛깆뿏<EAB986> 뱶<EFBFBD> 쓽 ` GetAllCascadeTrajectories`媛<> 10媛<30> <20> 꽭<EFBFBD> 뀡留<EB80A1> 諛섑솚<EC8491> 븯<EFBFBD> 뿬 <20> 깉 <20> 꽭<EFBFBD> 뀡<EFBFBD> 씠 <20> 늻<EFBFBD> 씫<EFBFBD> 맖. <20> 씠瑜<EC94A0> 蹂댁셿<EB8C81> 븯湲<EBB8AF> <20> 쐞<EFBFBD> 빐 ` brain/` <20> 뵒<EFBFBD> 젆<EFBFBD> 넗由щ<E794B1> <D189> <20> 뒪罹뷀븯<EBB780> 뒗 Fallback 濡쒖쭅<EC9296> 씠 <20> 룞<EFBFBD> 옉<EFBFBD> 뻽<EFBFBD> 쑝<EFBFBD> 굹, <20> 떊洹<EB968A> <20> 꽭<EFBFBD> 뀡<EFBFBD> 쓽 泥<> <20> 떒怨꾩뿉<EABEA9> 꽌 ` GetCascadeTrajectorySteps`(stepOffset: 0) <20> 샇異<EC8387> <20> 떆 <20> 궡遺<EAB6A1> <20> 쓳<EFBFBD> 떟(UTF-8 <20> 뙆<EFBFBD> 떛 <20> 벑) <20> 뿉<EFBFBD> 윭濡<EC9CAD> <20> 씤<EFBFBD> 빐 Exception<6F> 씠 諛쒖깮, ` trajectorySummaries`<60> 뿉 <20> 꽭<EFBFBD> 뀡<EFBFBD> 씠 <20> 븘<EFBFBD> 삁 <20> 벑濡앸릺吏<EBA6BA> <20> 븡<EFBFBD> 쓬. <20> 꽭<EFBFBD> 뀡<EFBFBD> 씠 異붿쟻<EBB6BF> 릺吏<EBA6BA> <20> 븡<EFBFBD> 쑝<EFBFBD> 땲 ` delta > 0` 湲곕컲<EAB395> 쓽 <20> 쓳<EFBFBD> 떟 罹≪쿂媛<ECBF82> 諛쒖깮<EC9296> 븯吏<EBB8AF> <20> 븡<EFBFBD> 쓬.
- **<2A> 빐寃<EBB990> **: ` step-probe.ts`<60> 쓽 Fallback 2 ` catch` 釉붾줉<EBB6BE> 뿉<EFBFBD> 꽌 <20> 뿉<EFBFBD> 윭媛<EC9CAD> 諛쒖깮<EC9296> 븯<EFBFBD> 뜑<EFBFBD> 씪<EFBFBD> 룄 媛뺤젣濡<ECA0A3> ` stepCount: 1`濡<> <20> 꽭<EFBFBD> 뀡<EFBFBD> 쓣 <20> 벑濡앺븯<EC95BA> 룄濡<EBA384> <20> 뙣移섑븯<EC8491> 뿬 <20> 꽭<EFBFBD> 뀡 <20> 씤<EFBFBD> 떇 <20> 쑀<EFBFBD> 떎 諛⑹<E8AB9B> <E291B9> .
- **二쇱쓽**: API <20> 샇異<EC8387> <20> 떎<EFBFBD> 뙣瑜<EB99A3> 議곗슜<EAB397> 엳 ` catch`濡<> <20> 꽆湲곕㈃ <20> 쟾泥<EC9FBE> <20> 뙆<EFBFBD> 씠<EFBFBD> 봽<EFBFBD> 씪<EFBFBD> 씤(<28> 뿬湲곗꽌<EAB397> 뒗 <20> 긽<EFBFBD> 깭 <20> 뤃留<EBA483> )<29> 씠 <20> 빐<EFBFBD> 떦 <20> 뜲<EFBFBD> 씠<EFBFBD> 꽣瑜<EABDA3> <20> 쁺<EFBFBD> 썝<EFBFBD> 엳 臾댁떆<EB8C81> 븯寃<EBB8AF> <20> 릺<EFBFBD> 뒗 移섎챸<EC848E> 쟻 踰꾧렇媛<EBA087> 諛쒖깮<EC9296> 븿. <20> 옣<EFBFBD> 븷 <20> 뿀<EFBFBD> 슜 <20> 꽕怨<EABD95> <20> 떆 湲곕낯媛<EB82AF> 蹂듭썝(Fallback State) <20> 꽕<EFBFBD> 젙 <20> 븘<EFBFBD> 닔.
### [2026-04-10] [Extension] Trigger-Click False Positives & Button Matching Failure
- **利앹긽**: <20> 뵒<EFBFBD> 뒪肄붾뱶<EBB6BE> 뿉<EFBFBD> 꽌 <20> 듅<EFBFBD> 씤(Approve)<29> 쓣 <20> 늻瑜대㈃, <20> 뿉<EFBFBD> 씠<EFBFBD> 쟾<EFBFBD> 듃 <20> 솗<EFBFBD> 옣 <20> 봽濡쒓렇<EC9293> 옩<EFBFBD> 씠 <20> 븣留욎<EFA78D> <EC9A8E> 踰꾪듉(<28> 삁: ` Always run`)<29> 쓣 <20> 늻瑜댁<E7919C> <EB8C81> 紐삵븯嫄곕굹, <20> 뿁<EFBFBD> 슧<EFBFBD> 븳 踰꾪듉(<28> 삁: <20> 긽<EFBFBD> 떒<EFBFBD> 쓽 ` Running1 command`)<29> 쓣 <20> 닃<EFBFBD> 윭踰꾨젮 <20> 떎<EFBFBD> 젣 <20> 듅<EFBFBD> 씤 泥섎━媛<E29481> <20> 늻<EFBFBD> 씫<EFBFBD> 릺<EFBFBD> 뒗 <20> 쁽<EFBFBD> 긽.
- **<2A> 썝<EFBFBD> 씤**: 1) UI 踰꾪듉 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃<EFBFBD> 뿉 ` keyboard_arrow_up` <20> 벑 癒명떚由ъ뼹 <20> 븘<EFBFBD> 씠肄<EC94A0> <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃媛<EB9383> <20> 젒李<ECA092> (` Always runkeyboard_arrow_up`)<29> 릺<EFBFBD> 뼱 <20> 젙洹쒖떇<EC9296> 씠 <20> 떎<EFBFBD> 뙣<EFBFBD> 븷 寃껋쓣 <20> 슦<EFBFBD> 젮<EFBFBD> 빐 <20> 떒<EFBFBD> 뼱 寃쎄퀎(` \b`)瑜<> <20> 젣嫄고븳 <20> 뙣移섍<E7A7BB> <EC848D> <20> 썝<EFBFBD> 씤. <20> 떒<EFBFBD> 뼱 寃쎄퀎媛<ED808E> <20> 궗<EFBFBD> 씪吏<EC94AA> 硫댁꽌 ` /Run/i` <20> 뙣<EFBFBD> 꽩<EFBFBD> 씠 ` Running1 command` 媛숈<E5AA9B> <EC8888> <20> 떎瑜<EB968E> <20> 긽<EFBFBD> 깭 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 踰꾪듉<EABEAA> 뿉 <20> 삤<EFBFBD> 깘(False Positive)<29> 맖. 2) DOM <20> 닚<EFBFBD> 꽌<EFBFBD> 긽 <20> 긽<EFBFBD> 깭 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃 踰꾪듉<EABEAA> 씠 <20> 븵<EFBFBD> 꽌 <20> 엳<EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> <20> 삤<EFBFBD> 깘<EFBFBD> 맂 踰꾪듉<EABEAA> 씠 <20> 슦<EFBFBD> 꽑 <20> 겢由<EAB2A2> <E794B1> 맖.
- **<2A> 빐寃<EBB990> **: ` trigger-click` 濡쒖쭅 <20> 떎<EFBFBD> 뻾 <20> 쟾 踰꾪듉<EABEAA> 쓽 ` textContent`<60> 뿉<EFBFBD> 꽌 ` keyboard_arrow_up` <20> 벑 <20> 븣<EFBFBD> 젮吏<ECA0AE> 瑗щ━ <20> 븘<EFBFBD> 씠肄<EC94A0> 臾몄옄<EBAA84> 뿴<EFBFBD> 쓣 紐낆떆<EB8286> 쟻<EFBFBD> 쑝濡<EC919D> <20> 젣嫄<ECA0A3> (strip)<29> 븯怨<EBB8AF> , 紐⑤뱺 <20> 듃由ш굅 <20> 젙洹쒖떇<EC9296> 뿉 <20> 떎<EFBFBD> 떆 <20> 떒<EFBFBD> 뼱 寃쎄퀎(` \b`)瑜<> 媛뺤젣 <20> 궫<EFBFBD> 엯<EFBFBD> 븯<EFBFBD> 뿬 <20> 삤<EFBFBD> 깘<EFBFBD> 쓣 <20> 썝泥<EC8D9D> 李⑤떒<E291A4> 븿.
- **二쇱쓽**: UI <20> 슂<EFBFBD> 냼瑜<EB83BC> DOM<4F> 뿉<EFBFBD> 꽌 湲곸뼱<EAB3B8> 삱 <20> 븣<EFBFBD> 뒗 <20> 뀓<EFBFBD> 뒪<EFBFBD> 듃<EFBFBD> 뿉 <20> 닲寃⑥쭊 <20> 븘<EFBFBD> 씠肄<EC94A0> /<2F> 쎒<EFBFBD> 룿<EFBFBD> 듃 由ш굅爾<EAB585> (ligatures)媛<> <20> 뾾<EFBFBD> 뒗吏<EB9297> 寃<> <E5AF83> 넗<EFBFBD> 빐<EFBFBD> 빞 <20> 븿. <20> 뙣<EFBFBD> 꽩 留ㅼ묶 <20> 떆 瑗щ━<D189> 몴瑜<EBAAB4> 癒쇱<E79992> <EC87B1> <20> 젣嫄고븯怨<EBB8AF> 紐낇솗<EB8287> 븳 寃쎄퀎瑜<ED808E> 遺<> <E981BA> 뿬<EFBFBD> 븷 寃<> .
### [2026-04-10] [Extension] Ghost Session Hijack & Infinite Polling Loop (trajectory not found)
- **利앹긽 ** : <20> 떊洹<EB968A> <20> 옉<EFBFBD> 뾽 <20> 떆 '<27> 떊<EFBFBD> 샇<EFBFBD> 븞<EFBFBD> 뱾<EFBFBD> 뼱<EFBFBD> <EBBCB1> <EFBFBD> ' (Discord濡<64> 由대젅<EB8C80> 씠 <20> 븞 <20> 맖). 濡쒓렇<EC9293> 뿉 500 error trajectory not found 臾댄븳 諛섎났.\n- * * <EFBFBD> 썝<EFBFBD> 씤**: Antigravity媛<79> <20> 옉<EFBFBD> 뾽<EFBFBD> 븯硫댁꽌 brain/<2F> 뿉 36湲<36> <E6B9B2> 옄 <20> 뤃<EFBFBD> 뜑瑜<EB9C91> <20> 깮<EFBFBD> 꽦<EFBFBD> 븯<EFBFBD> 뒗<EFBFBD> 뜲, Cascade媛<65> <20> 븘<EFBFBD> 땲誘<EB95B2> 濡<EFBFBD> GetCascadeTrajectorySteps<70> 뿉<EFBFBD> 꽌 500 <20> 뿉<EFBFBD> 윭瑜<EC9CAD> <20> 깄<EFBFBD> 땲<EFBFBD> 떎. <20> 븯吏<EBB8AF> 留<EFBFBD> <20> 씠<EFBFBD> 쟾 <20> 떊洹<EB968A> <20> 꽭<EFBFBD> 뀡 <20> 쑀<EFBFBD> 떎 諛⑹<E8AB9B> <E291B9> <20> 뙣移섍<E7A7BB> <EC848D> <20> 씠 Ghost <20> 꽭<EFBFBD> 뀡<EFBFBD> 쓣 RUNNING<4E> 쑝濡<EC919D> 媛뺤젣 <20> 벑濡앺븯硫댁꽌, <20> 솢<EFBFBD> 꽦 <20> 꽭<EFBFBD> 뀡(activeSessionId)<29> 쓣 <20> 깉痍⑦븯怨<EBB8AF> 臾댄븳 <20> 뿉<EFBFBD> 윭 猷⑦봽<E291A6> 뿉 鍮좎<E98DAE> <ECA28E> 寃<EFBFBD> 留뚮뱾<EB9AAE> 뿀<EFBFBD> 뒿<EFBFBD> 땲<EFBFBD> 떎.\n- * * <EFBFBD> 빐寃<EFBFBD> **: step-probe.ts<74> 뿉<EFBFBD> 꽌 <20> 뤃諛<EBA483> <20> 벑濡<EBB291> <20> 떆 error message<67> 뿉 'trajectory not found'媛<> <20> 룷<EFBFBD> 븿<EFBFBD> 릺硫<EBA6BA> Ghost <20> 꽭<EFBFBD> 뀡<EFBFBD> 쑝濡<EC919D> 媛꾩< <EABEA9> 빐 媛뺤젣 <20> 벑濡<EBB291> (continue)<29> 쓣 嫄대꼫<EB8C80> 쎇寃<EC8E87> <20> 븯怨<EBB8AF> , Stall Probe <20> 뿉<EFBFBD> 윭 catch<63> 뿉<EFBFBD> 꽌<EFBFBD> 룄 UTF-8 <20> 뿉<EFBFBD> 윭媛<EC9CAD> <20> 븘<EFBFBD> 땲硫<EB95B2> stallProbed=true瑜<65> 二쇱뼱 <20> 옱<EFBFBD> 떆<EFBFBD> 룄 臾댄븳 猷⑦봽瑜<EBB4BD> <20> 셿<EFBFBD> 쟾<EFBFBD> 엳 <20> 걡<EFBFBD> 뼱<EFBFBD> 깉<EFBFBD> 뒿<EFBFBD> 땲<EFBFBD> 떎.\n- **二쇱쓽 ** : uuid 湲몄씠(36<33> 옄)留뚯쑝濡<EC919D> <20> 뵒<EFBFBD> 젆<EFBFBD> 넗由щ<E794B1> <D189> <20> 떇蹂꾪븷 <20> 븣 Antigravity<74> <79> <EFBFBD> Google Agent媛<74> 紐⑦샇<E291A6> 빐吏<EBB990> <20> 닔 <20> 엳<EFBFBD> 쑝誘<EC919D> 濡<EFBFBD> , 諛섎뱶<EC848E> 떆 Backend <20> 쓳<EFBFBD> 떟<EFBFBD> 쓽 <20> 솗<EFBFBD> 떎<EFBFBD> 븳 <20> 뿉<EFBFBD> 윭(trajectory not found) 硫붿떆吏<EB9686> 濡<EFBFBD> <20> 삁<EFBFBD> 쇅 <20> 뙋蹂꾩쓣 <20> 빐<EFBFBD> 빞 <20> 빀<EFBFBD> 땲<EFBFBD> 떎.\n