Commit Graph

153 Commits

Author SHA1 Message Date
koriweb b03a49bfc3 feat(growth): 자기 지식 자동화 + 회귀 경보 + 충돌 스캔 + Critic 게이트 확장 (v2.2.225)
[근본 수정 — 자가검증 구식 정보 버그]
ASTRA 자기 지식이 사람이 쓴 스냅샷(selfIdentity 블록·아키텍처 위키 문서)에
의존해 릴리스마다 구식이 됐고, 자기 개선 제안에서 이미 있는 기능을 신규
제안하는 오류가 반복됨. 수정:
- featureInventory.ts: 활성화 시 package.json(contributes.commands/configuration)
  + POST_ANSWER_HOOKS 레지스트리에서 "ASTRA 기능 인벤토리" 문서를 두뇌에
  기계 생성 (버전 변경 시 자동 재생성 — 사람이 갱신을 잊을 수 없는 구조).
- selfIdentity: "자기 기능 평가·제안 전 인벤토리와 대조, 기억 의존 서술 금지" 규칙.

[검증-피드백-재설계 파이프라인 보강 — 의견 검토 후 역제안 3건]
- A-1 골든셋 회귀 경보: 주간 사이클이 metrics-history.jsonl 적립 + 직전 대비
  recall@1 -10%p 또는 MRR -0.08 하락 시 ⚠️ + 그 기간 추가된 문서를 용의자로
  제시(regression-alert.md). 자동 롤백 없음 — 판단은 사람.
- A-2 신규 지식 충돌 스캔(conflictScan.ts): 일일(사전 소화와 같은 슬롯) 신규/변경
  문서를 기존 유사 top-2와 LLM 모순 비교 → 충돌 시 conflict-report.md +
  "기존 A vs 신규 B" 알림. 쓰기 주체(Datacollect/수동/Research) 무관 포착.
  런당 비교 ≤5건·최초 실행 24h 한정 (폭주 방지).
- A-3 criticLoop 게이트 확장: 업무 turn 외에도 "근거 약함(top<0.25) + 단정
  표현(수치·날짜·확언)" 트리거 추가. 전 답변 강제 2-pass 는 기각 — intrinsic
  self-correction 은 외부 신호 없이 효과 없음(arXiv 2310.01798).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 11:44:58 +09:00
koriweb 7584c6bbc1 feat(growth): Sleep-time 지식 사전 소화 — 응답 지연을 유휴 시간으로 이동 (v2.2.224)
deep research(3표 검증) 1순위 적용: sleep-time compute (arXiv 2504.13171).
유휴 시간에 로컬 LLM이 두뇌의 raw context를 learned context로 미리 소화해,
응답 시점 RAG가 고밀도 소화 노트를 검색하게 한다 — 로컬 LLM의 최대 약점
(느린 추론)의 비용을 사용자 응대 시점에서 유휴 시간으로 구조적으로 이동.

- sleepDigest.ts: 매일 03:00 KST(설정 가능) 최근 7일 변경 파일이 많은 폴더
  순으로 소화 노트 생성 (<두뇌>/Digests/<슬러그>.md, 런당 ≤5건).
  노트 = 예상 질의 Q&A + 핵심 사실 + 문서 간 연결 (출처 제목 인용 강제,
  "원문에 없는 내용 지어내지 마라" — 환각 방지 동일 원칙).
- 노후화 자동 감지: 소스 mtime > generated_at 이면 재생성, 아니면 skip
  (steady-state 비용 0). 노트는 삭제해도 안전 (자동 재생성).
- 승인 게이트 불요 근거: 외부 지식 유입이 아니라 기존 두뇌의 재구성.
  원문 우선 원칙을 노트 머리에 명기.
- 수동 명령 "Astra: 지식 사전 소화 지금 실행" + sleepDigest.enabled/time 설정.
- 실 LLM(gemma-4-26b)+실 위키 3문서로 프롬프트 품질 검증 완료 (출처 인용·
  무환각 확인). 테스트 8건 추가.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 11:29:40 +09:00
