v2.2.292-296: 메모리·발열 최적화 + Pixel Office 완전 제거 + 소형 모델 추론 강화(calculate/run_code/지식 스코프)
- v2.2.292 메모리·발열: 헬스체크 워크스페이스 쓰기→fs.access(워처 연쇄 제거)·git 검사 비동기 30분 주기, 웹뷰 retainContextWhenHidden 정리(채팅만 유지), 브레인 인덱스 유휴 30분 TTL 해제, 채팅 DOM 200개 상한, @lmstudio/sdk 지연 로드 - v2.2.293 Pixel Office 시각화 폐기: astraOffice 모듈·사이드바 매니저 3종·스프라이트 17MB 삭제, sidebarProvider collector 섹션 통삭제 (기업 모드 판단 로직 무변경, vsix 12.2MB→1.3MB) - v2.2.294 도구 메뉴 'NotebookLM 백엔드 실행/종료' 버튼: OS 자동 감지, 프로젝트 자동 탐색+폴더 선택 저장, 포트 정리 폴백 (터미널 없이 Research 백엔드 켜고 끄기) - v2.2.295 추론 강화 1탄: [ACTION 16] <calculate> Python 계산 위임(결과 재주입·자가수정 루프), 단계별 지식 스코프(General+Specialty, 결정적 도메인 분류, 설정 지식·기억 탭 UI) - v2.2.296 추론 강화 2탄: [ACTION 17] <run_code> 실행 확인(stdout 회수→수정→재실행 루프), 문법 오류 재주입 자가수정, 도구 라우팅 힌트(dynamicBlocks), Grounding rescue 도메인 스코프 확장 - 검증: jest 818 통과(신규 29개), tsc 무오류, esbuild 정상 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,54 @@
|
||||
# Astra Patch Notes
|
||||
|
||||
## v2.2.296 (2026-07-05)
|
||||
### 🧠 소형 모델 추론 강화 2탄 — 코딩 실행 루프 + 도구 라우팅 + 근거 재검색
|
||||
로드맵 2·3·4번 완결. 1탄(calculate·지식 스코프)과 합쳐 "모델은 판단만, 계산·실행·기억은 바깥에서" 아키텍처가 완성됐다.
|
||||
- **[ACTION 17] `<run_code>` 실행 확인**: 워크스페이스 안의 .py/.js/.mjs/.cjs 파일을 인터프리터로 직접 실행하고 stdout/stderr/종료코드를 대화 컨텍스트로 재주입. run_command 와 달리 출력이 회수되므로 "생성→실행→에러 확인→수정" 루프가 모델 주도로 성립. 샌드박스(validatePath)·15초 타임아웃·회당 2회·출력 4천자 상한.
|
||||
- **문법 오류 자가수정 루프**: Self-Reflector Phase C(실행 검증)의 문법 오류를 보고로 끝내지 않고 internal system 메시지로 재주입 → 자동 후속 턴에서 모델이 <edit_file> 로 즉시 수정 → 다음 라운드 재검증 (maxAutoSteps 한도로 무한 루프 차단). ※ `selfReflector.executionVerification` 설정이 켜져 있어야 동작.
|
||||
- **도구 라우팅 힌트**: 도메인 분류(1탄의 휴리스틱) 결과가 그 턴의 행동을 직접 지시 — 수학→<calculate> 위임, 코딩→<run_code> 실행 확인, 팩트→근거 없으면 '확인 불가'/<fetch_url>. dynamicBlocks 보호 구역에 주입되어 컨텍스트 truncation 에서도 살아남는다. 분류 1회로 지식 스코프+도구 유도 동시 결정.
|
||||
- **근거 재검색 확장**: 기존 Grounding rescue(근거 약함 → 전체 두뇌 재검색)가 에이전트 스코프에만 적용되던 것을 도메인 지식 스코프에도 확장 — Specialty 폴더가 정답 문서를 가리는 경우 같은 방식으로 구제.
|
||||
검증: tsc 무오류 + jest 818 통과(신규 runCode 7개 + 라우팅 힌트 4개) + esbuild 정상.
|
||||
|
||||
## v2.2.295 (2026-07-05)
|
||||
### 🧠 소형 모델 추론 강화 1탄 — <calculate> 계산 위임 + 단계별 지식 스코프
|
||||
"작은 모델은 판단만, 계산·기억은 바깥에서" 전략의 첫 구현. 모델은 그대로 두고 외부 레이어만 강화한다.
|
||||
- **[ACTION 16] `<calculate>` 계산 위임**: 수치·수학 계산을 모델이 암산하지 않고 Python(`-I` isolated, 10초 타임아웃)에 위임. stdout/stderr 이 internal system 메시지로 재주입되어 자동 후속 턴에서 모델이 결과를 해석하고, 에러 시 코드를 고쳐 재시도하는 자가수정 루프가 성립(read_file 과 동일한 재주입 메커니즘). 시스템 프롬프트에 '암산 금지' 규칙 추가. 회당 4회·출력 4천자 상한.
|
||||
- **단계별 지식 스코프 (General + Specialty)**: 질문을 수학/코딩/팩트로 분류(LLM 호출 없는 결정적 휴리스틱 — 지연·비용 0)해, 해당 도메인의 Specialty 폴더 + 공통 General 폴더로 RAG 검색 범위를 축소. 4b 모델 컨텍스트에서 무관 청크를 배제하는 정밀도 최적화.
|
||||
- 설정 패널 '지식·기억' 탭에 단계별 폴더 4개(General/수학/코딩/팩트) UI 추가 (`g1nation.domainKnowledge.*`, 두뇌 상대 경로).
|
||||
- 안전 규칙: 분류 실패·Specialty 미설정 시 기존 전체 두뇌 검색으로 폴백(opt-in), 에이전트별 지식 매핑(agentKnowledgeMap)이 있으면 그쪽 우선(기존 제한을 느슨하게 만들지 않음), 두뇌 밖 경로(../) 차단.
|
||||
- 기존 scopedBrainRetriever/searchBrainFiles 의 scopeFolders 메커니즘 재사용 — 검색 엔진 무변경.
|
||||
검증: tsc 무오류 + jest 809 통과(신규 calculate 6개 + domainRouter 12개) + esbuild 정상.
|
||||
|
||||
## v2.2.294 (2026-07-05)
|
||||
### 🔘 도구 메뉴에 'NotebookLM 백엔드 실행/종료' 버튼 (터미널 불필요)
|
||||
Datacollector 의 Research(NotebookLM) 기능은 NAS 브리지로 처리 불가(로그인된 로컬 Chrome + PC 의 LM Studio 프록시 필요)라 로컬에서 `npm run bridge` 를 띄워야 했는데, 터미널 없이 사이드바 버튼으로 켜고 끌 수 있게 했다.
|
||||
- **도구 ▾ 메뉴**: 'NotebookLM 백엔드 실행' / 'NotebookLM 백엔드 종료' 버튼 추가.
|
||||
- **실행**: VS Code 통합 터미널("NotebookLM Bridge")에서 `npm run bridge` — 맥/윈도우 셸 차이를 VS Code 가 흡수하고, 브리지 로그(인증 만료 등)를 사용자가 그대로 볼 수 있다. 이미 실행 중이면(포트 3002 응답) 중복 실행 안 함.
|
||||
- **프로젝트 자동 탐색**: 설정(`g1nation.datacollectLocalProjectPath`) → 워크스페이스 → 부모의 Datacollector_MAC/Datacollector/Datacollect 순. 못 찾으면 폴더 선택 창 → 선택 즉시 설정에 저장(다음부턴 버튼만).
|
||||
- **종료**: 터미널 정리 + 포트 3002 점유 프로세스를 OS 자동 감지로 정리(윈도우 PowerShell Stop-Process / 맥·리눅스 lsof+kill) — 예전에 수동으로 띄워 남아 있던 프로세스까지 잡는다.
|
||||
- NAS 브리지·Astra 슬래시 명령에는 영향 없음(별개 경로). 새 핸들러는 registerSidebarHandler 체인에 독립 모듈로 합류.
|
||||
검증: tsc 무오류 + jest 791 통과(신규 bridgeLauncher 테스트 7개 포함) + esbuild 정상.
|
||||
|
||||
## v2.2.293 (2026-07-05)
|
||||
### 🗑️ Pixel Office 완전 제거 (시각화 폐기 — 기업 모드 로직은 무변경)
|
||||
v2.2.267 에서 채팅 배너를 제거한 데 이어, 시각화 기능 전체를 폐기하기로 결정(재도입 계획 없음).
|
||||
- **삭제**: `src/features/astraOffice/**`, 사이드바 매니저 3종(pixelOfficeState/Helpers/LayoutStore), `features/company/pixelOfficeState.ts`(UI 전용 변환층), `assets/pixelOffice/**`(스프라이트 17MB), `.astra-office-preview.html`, officeSchema 테스트.
|
||||
- **정리**: sidebarProvider 의 'Pixel Office collector' 섹션 통삭제(설계 주석의 "통째로 지워도 회사 모드 동일 동작" 불변식 그대로 활용), companyTurnEmitter 의 onPixelOffice 훅, chat/company 핸들러 케이스, `g1nation.company.pixelOffice.open` 커맨드, `company.pixelOffice.*` 설정 2종, webview 의 무시-케이스.
|
||||
- **기업 모드(1인 기업) 판단 로직은 어떤 것도 변경되지 않음** — 제거된 것은 전부 read-only UI 레이어.
|
||||
- 효과: 패키지 약 10MB 감량(12.2MB → 약 2MB대), 미사용 코드 ~1,000줄 제거.
|
||||
검증: tsc 무오류 + jest 784 통과(2 skip, 삭제된 기능 테스트 17개 제외) + esbuild 번들 정상.
|
||||
|
||||
## v2.2.292 (2026-07-05)
|
||||
### 🌡️ 메모리·발열 최적화 5종 (기능 변경 없음)
|
||||
유휴·장시간 사용 시의 CPU 깨우기와 메모리 상주를 줄이는 최적화. 동작·기능은 동일.
|
||||
- **헬스체크 워처 연쇄 제거**: 디스크 권한 검사를 워크스페이스 파일 쓰기/삭제 → `fs.access(W_OK)`로 교체. 10분마다 VS Code 본체·전체 확장의 파일 워처를 깨우던 연쇄가 사라짐.
|
||||
- **헬스체크 느린 검사 분리**: `git push --dry-run`(원격 네트워크)을 execSync(최대 5초 확장 호스트 블로킹) → 비동기 exec 로 전환하고, Antigravity 레지스트리 검사와 함께 30분 주기(3틱마다)로 완화. 결과는 캐시되어 경고 표시는 깜빡이지 않음.
|
||||
- **웹뷰 retainContextWhenHidden 정리**: 설정·승인·Pixel Office 패널에서 제거(숨김 시 렌더러 상주 해제, 각 수십 MB). 셋 다 재표시 시 상태 재구성 경로가 이미 있음(설정: 'ready'+getState, 승인: 백엔드 html 푸시). 채팅 패널만 대화 DOM 보존을 위해 유지.
|
||||
- **브레인 인덱스 유휴 해제**: 한 번 로드되면 세션 내내 상주하던 토큰·임베딩 인덱스를 마지막 사용 30분 후 dirty flush 하고 메모리에서 내림(mtime 디스크 캐시가 있어 재로드 저렴). 상시 타이머 없이 접근 시 재예약되는 one-shot unref 타이머.
|
||||
- **채팅 DOM 상한**: 사이드바 채팅 메시지 노드를 최근 200개로 제한(초과분은 오래된 것부터 제거 + 안내 문구). retain 웹뷰의 단조 메모리 증가 차단.
|
||||
- **@lmstudio/sdk 지연 로드**: 최상위 값 import → 타입 전용 import + `getSdk()` 첫 호출 시 require. LM Studio 미사용 세션에서는 SDK 모듈이 초기화되지 않음.
|
||||
검증: jest 801 통과(2 skip) + esbuild 번들 정상.
|
||||
|
||||
## v2.2.258 (2026-06-22)
|
||||
### 📝 `/meet` 회의록 — 화자 팀/역할 정규화 + 슬림 포맷 + 타임스탬프 근거
|
||||
실제 회의록 산출물(자이언츠 이머시브 커머스 데모 리뷰)을 녹취 원문과 대조한 피드백을 반영. *그 회의록 한 건을 고치는 게 아니라*, 앞으로 생성될 모든 회의록의 생성 파이프라인(프롬프트+코드+검증패스)을 개선.
|
||||
|
||||
Reference in New Issue
Block a user