koriweb 67927b1d4e feat(retrieval): 임베딩 하이브리드 검색 활성화 — 자동 감지 + 측정 기반 수정 (v2.2.222)
골든셋(24질의) 측정으로 기존 하이브리드 구현의 결함 3건을 잡고 기본 활성화.
측정 결과: recall@3 83.3%→87.5%, MRR 0.802→0.806, recall@1 회귀 없음 (α=0.5).

수정 (측정으로 검증):
- 임베딩 입력을 토큰 재조합(tokens.join)→원문 슬라이스로 교체 + nomic/e5
  task prefix (search_query:/search_document:). 토큰 죽 입력은 하이브리드를
  전 지표 하락시켰음 (recall@1 75%→54%). @r2 리비전 키로 구벡터 자동 무효화.
- 블렌드 스케일 버그: 벡터 있는 후보만 정규화돼 벡터 없는 후보의 raw 점수가
  상위 독식 → 전 후보 정규화 + cosine 후보군 내 min-max 정규화.
- 헤딩-only 청크도 헤딩 텍스트로 임베딩 (벡터 공백 제거).

추가:
- embeddingBootstrap: 활성화 시 엔진 모델 목록에서 임베딩 모델 자동 감지 →
  embeddingModel 자동 설정 + "전체 색인" 버튼 알림. 다국어 모델(e5/bge-m3) 우선.
  사용자가 의도적으로 비우면 재설정 안 함 (globalState 가드).
- 벡터 저장 시 소수 4자리 양자화 — 캐시 360MB→~150MB (코사인 순위 영향 없음).
- tests/retrievalEvalEmbedding.test.ts: env-gated 하이브리드 측정 하니스 (alpha sweep).
- scripts/compact_brain_index.mjs: 기존 full-precision 캐시 1회 압축 도구.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 19:02:56 +09:00
koriweb b72501fae5 feat(growth): 주간 성장 사이클 자동화 + 텔레그램 양방향 HITL (v2.2.220)
P4 — Self-Evolving OS 폐루프 자동화:
- growthCycleWatcher: 매주(기본 일 20:00 KST, 설정 가능) 자동으로
  ① 골든셋 검색 평가(recall/MRR 주간 추이) ② 학습 큐 갱신(Need Engine)
  ③ 지식 노후 점검 ④ 성장 리포트 ⑤ 승인(approved)된 학습 큐 항목을
  Research Agent 로 자동 실행(사이클당 최대 3건) ⑥ 요약 알림+텔레그램.
  승인 자체는 여전히 사람 — Permission Based Learning 유지, 자동화되는
  것은 '승인된 것의 실행'뿐. 결과물은 기존 수동 명령과 동일 위치
  (.astra/eval/, .astra/growth/) — 완전 호환. 수동 트리거 명령
  (growthCycle.runNow) 제공. 단계별 독립 try/catch.

P5 — 텔레그램 양방향 HITL:
- /meet confirm 코어를 출력 중립 processConfirmDecisions 로 추출
  (웹뷰·텔레그램 공용) — 핸들러는 위임 호출로 슬림화.
- 텔레그램 인바운드에 confirm/pending(보류) 분기 — 회사 밖에서
  "confirm 1=ok 2=6/20 3=skip" 회신으로 보류 액션 등록 완결.
- 데일리 브리핑에 보류 목록 + 회신 안내 포함 — 아침 브리핑에서
  바로 확정하는 흐름 완성.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 18:29:58 +09:00
koriweb 92c92da090 feat(onboarding): 두뇌 기본 위치 부트스트랩 — 성장 데이터 저장처 명시화 (v2.2.217)
두뇌 미설정 시 config 가 숨김 점폴더(~/.g1nation-brain)로 조용히 폴백해
성장 데이터(레슨·기억·지식)가 비개발자는 찾을 수 없는 곳에 쌓이거나 기능이
멈추던 문제 해결. 설치 컴퓨터마다 저장 위치가 결정적이고 발견 가능해진다.

- 활성화 시 brainProfiles/legacy 경로가 모두 비어 있으면:
  · 문서\AstraBrain 폴더 실제 생성 (lessons/·memory/ + 설명 README)
  · settings(global) brainProfiles 에 명시 기록 → 설정 UI 에서 보이고 변경 가능
  · 사용자 1회 알림 (경로 + 백업 권장)
- 데이터 보호: 옛 폴백(~/.g1nation-brain)에 데이터가 이미 있으면 이동 없이
  그 경로를 그대로 등록 (유실 방지).
- 기존 사용자(프로필/legacy 설정 존재)는 완전 no-op.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 17:39:08 +09:00
koriweb 70ea421827 feat(meet): 확신 게이트 등록 + /meet confirm + 데일리 브리핑 (v2.2.216)
캘린더 등록 정책을 "확신 없으면 등록 대신 질문"으로 전환:
- 액션 표에 상태 컬럼(확정/진행미정/기한미정/조건부:선행/반복:주기) — LLM 분류.
- 확정+기한만 자동 등록. 진행미정·기한미정·조건부는 보류 목록으로 질문,
  `/meet confirm 1=6/20 2=ok 3=skip` 답변으로 등록 완결 (/meet pending 재확인).
- 조건부 규칙: ok=날짜 없는 Tasks 로 [조건부] 등록(선행조건 노트 명시),
  날짜=그날을 '조건 확인일'로 등록 — 의존 대상이 제목/노트에서 즉시 인지됨.
- 반복 업무: 반복 등록 없이 첫 1회만(다음 해당 요일) — 까먹음 방지.
- 기한 해석 불가 확정건: 구버전의 +5일 추측 등록 제거 → 보류 질문.
- 과거 날짜(옛 녹취): 과거 날짜 그대로 등록 + "과거자료·완료확인 필요" 표기.
- 중복 방지: 녹취 sha256 해시 레지스트리(.astra/meet_registered.json)로
  같은 녹취 재실행 시 이중 등록 차단.
- tasksApi: due 옵션화(날짜 없는 task 지원).

데일리 브리핑 (신규):
- 평일 KST 09:30(설정 가능) 오늘의 캘린더 일정 + Tasks(오늘 마감/기한 경과/
  조건부 대기)를 텔레그램 발송. 텔레그램·캘린더 미연결 시 조용히 skip.
- g1nation.dailyBriefing.enabled(기본 true) / .time("09:30").

테스트: meetRegistration 15건 (분류 게이트·confirm 파싱·날짜 정규화·중복 키).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 16:22:19 +09:00
koriweb 6d06311d60 fix(lmstudio): 모델 전환 시 다른 모델 전부 자동 언로드 (v2.2.210)
VRAM 부족으로 12b 등 다른 모델 로드 실패하던 문제 강화.
- lifecycleManager.doSwitch: 추적 중인 currentModel 만이 아니라 listLoaded()
  기반으로 *로드된 모든 LLM* 을 타깃 전 언로드(VRAM 회수). draft 모델·임베딩
  모델은 보호. listLoaded 실패 시 기존 동작(tracked unload)으로 폴백.
- extension.ts: defaultModel 설정 변경(설정 패널/settings.json 포함) 시
  lifecycle.onModelSelected 호출 → 설정 패널 전환도 unload→load 발동.
- 테스트 FakeLMStudioClient 가 실제 로드 상태를 추적하도록 갱신.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 11:27:43 +09:00
koriweb b4ddd4f79a fix(settings): 모델 dropdown 에 보유 모델 전부 표시 (v2.2.209)
설정 패널 dropdown 이 LM Studio 에서 모델 1개만 보이고, 변경하면 원복되던
회귀 수정. 원인: settings 패널의 discoverModels 가 REST /v1/models 만 사용 →
JIT 로딩 환경에서 '현재 로드된' 모델만 반환. (사이드바는 SDK 로 전체를 가져옴)

- discoverModels: LM Studio SDK listDownloadedModels(전체 다운로드) 우선,
  실패/0개면 REST 폴백. 사이드바 ModelDiscovery 와 동일 정책으로 통일 →
  두 경로가 갈라져 다시 회귀하지 않도록 가이드라인 주석 명시.
- SettingsPanelDeps/SettingsSetupDeps 에 lmStudioDownloaded 콜백 추가,
  extension.ts 에서 lmStudioClient.listDownloadedCached 연결.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 10:35:23 +09:00
koriweb d39eb27c90 feat(retrieval): 청킹/평가 하니스 + 검색 인덱스 개선
- src/retrieval/chunker.ts: 문서 청킹 로직 추가
- src/retrieval/evalHarness.ts + src/extension/evalCommands.ts: 검색 품질 평가 하니스
- brainIndex.ts / retrieval/index.ts / memoryContext.ts: 인덱싱·컨텍스트 빌더 개선
- config.ts / extension.ts / sidebarProvider.ts / package.json 갱신
- ADR-0030~0032 및 개발 기록, .astra 런타임 상태 동기화

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 19:27:10 +09:00
koriweb 681cfd2393 revert: ASTRA 이메일 기능 제거 — Datacollect wiki화로 피벗
Revert "feat(astra): 이메일 Settings 패널 섹션" (eb4bef0)
Revert "feat(astra): Project Astra 이메일 자산화 Phase 1+2" (7e96e56)

방향 전환: 이메일은 ASTRA에 전용 소스로 넣는 대신 Datacollect가 수집·wiki화해
brain(제2뇌)에 저장하고, ASTRA는 기존 brain 검색으로 그대로 활용한다.
Gmail 인증은 Datacollect 소유. /email-status(라이브 현황)는 폐기.
gmailApi 파싱 로직은 Datacollect 이전 시 재사용 예정.

타입체크·빌드 통과.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 19:15:19 +09:00
koriweb 7e96e56381 feat(astra): Project Astra 이메일 자산화 Phase 1+2 (v2.2.206)
- Gmail 읽기전용 수집(/email-sync) — gmail.readonly 스코프(공유 토큰),
  본문/메타/스레드를 로컬 인덱스에 저장. 본문 로컬 only(프라이버시).
- RAG 'email' 소스 — 검색 파이프라인 자동 합류 + 원문 메일 링크 출처.
- 하이브리드(TF-IDF+임베딩) 검색, brain 과 동일 공식.
- /email-status — 미회신/놓친 요청 추적(스레드 SENT 라벨 휴리스틱).
- 백그라운드 자동 동기화(g1nation.email.autoSync) — 슬래시와 동일 코어 공유.

신규 features/email/{gmailApi,emailStore,emailSync,autoSync,handlers}.ts
+ retrieval 'email' 소스 통합. 타입체크·407 테스트 통과.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 18:34:42 +09:00
koriweb 7bec20620a refactor: v2.2.195-201 — slashRouter god-file 해체 (–95%) + 인프라 5개 추출
아키텍처 감사 결과 HIGH 2건 + MED 2건 + LOW 1건 — 7 라운드 정리 시리즈.
기능 변경 없음, 순수 구조 정리.

**slashRouter.ts: 4,174 → 201줄 (–3,973, –95%)**
**agent.ts: 1,617 → 1,551줄 (–66, –4%)**

v2.2.195: eventSourcedStore + SystemPromptBlock registry
  - createEventStore<E>(opts) — 4 store (customers/hire/runway/feedback) I/O 240줄 중복 제거
  - _turnCtx 5 named string field → 1 Map<string, string> (새 verification block 추가 25곳→1곳)
  - buildAstraModeSystemPrompt: 5 ternary gate + 5 위치 → 1 for-loop join

v2.2.196: trackers cluster split
  - src/features/teamops/handlers/_shared.ts (fmtKrw/parseAmount/daysUntil/parseTaskOwner/stageEmoji/STAGE_ORDER/TERMINAL_STAGES)
  - src/features/teamops/handlers/trackers.ts (runway/customers/hire)
  - src/features/teamops/handlers/index.ts (barrel)
  - extension.ts 에 side-effect import (순환 import 회피)

v2.2.197: mtimeFileCache + PostAnswerHook registry
  - src/lib/mtimeFileCache.ts — createMtimeFileCache<T>(name, parse) (terminologyBlock + termValidator 2-cache invariant 자동화)
  - src/agent/postAnswerHooks/{types,index}.ts — Devil/SelfCheck/TermValidator 3 _maybeX method → 1 runPostAnswerHooks(ctx) loop
  - agent.ts –66줄

v2.2.198: dashboards cluster split
  - src/features/teamops/handlers/dashboards.ts (morning/evening/cohort/weekly)

v2.2.199: coordination + communication clusters split
  - src/features/teamops/handlers/coordination.ts (task/decisions/onesie/blocked/standup)
  - src/features/teamops/handlers/communication.ts (draft/feedback)
  - callLmSynthesis export 노출 (communication 이 사용)
  - 옛 parseTaskOwner local 정의 삭제 (_shared.ts 사용)

v2.2.200: system cluster split
  - src/features/system/handlers.ts (memory/glossary/help)

v2.2.201: datacollect cluster split + LLM 인프라 추출
  - src/features/datacollect/handlers.ts (research/benchmark/youtube/blog/wikify/meet)
  - src/features/datacollect/llm.ts (callLmSynthesis + repairKoreanGlitches + bridgeErrorRemedy)
  - slashRouter import 4개로 축소: vscode/logInfo/getBridgeBaseUrl/bridgeErrorRemedy

**최종 slashRouter (201줄):**
- REGISTRY Map + registerSlashCommand/listSlashCommands/isSlashCommand
- handleSlashCommand (dispatcher + 에러 처리)
- Webview interface + chunk helper
- getRecentSlashCommands ring buffer (actionability scoring 용)

**미래 부담 감소 metrics:**
- 새 슬래시 명령: god-file 끝에 함수 + register → 1 파일 + 1 register call
- 새 verification block: 5곳 편집 → 1 set call
- 새 event store: 60줄 boilerplate → createEventStore 한 줄
- 새 post-answer hook: 3 step → 1 push
- 새 mtime cache: Map + invariant 관리 → createMtimeFileCache 한 줄

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 11:55:22 +09:00
g1nation 0a97324f1b feat: v2.2.92 → v2.2.158 — god-file 분해 + Stocks feature + 대화 연속성
R56–R59: agent.ts 2731→1529줄 god-file 분해 (25 modules)
  · attrParsers + LLM 메서드 8개 (callNonStreaming, streamChatOnce 등)
  · executeActions 415줄 → 8 handler 그룹 (file/run/list/brain/calendar/sheets/tasks)
  · handlePrompt 1100줄 → 7 phase 모듈 (system prompt + budget + autoContinue 등)

R50–R55: extension.ts 1145→349줄 (telegram/settings/provider commands 분리)

Stocks feature 신규: /stocks slash command (v2.2.152~158)
  · .astra/stocks.json 저장소 + Yahoo Finance 현재가 갱신
  · 8 키워드 필터 (ROE/성장성/유동성/수익성/영업효율/기술력/안정성/PBR)
  · Naver 시가총액 페이지 JSON API (m.stock.naver.com) 발굴
  · LLM Top 5 매력도 분석 + Telegram 자동 보고서
  · KST 09:00/15:00 watcher 자동 모니터링

대화 연속성 (v2.2.150~157):
  · [PRIOR TURN CONCLUSION] block 으로 직전 결론 anchor
  · thin follow-up 분류 → boilerplate 헤더 suppression
  · slash 명령 결과 chatHistory mirror (capture wrapper)
  · echo/parrot 금지 system prompt rule

기타: /stocks 슬래시 자동완성 dropdown UI, Naver JSON API 전환 (cheerio 제거)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 09:59:32 +09:00
g1nation ded3eea7ce feat: v2.2.74 → v2.2.82 — chunked writer + 코드 리뷰 패치 + /youtube 확장
주요 변경:

[chunked writer 아키텍처 (v2.2.74~v2.2.75)]
- 5-stage 다중 에이전트(planner/researcher/reflector/writer/synthesizer)
  파이프라인 제거 → 단일 ChunkedWriter 의 outline → section[N] → polish
  3-step 으로 교체. 본문 분석에서 추상화 손실 / 토큰 폭증 문제 해소
- 답변 길이 자동 분기: 짧은 prompt 는 fast-path direct 1회 호출,
  본문 분석은 chunked. outline 빈 배열도 direct 폴백

[코드 리뷰 9개 항목 일괄 패치 (v2.2.76)]
- /research polling hang 방어 (heartbeat + status 정규화 + 연속 실패 abort)
- 회사 모드 dispatcher abort 신호를 AIService.chat 까지 전달
- bridgeFetch 에 onHeartbeat 콜백 도입 (slow endpoint 사용자 친화적)
- dead code 정리: reflectionPersister.ts 제거 + enableReflection 등 좀비 config 키
- parseOutline 의 empty vs fallback reason 명시적 분리
- chatHandlers 의 회사 모드 케이스 ~325줄을 src/sidebar/companyHandlers.ts 로 분리
- Intent Alignment 라운드 한도 도달 시 smart 모드 자동 진행
- LM Studio doSwitch unload 실패 시 currentModel 정리 + load 강행
- retrieval informationDensity → queryCoverage 정합화

[/youtube 채널 지원 (v2.2.77~v2.2.82)]
- 채널/플레이리스트 URL 자동 감지 + n:N 으로 영상 개수 지정 (최대 50)
- 채널 루트 URL 에 /videos 탭 자동 append (yt-dlp enumeration 정상화)
- 영상별 순차 처리 (queue 패턴) + i/N 진행 표시 + 마지막 통계 요약
- mode:info / mode:benchmark / mode:both 분석 모드 분기
  - info: 영상 내용을 지식 카드로 추출 (튜토리얼·강의·뉴스용)
  - benchmark: 4-렌즈 대본 역기획서 (콘텐츠 제작 벤치마크용)
  - both: 둘 다 (기본)
  - bare keyword 도 허용: /youtube <url> n:1 info
- bridge 에러 메시지 [object Object] 깨짐 수정 (구조화 에러 추출)
- "패키지 없음" 등 환경 의존성 에러에 자동 가이드 첨부

[Astra: Setup Datacollect Dependencies 명령 추가 (v2.2.80)]
- Python 자동 감지 + yt-dlp / youtube-transcript-api 자동 설치
- macOS PEP 668 환경 자동 폴백 (--user --break-system-packages)
- /youtube 등에서 패키지 미설치 감지 시 "Install Now" 버튼 notification

[테스트]
- tests/agentEngine.test.ts 를 chunked flow 에 맞춰 전체 재작성
- tests/resilience_stress.test.ts Scenario B/D 를 role-aware mock 으로 갱신
- 399/399 통과

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 23:13:21 +09:00
g1nation 0712014fcb chore: v2.2.73 — ASTRA-DEBUG 로그 레벨 + webview CSP font-src 보강
- ASTRA-DEBUG 정상 흐름 로그를 console.error → logInfo/console.log 로 강등
  (chatHandlers, extension, slashRouter): DevTools에 ERR로 찍히던 오탐 제거
- sidebar webview에 명시적 CSP meta 추가 + font-src에 data: 허용
  (sidebar.html, sidebarProvider._getHtml): VS Code outer iframe이 codicon.ttf를
  data:font/ttf 로 inject하면서 기본 CSP에 막혀 매 prompt 마다 violation
  경고가 찍히던 문제 해소
- 누적된 LM Studio / agent / 컨텍스트 매니저 / 테스트 갱신 동반

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 15:52:19 +09:00
g1nation 36db170844 feat: v2.2.64 — LM Studio 모델 발견/에러 표시 + macOS 셸 호환성
- LM Studio 모델 dropdown을 SDK system.listDownloadedModels('llm') 으로
  조회하도록 변경. REST /v1/models 는 JIT 옵션이 꺼져 있으면 로드된 모델만
  반환하여 macOS 환경에서 dropdown 이 비거나 fallback 한 줄만 남던 문제 해결.
  SDK 실패 시 REST 로 자동 fallback.
- LM Studio 로드/언로드 실패를 readyBar 의 영속 segment 로 표시. 모델을
  다시 선택하면 clearLmStudioError() 로 해제.
- src/security.ts: PowerShell '&&' rewrite 를 win32 에서만 수행. macOS/Linux
  에서는 'if (\$?) { ... }' 가 zsh/bash 문법 오류라 명령 자체가 깨졌음.
- src/utils.ts: system prompt 에 OS 별 [ENVIRONMENT] 블록 동적 주입
  (셸/경로 스타일/체이닝 연산자). 'cd E:\\... ; ...' 같은 Windows 전용
  예시를 macOS 에서 그대로 따라하던 회귀 차단.
- 테스트 mock 에 listDownloaded() 추가.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 09:37:29 +09:00
koriweb 8016ef18fa Update project files 2026-05-22 15:00:14 +09:00
koriweb 9e7c7fe605 Astra v2.2.41: /benchmark LLM 4-lens synthesis + Datacollect settings
- /benchmark now runs the full scan -> LLM 3-stage 4-lens synthesis ->
  markdown report pipeline, matching the Datacollect web app output
- Add settings: datacollectSynthesisTemperature (0.1), datacollectCrawlDepth,
  datacollectMaxPages, datacollectSavePath; new "Datacollect" Settings section
- Fix slash result not rendering (missing streamStart) and /benchmark URL
  parsing when natural language is appended
- Rename view container/view ids to g1nation-* to avoid conflict with the
  Antigravity built-in "Connect AI" extension
- Version bump 2.2.34 -> 2.2.41

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:22:35 +09:00
koriweb fce6938e1c Bump version to 2.2.34 2026-05-19 19:38:40 +09:00
koriweb 0834608f7e Bump version to 2.2.27 and update package 2026-05-18 16:36:41 +09:00
koriweb 26fdce6525 Update 2026-05-18 12:14:27 +09:00
g1nation 86cacaeb03 Update ConnectAI codebase 2026-05-18 08:15:01 +09:00
g1nation 84b2b0670d v2.2.17: Google Service Control & Astra Office Flow Layer 2026-05-16 22:51:15 +09:00
g1nation 961e2cb4ea v2.2.16: Astra Office UI Overhaul & Operations Floor 2026-05-16 22:21:09 +09:00
g1nation 9ca95ab997 v2.2.15: Astra Office Refactor & Multi-Service Integration 2026-05-16 22:07:06 +09:00
koriweb 72412450c3 feat: v2.2.3 - Stability, Self-Reflector & Intent Alignment
- 버전 2.2.3 상향 및 PATCHNOTES.md 업데이트

- [신규] src/features/selfReflector/ - 성찰 실행/검증/프롬프트 모듈 추가

- [신규] intentAlignment.ts, intentClassifier.ts - 의도 정렬 시스템 추가

- [신규] pixelOfficeState.ts - 픽셀 오피스 상태 관리 추가

- sidebarProvider, dispatcher, chatHandlers 핵심 로직 최적화

- astra-2.2.3.vsix 패키지 생성 완료 (298 tests PASS)
2026-05-15 14:16:14 +09:00
g1nation cd22da8735 Release v2.2.1: Autonomous Task Resumption & Engine Resilience 2026-05-14 23:27:51 +09:00
g1nation f521c3f557 Release v2.1.2: Chronicle Repair & Context Stability improvements 2026-05-14 02:37:49 +09:00
g1nation 398703466f feat(architecture): add multi-subproject awareness and automatic context resync
- Implemented subproject root resolution based on active editor hint
- Added debounced event listener for active editor changes to trigger chip status updates
- Updated sidebar provider to re-resolve active subproject root on every chip build
- This ensures correct architecture context is injected when working in a monorepo or multi-root-style parent folder
2026-05-14 02:19:33 +09:00
g1nation 147536fb13 release: v2.0.8 - UX Persistence & Per-Agent Knowledge Mix (2026-05-14) 2026-05-14 00:56:20 +09:00
g1nation 8104caf8d9 release: v2.0.7 - Enhanced Telegram Reporting & File Visibility (2026-05-14) 2026-05-14 00:37:41 +09:00
g1nation f1d5dbf031 release: v2.0.6 - Intelligence & UX Optimization (2026-05-14) 2026-05-14 00:13:54 +09:00
g1nation b6899851c3 release: v2.0.3 - AI 1-Person Company Engine & Business Intelligence 2026-05-13 23:22:00 +09:00
g1nation e85e11aac6 release: v2.0.1 - Advanced Knowledge Mix & Architectural Intelligence 2026-05-13 22:05:39 +09:00
koriweb 089abf22db refactor: optimize core engine and retrieval logic for v2.80.43 2026-05-13 19:23:57 +09:00
g1nation f6b27a125b chore: version up to 2.80.35 and package with experience memory 2026-05-12 23:23:23 +09:00
g1nation 789680ccb1 Build: Release v2.80.29 2026-05-10 22:57:03 +09:00
g1nation d899daa118 Update Astra/Agent state - 2026-05-10 22:26:50 2026-05-10 22:26:50 +09:00
g1nation 3220a126fd chore: bump version to 2.80.27 and update core features 2026-05-09 01:16:12 +09:00
g1nation 5ffb472d22 Update Astra: v2.80.19 - Refactoring Sidebar, LM Studio integration, and new tests 2026-05-08 23:14:47 +09:00
g1nation d451a082dd feat: refactor AI engine logic, remove cross-engine fallback, add retry with backoff, and bump version to 2.80.18 2026-05-08 01:24:12 +09:00
koriweb 17e6503ccd refactor: fix security hardcode, dead code, resource leaks, operator bugs 2026-05-06 12:31:58 +09:00
g1nation 215c5f9457 feat: v2.62.0 - Astra Autonomous Loop (AAL) foundation & enhanced file analysis 2026-05-04 12:58:43 +09:00
g1nation a5f3e383d4 Version 2.55.0 Release: Rebranding to Astra 2026-05-03 20:40:40 +09:00
Wonseok Jung 326672cb93 feat: v2.12.0 - UI/UX Refinement (Model Sync & Premium Tooltips) 2026-04-30 00:19:06 +09:00
한예성 acc6c76a4f chore: sync connectai 2026-04-25 12:55:14 +09:00
한예성 78a50bd1f9 feat: enhance LM Studio stability and session management v2.2.27 2026-04-25 00:37:47 +09:00
bluemsi 0e20dff154 [Architecture] G1nation V2 Refactor 2026-04-24 18:23:21 +09:00
bluemsi 48f41e98c2 [P-Reinforce] Fix encoding, rebuild agent engine, and optimize looping 2026-04-24 18:10:13 +09:00
bluemsi b17bbf3bd7 fix: LM Studio Jinja 템플릿 오류 방지를 위해 System 메시지를 User 메시지로 병합 2026-04-24 11:20:26 +09:00