# Astra Patch Notes
## v2.2.161 (2026-05-22)
### ๐ /stocks discover โ ๋ํญ๊ณผ๋ ํค์๋ + 224ํ๋ณต ๊ฑฐ๋๋ ํ์ธ
- **์ ๊ท `๋ํญ๊ณผ๋` ํค์๋** ([evalDropRecovery](src/features/stocks/yahooClient.ts)): ์์(์ฃผ์๋จํ
"์ด๋ฏธ ๋น ์ง ์ข
๋ชฉ + ๋ฐ๋ฅ ์ฐ๊ณ ํ๋ณต")์ ์ ๋ํ. ํ์ฌ๊ฐ โค 1๋
์ต๊ณ ๊ฐ ร 0.75(25%โ) AND ํ์ฌ๊ฐ โฅ 60์ผ ์ต์ ๊ฐ ร 1.10(์ ์ ์์ 10%โ) โ `๋ํญ๊ณผ๋` +1. 224ํ๋ณต(์ถ์ธ ์ ํ)๊ณผ๋ ๋ค๋ฅธ ๊ฐ๋ โ ์์ ๋ง์ง + ๋ฐ๋ฑ ์ด์
.
- **`224ํ๋ณต` ๊ฑฐ๋๋ ํ์ธ ๊ฐํ** ([evalMa224Recovery](src/features/stocks/yahooClient.ts)): ๊ธฐ์กด ๊ฐ๊ฒฉ ์กฐ๊ฑด์ ๋ํด ์ต๊ทผ 5์ผ ํ๊ท ๊ฑฐ๋๋ โฅ 60์ผ ํ๊ท ร 1.2 ์๊ตฌ. ๊ฑฐ์ง ๋ํ(์ผ์์ ๊ฐ๊ฒฉ ํ) ํํฐ. ๊ฑฐ๋๋ ๋ฐ์ดํฐ ๋ถ์กฑ ์ ๊ฐ๊ฒฉ ์กฐ๊ฑด๋ง์ผ๋ก ํ์ (ํด๋ฐฑ).
- ์ถ๊ฐ API ๋น์ฉ ์์ โ `fetchYahooHistory`๊ฐ ์ด๋ฏธ 1๋
์ผ๋ด์ ๊ฐ์ ธ์ค๋ฏ๋ก ๊ฑฐ๋๋ยท1๋
maxยท60์ผ min ๊ณ์ฐ๋ง ์ถ๊ฐ.
- ๊ฒฐ๊ณผ ํ์ ์: `ํต๊ณผ (5): ROE, ์์ต์ฑ, ์ ํ๊ฐ, 224ํ๋ณต, ๋ํญ๊ณผ๋`.
- **์ ๊ท ํจํค์ง:** `astra-2.2.161.vsix`.
---
## v2.2.160 (2026-05-22)
### ๐ /stocks discover โ ์ ํ๊ฐ(PBRโ) ๊ฐ์กฐ + 224์ผ์ ํ๋ณต ํจํด ์ถ๊ฐ
- **์ ํ๊ฐ 2๋จ๊ณ ํค์๋** ([stockDiscovery.ts:evaluateKeywords](src/features/stocks/stockDiscovery.ts)): ๊ธฐ์กด `PBR`(โค1.5)๋ ์ ์ง. ์ถ๊ฐ๋ก PBR โค 1.0 = `์ ํ๊ฐ`, PBR โค 0.7 = `์ด์ ํ๊ฐ`. PBR ๋ฎ์์๋ก ์ ์ ์์ฒด๊ฐ +1~2 ๊ฐ์ฐ.
- **PBR ์ค๋ฆ์ฐจ์ ํ์ด๋ธ๋ ์ด์ปค**: ์ ๋ ฌ = ํต๊ณผ ํค์๋ ์ desc โ ๋์ ์ PBR asc. ๊ฐ์ ์ ์๋ฉด ์ ํ๊ฐ ์ข
๋ชฉ์ด ์๋ก.
- **224์ผ์ ํ๋ณต ๋ณด๋์ค** (`224ํ๋ณต`): ์์(์ฃผ์๋จํ
"224์ผ์ ์์ฐฉ = ์ถ์ธ ์ ํ") ๊ธฐ์ค ์ ๋ํ. 1์ฐจ ํต๊ณผ ํ๋ณด์ ํํด Yahoo 1๋
์ผ๋ด fetch โ ํ์ฌ ์ข
๊ฐ โฅ ์ค๋ MA224 AND ์ต๊ทผ 30๊ฑฐ๋์ผ ์ค 5์ผ ์ด์ MA224 ์๋์ ๋จธ๋ฌธ ์ ์์ผ๋ฉด `224ํ๋ณต` ํค์๋ +1. ํ๋ณต ์งํ ์ถ์ธ ์ ํ ์ ํธ์ธ ์ข
๋ชฉ์ด ์์ฐ์ค๋ฝ๊ฒ ์์๋ก.
- **์ ๊ท ๋ชจ๋** ([yahooClient.ts](src/features/stocks/yahooClient.ts)): `fetchYahooHistory`(1๋
์ผ๋ด), `fetchAllHistories`(๋ฐฐ์น, 1์ด/์ฌ๋ณผ throttle), `evalMa224Recovery`(rolling MA224 + ํ๋ณต ํ์ ).
- ๋น์ฉ: 1์ฐจ ํต๊ณผ ํ๋ณด(๋ณดํต 20~50๊ฐ)์๋ง ์์ธ fetch โ +20~50์ด ์ถ๊ฐ. ์ ์ฒด 1์ฐจํ๋ณด์ ์ ๋๋ฆผ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.160.vsix`.
---
## v2.2.159 (2026-05-22)
### ๐ฆ ์ฌํจํค์ง โ ๋ค๋ฅธ ๋จธ์ ์ 2.2.158 ์ฝ๋ + chronicle ๊ฐฑ์ ์ ์ด ๋จธ์ ์ค์น๋ณธ์ผ๋ก ๋น๋
- ์์ค ๋ณ๊ฒฝ ์์. `git pull` ๋ก ๋ฐ์ 2.2.158 ์์
ํธ๋ฆฌ(๋ค๋ฅธ ๋จธ์ ์ v2.2.64~2.2.158 ๋์ ์์
โ LM Studio ๋ฐ๊ฒฌยท๋ก๊ทธยทCSPยทchunked writerยทinfo prompt ๊ฐํยท๋ต๋ณ ํฌ๋งท ์ ๋ฆฌยทgod-file ๋ถํดยทStocksยท๋ํ ์ฐ์์ฑ ๋ฑ)๋ฅผ ์ด ๋จธ์ ์ฉ `.vsix` ๋ก ํจํค์ง.
- **์ ๊ท ํจํค์ง:** `astra-2.2.159.vsix`.
---
## v2.2.72 (2026-05-23)
### โก LM Studio ํต์ hardening + ์๋ ๋ถ์คํธ ํฉ
ํ turn ์ ๋ ๋ผ์ด๋ ์์
์ ๋ฌถ์๋ค. (A) ํต์ ๊ฒฝ๋ก ์์ ๋ง 9๊ฑด + (B) ์๋ ๊ฐ์ 4๊ฑด.
**(A) ํต์ hardening**
- **Sampling parity SDK โ REST.** ๊ธฐ์กด์ `topP/topK/minP/repeatPenalty` ๊ฐ SDK ๊ฒฝ๋ก์๋ง ์ ์ฉ โ ํธ๋ค์ด ์ฃฝ์ด REST ๋ก fallback ๋๋ฉด ํ๊ธ ํ ํฐ ๊นจ์ง(`๋ถ๊ดดโ๋ถ์ `) ์ฌ๋ฐ. ๊ณต์ `LmStudioSampling` + `samplingToRestBody` ๋ก ๋ ๊ฒฝ๋ก๊ฐ ๋์ผ ๊ฐ์ ๋ณด๋ด๋๋ก ํต์ผ. Ollama ๋ `options.{top_p,top_k,min_p,repeat_penalty}` ๋ก ๊ฐ์ด ๋ฐ์.
- **์ ๊ท ์ค์ :** `g1nation.lmStudio.sampling.{topP=0.9, topK=20, minP=0.05, repeatPenalty=1.1}` + `g1nation.lmStudio.statsInBudget=true`.
- **prediction.stats UI ๋
ธ์ถ.** ๋งค turn ๋๋๋ฉด ctx-badge ์ `โฆ ยท 32.1 tok/s ยท TTFT 0.40s` ํ์ (SDK ๊ฒฝ๋ก๋ง). ํดํ์ ์ถ๋ ฅ ํ ํฐ ์ / ์ด ์๊ฐ / stopReason ๋ ์ถ๊ฐ.
- **listDownloaded TTL ์บ์ (60s).** ์ฌ์ด๋๋ฐ ๋๋กญ๋ค์ด ์ด ๋๋ง๋ค LM Studio ๋์คํฌ walk ํ๋ ํธ์ถ์ ์บ์ฑ. ๋น ๊ฒฐ๊ณผ๋ ์บ์ฑ ์ ํจ (๋ฐฉ๊ธ ์ผ LM Studio ๊ฐ๋ฆฌ๋ ํ๊ท ๋ฐฉ์ง). `setBaseUrl` / `invalidateCaches()` ๊ฐ ์บ์ ์ด๊ธฐํ.
- **Empty-response ๋ณต๊ตฌ ์ผ์ํ.** `LMStudioStreamer.stream()` ์ attempt-2 retry ๊ฐ dead-handle ์๋ฌ๋ฟ ์๋๋ผ "์๋ฌ ์์ด 0 token" ์ผ์ด์ค๋ ๋ค๋ฃธ. agent.ts ์ ์ค๋ณต๋ handle-reset retry ๋ธ๋ก (~30 LOC) ์ญ์ . REST fallback ์ ์ ์ง.
- **handle-dead ํจํด ํ์ฅ.** `channel closed`, `WebSocket (is not open|closed|disconnected)`, `Connection (lost|reset|closed)`, `ECONNRESET`, `socket hang up` ์ถ๊ฐ.
- **`httpToWebSocketUrl` path ์ ๋ฆฌ.** `/api/v0`, `/api/v1`, `/v1`, `/api` ๋ฅผ loop ์ผ๋ก unwind โ `http://host/api/v0` โ ws root ๊น์ง ํ ๋ฒ์.
- **service-down ์กฐ๊ธฐ break.** `createStreamingRequest` ๊ฐ `error.cause.code === 'ECONNREFUSED' | 'ENOTFOUND' | 'EAI_AGAIN'` ๊ฐ์ง ์ attempt/variant/candidate ๋ฃจํ ์ฆ์ ์ข
๋ฃ. 12ํ fetch โ 1ํ โ ์ฌ์ฉ์ ์๋ฌ ~1s.
- **callAgent cutoff warn.** sub-agent SDK ํธ์ถ๋ `stopReason` ๊ฒ์ฌ โ `/maxPredicted|context|truncat/` ๋งค์นญ ์ logError. ์๋ฆฐ specialist ์ถ๋ ฅ์ด silently pipeline ์ ์ค์ผ์ํค๋ ๊ฑฐ ๋ฐฉ์ง.
**(B) ์๋ ๋ถ์คํธ**
- **Speculative decoding.** ์ ๊ท ์ค์ `g1nation.lmStudio.draftModel` (๋น ๊ฐ = OFF). ์์ draft ๋ชจ๋ธ (e.g. `gemma-2b-it`) ์ง์ ์ large ๋ชจ๋ธ 1.5~3ร throughput. `ChatStreamRequest.draftModel` โ SDK `respond({draftModel})`. main ๋ชจ๋ธ load ์งํ lifecycle ์ด `unstable_preloadDraftModel` ํธ์ถํด cold-load ๋น์ฉ ์ ๊ฑฐ. ctx-badge ์ `spec 68%` accept-ratio ํ์ (60%+ healthy, 30% ๋ฏธ๋ง = draft ๊ฐ ์๋ชป ๊ณจ๋ผ ์คํ๋ ค ๋๋ ค์ง ์ ์์).
- **Load-time ์ต์
(8๊ฐ).** `client.load()` ๊ฐ `LMStudioLoadConfig` ๋ฐ์ `LLMLoadModelConfig` (GPUSetting ๋ํผ ํฌํจ) ์ผ๋ก SDK ์ ์ ๋ฌ.
- `g1nation.lmStudio.load.flashAttention` (true) โ long-context 10~20%
- `g1nation.lmStudio.load.gpuOffloadRatio` ("max" | "off" | 0-1)
- `g1nation.lmStudio.load.offloadKVCacheToGpu` (true)
- `g1nation.lmStudio.load.keepModelInMemory` (true) โ swap-out ๋ฐฉ์ง
- `g1nation.lmStudio.load.useFp16ForKVCache` (false) โ KV-cache ๋ฉ๋ชจ๋ฆฌ ๋ฐ๊ฐ (VRAM ๋น ๋ฏํ ๋)
- `g1nation.lmStudio.load.evalBatchSize` (0 = ์์ง default) โ prefill ์๋
- **`liveStreamTokens` ๊ธฐ๋ณธ โ true (โ false).** TTFT ์ฒด๊ฐ ํฅ์ โ sanitize + `streamReplace` ๊ฐ ์์ฑ ๋์ ์ต์ข
๋ต๋ณ์ผ๋ก ๊ต์ฒดํ๋ฏ๋ก control token ๋
ธ์ถ์ ์ ๊น๋ง ๊ฐ๋ฅ. (memory ์ "sanitize-before-post handles the leak" ๊ฐ ๊ทผ๊ฑฐ)
**์์คํ
ํ๋กฌํํธ KV-cache (item 1+5)**: ์กฐ์ฌ ๊ฒฐ๊ณผ ํ์ฌ ordering (stable head โ `[CONTEXT]` body โ stable tail) ์ด ์ด๋ฏธ prefix-cache ์นํ์ ์ด๋ผ ์ฝ๋ ๋ณ๊ฒฝ ์์. ๋จ, agent persona-first ๋ฐฐ์น๋ small-model anchoring ์ฐ์ ์ผ๋ก ์ ์ง โ KV-cache ์ ์ฌ ์ด๋๋ณด๋ค ๋ต๋ณ ํ์ง์ด ์ฐ์ .
**Touched:** `src/{config,agent,extension}.ts`, `src/lmstudio/{client,streamer,lifecycleManager}.ts`, `media/sidebar.js`, `package.json` (12๊ฐ ์ ๊ท ์ค์ + `liveStreamTokens` default flip), 2๊ฐ test FakeClient ์ `listDownloadedCached` stub. 401/401 jest ํต๊ณผ ยท tsc clean ยท esbuild 2.9MB.
**์ ๊ท ํจํค์ง:** `astra-2.2.72.vsix`.
---
## v2.2.71 (2026-05-23)
### ๐ฆ ์๋ ๊ธฐ๋ก ์ค ์ ์ฒด๋ฅผ ๋๊ตฌ โพ ๋ฉ๋ด ์์ผ๋ก ์ด๋
- **์์ฒญ ๋ช
ํํ:** v2.2.70 ์์ ํ ๊ธ๋ง ๋๊ตฌ ๋ฉ๋ด์ ์ถ๊ฐํ๋๋ฐ, ์ฌ์ฉ์๊ฐ ์ํ๋ ๊ฑด ์ฌ์ด๋๋ฐ ํ๋จ์ records-line ("โ ์๋ ๊ธฐ๋ก ยท filename ยท ๊ธฐ๋ก โพ") **์ค ์ ์ฒด** ๋ฅผ ๋๊ตฌ ๋ฉ๋ด ์์ผ๋ก ์ฎ๊ธฐ๋ ๊ฒ.
- **์์ :** `media/sidebar.html` ์ `
` ํต์งธ๋ก ์ญ์ . ๊ทธ ์์ ์๋ ๋ชจ๋ ์์ (์๋ ๊ธฐ๋ก status, recordsLatest, chronicleRecordSel, openChronicleRecordBtn, refreshChronicleRecordsBtn, openDesignerBtn) ๋ฅผ ๋๊ตฌ โพ ๋๋กญ๋ค์ด ์์ผ๋ก ํก์. ๋๊ตฌ ๋ฉ๋ด๋ `hdr-menu-wide` ๋ก ๋ณ๊ฒฝ.
- **์ ๋ฉ๋ด ๋ ์ด์์:** ๋๊ตฌ โพ ํด๋ฆญ ์
- "์๋ ๊ธฐ๋ก" ์น์
โ ํ ๊ธ / ์ต๊ทผ ์ ์ฅ ๊ธฐ๋ก status / ๊ธฐ๋ก selector / ์ ํ ๊ธฐ๋ก ์ด๊ธฐ / ์๋ก๊ณ ์นจ / ํด๋ ์ด๊ธฐ
- "๋๊ตฌ" ์น์
โ ๊ทผ๊ฑฐ ์ถ์ JSON ๋ณด๊ธฐ / ์๋ณธ ๋ต๋ณ์ ๋๋์ ์ ์ฅ / ๋๋ ๋๊ธฐํ
- **JS ์์ ์ฑ:** ๋ชจ๋ element ID ๋ ์ ์งํ์ผ๋ฏ๋ก ๊ธฐ์กด sidebar.js ํธ๋ค๋ฌ๋ ๊ทธ๋๋ก ์๋. `renderChronicleAutoToggle` ๋ง ์ด์ง ์์ โ chronicleAutoStatus ๊ฐ ์ด์ ์์ (status-dot ยท recordsLatest) ์ ๊ฐ์ง ์ปจํ
์ด๋๋ผ `textContent` ์ง์ ํ ๋น์ด ์์์ ์ง์ฐ๋ ํ๊ท๋ฅผ ๋ง๊ธฐ ์ํด opacity / title ๋ง ๊ฐฑ์ ํ๋๋ก ๋ณ๊ฒฝ.
- **์ฌ์ด๋๋ฐ ๊ณต๊ฐ:** records-line ์ค ํ ์ค ์ ๊ฑฐ โ context bar ์ chat ๋ณธ๋ฌธ ์ฌ์ด noise ๊ฐ์.
- **์ ๊ท ํจํค์ง:** `astra-2.2.71.vsix`.
---
## v2.2.70 (2026-05-23)
### ๐ ์๋ ๊ธฐ๋ก On/Off ํ ๊ธ (๋๊ตฌ ๋ฉ๋ด)
- **์ถ๊ฐ:** ์ฌ์ด๋๋ฐ records-line ์ "์๋ ๊ธฐ๋ก" ํ์๋ฅผ ๋๊ณ ์ผค ์ ์๋ ํ ๊ธ. ์์น๋ **๋๊ตฌ โพ** ๋๋กญ๋ค์ด ์ฒซ ํญ๋ชฉ (`์๋ ๊ธฐ๋ก: ์ผ์ง / ๊บผ์ง`).
- **์ ๊ท ์ค์ :** `g1nation.chronicleAutoRecord` (๊ธฐ๋ณธ `true`). ํ ๊ธ ํด๋ฆญ ์ ์ฆ์ VS Code Global ์ค์ ์ ์๊ตฌ ์ ์ฅ โ ๋ค์ ์ธ์
์๋ ์ ์ง.
- **gating:** `_autoWriteChronicleAfterPrompt` ์ง์
์ `getConfig().chronicleAutoRecord === false` ๋ฉด early return. ์๋ ์ ์ฅ๋ง ๋ฉ์ถ๊ณ , ์๋ ๊ธฐ๋ก (๋๊ตฌ ๋ฉ๋ด์ ๋ค๋ฅธ ๊ธฐ๋ก ํญ๋ชฉ, `/wiki` ๋ฑ) ์ ๊ทธ๋๋ก ๋์.
- **UI ํผ๋๋ฐฑ:** OFF ์ผ ๋ records-line ์ "์๋ ๊ธฐ๋ก" ๋ผ๋ฒจ์ด "์๋ ๊ธฐ๋ก (๊บผ์ง)" + dim opacity, ์ต๊ทผ ๊ธฐ๋ก ๋ผ๋ฒจ๋ dim ์ฒ๋ฆฌํด ํ๋์ ์ํ ํ์
. ํด๋ฆญ ๋ฐ์์ฑ์ ์ํด ๋๊ด์ ๊ฐฑ์ ํ ์๋ฒ ์๋ต์ผ๋ก ๋ณด์ .
- **๋ฉ์์ง:** ์ ๊ท webview โ extension ๋ฉ์์ง `setChronicleAutoRecord` / `getChronicleAutoRecord` / `chronicleAutoRecordStatus`. `chronicleHandlers.ts` ์์ ๋ผ์ฐํ
.
- **์ ๊ท ํจํค์ง:** `astra-2.2.70.vsix`.
---
## v2.2.69 (2026-05-23)
### ๐พ ๋ํ ํ์คํ ๋ฆฌ โ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ + ๋ชจ๋ ์ ํ bridge
- **ํํฉ ํ์ธ:** "ํ์คํ ๋ฆฌ ์ ์ญ ๋จ์ผ ๊ด๋ฆฌ" ์๊ตฌ๋ ์ด๋ฏธ ์ถฉ์กฑ โ `AgentExecutor.chatHistory` ๋จ์ผ ์ธ์คํด์ค์ด๋ฉฐ ์์ด์ ํธ/ํ์ฌ/๋ฉํฐ์์ด์ ํธ ๋ชจ๋ ์ ํ์ history ๋ฅผ ๋น์ฐ์ง ์๋๋ค. ๋ช
์์ `/newChat` ์ด๋ ์ธ์
์ญ์ ๋๋ง reset.
- **์์ 1 โ sliding window ์์ฝ.** ๊ธฐ์กด `trimHistoryToBudget` ์ ์ค๋๋ ๋ฉ์์ง๋ฅผ ๋จ์ํ `[์ด์ ๋ํ N๊ฐ ... ์๋ต๋จ]` count ๋ง์ปค๋ก ๋์ฒด โ ๋ชจ๋ธ์ด "์ด์ ์ ๋ฌด์จ ์๊ธฐ๋ฅผ ํ๋์ง" ๋ชจ๋ฆ. ์ด์ ๋ dropped ๋ฉ์์ง ๋ฐฐ์ด์ marker factory ๋ก ๊ฐ์ด ๋๊ธฐ๊ณ , agent.ts `buildDroppedHistorySummary()` ๊ฐ ์ถ๊ฐ LLM ํธ์ถ ์์ด heuristic ์ผ๋ก (a) ๊ฐ user prompt ์ฒซ ๋ฌธ์ฅ (b) ๊ฐ assistant ๋ต๋ณ ์ฒซ ๋ฌธ์ฅ (R1 conclusion-first ๊ฐ์ ) ๋ง ๋ฝ์ `U1: ... / A1: ... / U2: ...` ํ์์ ํ system ๋ฉ์์ง๋ก ์์ถ. 8ํด ์ด์์ด๋ฉด ๊ฐ์ฅ ์ค๋๋ ์ ๋ฐ์ ํ ์ค๋ก ์ถ์ฝ.
- **์์ 2 โ ๋ชจ๋ ์ ํ bridge.** `AgentExecutor._lastModeSignature` ๋ก (agent skill, multiAgent, company mode, brain) ์ ํด์๋ฅผ ์ถ์ . handlePrompt ์ง์
์ ์ง์ ๊ฐ๊ณผ ๋ค๋ฅด๋ฉด system prompt ์ `[MODE TRANSITION BRIDGE] ์ด์ ๋ชจ๋ / ํ์ฌ ๋ชจ๋ / ์ง์ ๋ํ ์ฃผ์ ` ํ ๋ธ๋ก์ ๋ผ์. chatHistory ๋ ๊ทธ๋๋ก๋ผ ์ฌ์ฉ์์๊ฒ ๋ํ ์ฐ์์ด๊ณ , ๋ชจ๋ธ์ ์ ํ๋ฅด์๋/ํฌ๋งท์ ๋ฐ๋ฅด๋ฉด์๋ ์ง์ ๋งฅ๋ฝ์ ์์ง ์๋๋ค. `clearHistory` / `resetConversation` ์์ signature ๋ ํจ๊ป ์ด๊ธฐํํด ์ ์ธ์
์ฒซ ๋ฉ์์ง์ spurious bridge ๊ฐ ๋ผ์ง ์๊ฒ ํจ.
- **์๊ทธ๋์ฒ ๋ณ๊ฒฝ:** `trimHistoryToBudget` ์ `makeMarker` ๊ฐ `(droppedCount, droppedMessages)` ๋ ์ธ์๋ฅผ ๋ฐ๋๋ค. ํธ์ถ๋ถ (`agent.ts`) ์ ๋จ์ ํ
์คํธ (`contextManager.test.ts`) ๊ฐฑ์ .
- **์ ๊ท ํจํค์ง:** `astra-2.2.69.vsix`.
---
## v2.2.68 (2026-05-23)
### ๐ ๋ต๋ณ ํ์ โ 7๊ฐ hard rules
- **๋ณ๊ฒฝ:** ๋ต๋ณ ํฌ๋งท ๊ท์น์ ์ฌ์ฉ์๊ฐ ์ง์ ํ 7๊ฐ hard rule ๋ก ์ ๋ฉด ๊ต์ฒด. ๊ธฐ์กด "๊ธด ๋ต๋ณ์ ํต์ฌ ์์ฝ ๋ธ๋ก + ์์ธ ์ค๋ช
+ ์ ์" ์ 3-section ํ
ํ๋ฆฟ์ ํ๊ธฐ.
- R1. ์ฒซ ๋ฌธ์ฅ์ ๊ฒฐ๋ก (no ์ธ์ฟ๋ง, no "๋ถ์ํด๋ณด๊ฒ ์ต๋๋ค", no "ํต์ฌ ์์ฝ" ๋ผ๋ฒจ)
- R2. ์น์
์ต๋ 3๊ฐ
- R3. ๊ฐ์ ๋ด์ฉ์ ๋ ๋ฒ ๋งํ์ง ์๋๋ค
- R4. ๋ณผ๋๋ ์ ์ฒด ๋ต๋ณ์์ 3๊ฐ ์ดํ
- R5. ์ถ๊ฐ ์ ๋ณด ์์ด ํ๋จ ๊ฐ๋ฅํ๋ฉด ๋ฐ๋ก ์คํ
- R6. ์ง๋ฌธ์ 1๊ฐ๋ง โ (a) ๋ฐฉํฅ์ด ๋ ๊ฐ๋๋ก ๊ฐ๋ฆฌ๊ณ ์ฌ์ฉ์ ์๋๋ฅผ ์ ์ ์์ ๋, ๋๋ (b) ๋น๊ฐ์ญ ์์
์ง์
- R7. ์ถ์ธก ๊ฐ๋ฅํ๋ฉด ์ถ์ธก+์คํํ๋ ๊ฐ์ ํ ์ค ๋ช
์ ("๊ฐ์ : ...")
- **์ ์ฉ ๋ฒ์:** ๋จ์ผ ์์ด์ ํธ ๊ฒฝ๋ก (`BASE_SYSTEM_PROMPT [OUTPUT FORMAT]`) + ๋ฉํฐ ์์ด์ ํธ ์ต์ข
๋จ๊ณ (`SynthesizerAgent` persona) ์์ชฝ์ ๋์ผ ๊ท์น ์ฃผ์
. ๋ ๊ฒฝ๋ก ๋ชจ๋ ๊ฐ์ ํ์์ผ๋ก ๋ต๋ณํ๋๋ก ๋ณด์ฅ.
- **๋ถ์ ์ ๋ฆฌ:** `[FOLLOW-UP QUESTION RULES]` ์น์
์ R6 ์ ํก์๋ผ ์ ๊ฑฐ. `[ENGINEERING STANCE]` ์ "Give the verdict first, then explain tradeoffs" ๋ R1 ๊ณผ ์ค๋ณต์ด๋ผ ์ ๋ฆฌ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.68.vsix`.
---
## v2.2.67 (2026-05-23)
### ๐ง ๋๋ ์ถ๊ฐ/์์ /์ญ์ ์ ์ํ
- **๋ฌธ์ :** v2.2.66 ์ดํ ์ ๊ณ ๋ ๋ ๊ฐ์ง ํ๊ท.
1. ๋๋ "์ถ๊ฐ" ํ dropdown ์ ์ brain ์ด ๋ค์ด๊ฐ๊ธด ํ๋๋ฐ ์ ํ๋ ํ์๋ ๋ง์ง๋ง ์ต์
์ธ `+ Add New Brain...` ์ผ๋ก ๊ตณ์ด๋ฒ๋ฆผ โ ์ฌ์ฉ์์๊ฒ "์ด๋ฆ์ด add new brain ์ผ๋ก ๋ฐ๋" ์ผ๋ก ๋ณด์.
2. ๊ทธ ์ํ์์ "์์ "/"์ญ์ " ๋ฒํผ์ด ์นจ๋ฌต โ ํด๋ฆญํด๋ ์๋ฌด ์ผ ์ ์ผ์ด๋จ.
- **์์ธ 1 โ selected ์ ์ฉ ์์:** brainProfiles ํธ๋ค๋ฌ๊ฐ `option.selected = true` ๋ฅผ `appendChild` ์ง์ ์ ๊ฑฐ๋ ํจํด์ด๋ผ ์ผ๋ถ Chromium webview ๊ฐ ๋ฌด์. ๊ฒฐ๊ณผ์ ์ผ๋ก dropdown selectedIndex ๊ฐ ๋ง์ง๋ง ์ต์
(`+ Add New Brain...`) ์ ๋จธ๋ฌด๋ฆ.
- **์์ธ 2 โ `brainSel.value === 'new'` ์ ๊ธ:** ์ฌ์ฉ์๊ฐ dropdown ์ `+ Add New Brain...` ์ต์
์ ์ง์ ํด๋ฆญํ๊ฑฐ๋, ํด๋ ์ ํ ๋ชจ๋ฌ์ ์ทจ์ํ๋ฉด `brainSel.value` ๊ฐ `'new'` ๋ก ๊ตณ์ด๋ฒ๋ฆผ. ์์ /์ญ์ ๋ฒํผ onclick ์ฒซ ์ค `if (brainSel.value === 'new') return;` ๊ฐ silently early-return โ ์์ ์ ๋จ.
- **์์ 1 โ selected ์ ์ฉ ์์ ๋ณ๊ฒฝ.** ์ต์
์ ๋ค ๋ฃ์ *ํ์* `brainSel.value = activeBrainId` ๋ก ํ ๋ฒ์ selection ์ ์ฉ. appendChild ์ `o.selected = true` ํจํด ์ ๊ฑฐ. ์ด์ ์ `'new'` ๋ก ๊ตณ์ด์๋ ๊ฐ๋ ํ์คํ ๋ฎ์ด์ด๋ค.
- **์์ 2 โ 'new' ํด๋ฆญ ์ฆ์ ๋ณต์.** `brainSel.onchange` ๊ฐ `'new'` ๋ฅผ ๊ฐ์งํ๋ฉด `addBrain` ๋ฉ์์ง๋ฅผ ๋ณด๋๊ณผ *๋์์* dropdown ์ ์ง์ ์ ํจ ์ ํ(`brainSel.dataset.lastSelected`)์ผ๋ก ์ฆ์ ๋๋๋ฆผ. ์ฌ์ฉ์๊ฐ ํด๋ ์ ํ์ ์ทจ์ํด๋ dropdown ์ด `'new'` ๋ก ๊ตณ์ง ์๋๋ค.
- **์์ 3 โ Edit/Delete ํด๋ฐฑ.** ๋ ๋ฒํผ์ด ๋ง์ฝ dropdown ์ด `'new'` ์ธ ์๊ฐ์๋ ์๋ํ๋๋ก ์ง์ ์ ํจ ์ ํ ๋๋ ์ฒซ ์ค์ ์ต์
์ผ๋ก ํด๋ฐฑ. ๋ ์ด์ silent early-return ์์.
- **์ ๊ท ํจํค์ง:** `astra-2.2.67.vsix`.
---
## v2.2.66 (2026-05-23)
### ๐ง ๋๋(์ง์ ํด๋) ๋๋กญ๋ค์ด ํ๊ท ์์
- **๋ฌธ์ :** ์ฌ์ด๋๋ฐ ์ปจํ
์คํธ ๋ฐ์ ๋๋ ์ ํ์๊ฐ ๊ฐ์๊ธฐ `+ Add New Brain...` ํ๋๋ง ๋ณด์ด๋ ์ํ. readyBar ์๋ `Brain 5407` ์ฒ๋ผ brain ์์ฒด๋ ์ ์ ์ธ์๋๋๋ฐ dropdown ๋ง ๋น.
- **์์ธ ์ถ์ :** webview ์ `ready` ํธ๋์
ฐ์ดํฌ ์ฒด์ธ (`_sendBrainStatus โ _sendBrainProfiles โ _sendSessionList โ _sendModels โ _sendChronicleProjects โ _restoreActiveSessionIntoView โ _sendReadyStatus`) ๋์ค ํ ๋จ๊ณ๊ฐ throw ํ๋ฉด ๊ทธ ๋ค๊ฐ ํต์งธ๋ก ์ ๋๋ ๊ตฌ์กฐ. ๋๋ ๋น profiles ๋ฐฐ์ด ๋ฉ์์ง๊ฐ ํ ๋ฒ์ด๋ผ๋ ๋์ฐฉํ๋ฉด ๊ธฐ์กด dropdown ์ต์
์ ๊ทธ๋๋ก ๋น์๋ฒ๋ฆฌ๋ ํธ๋ค๋ฌ.
- **์์ 1 โ sidebar.js ๋ฐฉ์ด:** `brainProfiles` ๋ฉ์์ง์ `profiles` ๊ฐ ๋น ๋ฐฐ์ด/undefined ์ด๋ฉด ๊ธฐ์กด dropdown ์ต์
์ ๋ณด์กดํ๊ณ warn ๋ก๊ทธ๋ง ๋จ๊ธด๋ค. ์๋ชป๋ ์ํ๋ก ์ต์
์ 0๊ฐ๋ก ๋ง๋ค์ด `+ Add New Brain...` ๋ง ๋จ๊ธฐ๋ ํ๊ท ์ฐจ๋จ. `case` ๋ธ๋ก์ `{...}` scope ๋ก ๊ฐ์ธ ํฅํ const ๋ช
์ถฉ๋๋ ์๋ฐฉ.
- **์์ 2 โ ์ด๊ธฐ setup ์ด์ค ๋ณด์ฅ:** sidebarProvider.ts view ์์ฑ ์์ ์ `_restoreActiveSessionIntoView` + `_sendReadyStatus` ์ธ์ `_sendBrainProfiles` / `_sendAgentsList` / `_sendModels` ๋ ์ง์ ํ ๋ฒ ํธ์. 'ready' ์ฒด์ธ์ด ๊นจ์ ธ๋ dropdown ์ ์ด์ ์์.
- **์์ 3 โ ์ง๋จ ๋ก๊ทธ:** `_sendBrainProfiles` ๊ฐ ํธ์ถ๋ ๋๋ง๋ค `profiles=N activeBrainId=X` ๋ฅผ logInfo. ์ฌ๋ฐ ์ Output โ Astra ์ฑ๋๋ง ๋ณด๋ฉด ์์ธ ์ฆ์ ํ๋ณ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.66.vsix`.
---
## v2.2.65 (2026-05-23)
### ๐งผ ๋งํฌ๋ค์ด ๋ง์ปค 2์ฐจ sanitize โ enforcer ์ฌ์ฃผ์
๊น์ง ์ฐจ๋จ
- **๋ฌธ์ :** v2.2.64 ์์ `stripMarkdownFormatting` ์ `cleanedVisible` (๋ชจ๋ธ raw ์ถ๋ ฅ ์งํ) ์๋ง ์ ์ฉํ๋๋ฐ, ๊ทธ ์ดํ ๋จ๊ณ์ธ `enforceLocalPathReviewAnswer` ๊ฐ sanitize ๋ ๋ต๋ณ ์์ `## ๊ฒฝ๋ก ํ์ธ ๊ฒฐ๊ณผ` ํค๋๋ฅผ ํ๋์ฝ๋ฉ์ผ๋ก ๋ค์ prepend โ ํ๋ฉด์๋ ๋ง์ปค๊ฐ ๊ทธ๋๋ก ๋
ธ์ถ. `## ๊ฐ๋จ ์์ฝ`, `## ๊ฐ์ `, `## ๊ทผ๊ฑฐ`, `## ๋ค์ ์ก์
` ๋ฑ ~20๊ณณ์์ ๊ฐ์ ํจํด.
- **์์ :** `agent.ts` `finalAssistantContent` (webview / chatHistory ์ ๋ค์ด๊ฐ๋ ์ง์ง ์ต์ข
๋ฌธ์์ด) ๋จ๊ณ์ sanitizer 2์ฐจ ํจ์ค๋ฅผ ์ถ๊ฐ. 1์ฐจ(๋ชจ๋ธ ์ถ๋ ฅ) + 2์ฐจ(enforcer ์ถ๋ ฅ) ์ด์ค ๋ฐฉ์ด๋ก ์ด๋ค ์ฝ๋ ๊ฒฝ๋ก์์ `##`/`**` ๊ฐ prepend ๋์ด๋ ๋์คํ๋ ์ด ์ง์ ์ ๋ชจ๋ ๋ฒ๊ฒจ์ง๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.65.vsix`.
---
## v2.2.64 (2026-05-23)
### ๐ชถ Plain-text ์ถ๋ ฅ + ๊ธด ๋ต๋ณ ๊ฐ์ ์์ฝ
- **๋ฌธ์ :** ์์ ๋ก์ปฌ ๋ชจ๋ธ์ด ํ์ต๋ ์ต๊ด์ผ๋ก `## ๋ค์ ํ ์`, `**` ๊ฐ์กฐ ๋ง์ปค๋ฅผ ๊ทธ๋๋ก ๋
ธ์ถ. ์ด๋ค ๋ต๋ณ์ ๋ผ๋ฒจ๋ง ์๊ณ ๋ณธ๋ก ์ผ๋ก ๊ณง์ฅ ๋ค์ด๊ฐ์ ์ฌ์ฉ์๊ฐ ํํฉ์ ๋น ๋ฅด๊ฒ ํ์
ํ๊ธฐ ์ด๋ ค์.
- **์์ 1 โ ํ์ฒ๋ฆฌ sanitizer.** `responseRecovery.ts` ์ `stripMarkdownFormatting(text)` ์ถ๊ฐ. ์ฝ๋ ๋ธ๋ก/์ธ๋ผ์ธ ์ฝ๋๋ ๋ณด์กดํ๊ณ ์ค ์์ `#{1,6}\s+` ํค๋ ๋ง์ปค, `**bold**` / `__bold__`, ๋จ์ผ `*๊ฐ์กฐ*`, blockquote `> `, asterisk ๋ถ๋ฆฟ `* ` ๋ง ์ ๊ฑฐ. ๋ผ๋ฒจ ํ
์คํธ(`ํต์ฌ ์์ฝ`, `๋ค์ ํ ์`)๋ ๊ทธ๋๋ก ์ ์ง.
- **์์ 2 โ Synthesizer ๊ฐ์ ๊ท์น.** Synthesizer ํ๋ฅด์๋์ `[FORMAT โ PLAIN TEXT ONLY, NO MARKDOWN]` ๋ธ๋ก๊ณผ `[STRUCTURE]` ๋ธ๋ก ์ถ๊ฐ. **๋ต๋ณ์ด ~4๋ฌธ์ฅ / ~400์ ๋ฅผ ๋์ผ๋ฉด ๋ฐ๋์ `ํต์ฌ ์์ฝ` ๋ธ๋ก(2~4 bullets)์ ๋ต๋ณ ๋งจ ์์ ๋ฃ๋๋ค.** ์งง์ ๋ต๋ณ์ ๊ทธ๋๋ก.
- **์์ 3 โ BASE_SYSTEM_PROMPT ์ ๋น.** ๊ธฐ์กด `[OUTPUT FORMAT]` ์ `## ํต์ฌ ์์ฝ`, `## ์์ธ ์ค๋ช
` ๊ฐ์ ๋งํฌ๋ค์ด ํค๋ ์์ โ bare label (์: `ํต์ฌ ์์ฝ`) ๋ก ๊ต์ฒด. `[STRICT GLOBAL RULES]` ์ `[NO MARKDOWN MARKERS]` ๋ช
๋ฌธํ. ๋จ์ผ ์์ด์ ํธ ๊ฒฝ๋ก๋ plain text ์ถ๋ ฅ.
- **์์ 4 โ review-evaluation ๊ฐ์ด๋ ์ ๋น.** `1. ## ํ ์ค ํ๋จ` ๊ฐ์ markdown-prefix ๋ผ๋ฒจ โ `1) ํ ์ค ํ๋จ` ์ผ๋ก ๊ต์ฒด. ๋งํฌ๋ค์ด ๋ง์ปค๊ฐ prompt ๋จ๊ณ์์ ๋ชจ๋ธ์ ํ์ต๋์ง ์๋๋ก.
- **์์ 5 โ Drafter ํ๋ฅด์๋ ์ ๋น.** ์น์
๋ผ๋ฒจ๋ plain text. Synthesizer๊ฐ ๋ฐ๋ ์
๋ ฅ์ด ๊นจ๋ํด์ผ ์ต์ข
์ถ๋ ฅ๋ ๊นจ๋.
- **์์ชฝ ๊ฒฝ๋ก ์ ์ฉ.** ๋จ์ผ ์์ด์ ํธ(`agent.ts` line ~1189) + multi-agent (`finalReport` ์ง์ ) ๋ ๊ณณ ๋ชจ๋์์ `outputFormat === 'plain'` ์ด๋ฉด sanitizer ํต๊ณผ. `chatHistory` ์๋ ์ ์ ๋ณธ๋ง ์ ์ฅ โ ๋ค์ ํด ์ปจํ
์คํธ์์ ๋ง์ปค๊ฐ ์ฌํ์ต๋์ง ์์.
- **์ ๊ท ์ค์ :** `g1nation.outputFormat` (`plain` ๊ธฐ๋ณธ / `markdown` opt-out).
### ๐งฉ 5๋จ๊ณ ํ์ดํ๋ผ์ธ (Planner โ Researcher โ Reflector โ Drafter โ Synthesizer) + ๊น๋ํ ์คํธ๋ฆผ
- **๋ฌธ์ :** ์์ ๋ก์ปฌ ๋ชจ๋ธ(์: gemma 4 e2b/e4b)์ด ์ปจํ
์คํธ ํ๊ณ ๋๋ฌธ์ ํ ๋ฒ์ ๋ต์ ๋๋ด๋ ค๋ค EOS/์๋ฆผ ๋ฐ์. ๋ multi-agent ๋ชจ๋์ผ ๋ ์ฑํ
๋ณธ๋ฌธ์ `> **[Planner]** ...` ๊ฐ์ ๋จ๊ณ ๋ฉ์์ง๊ฐ ๋ณธ๋ฌธ์ ์์ฌ ์ฌ์ฉ์์๊ฒ ๋ต๋ตํจ. ์ผ๋ถ ์๋ต์์ `<|channel|>thought ...` ๊ฐ์ control token์ด ์งง๊ฒ ๋
ธ์ถ.
- **์์ 1 โ Synthesizer ๋จ๊ณ ์ถ๊ฐ (5๋ฒ์งธ).** Drafter(=๊ธฐ์กด Writer)๊ฐ 1์ฐจ ์ด์๋ง ๋น ๋ฅด๊ฒ ์์ฑํ๊ณ , **Synthesizer**๊ฐ ์์ draft๋ง ๋ฐ์ ๋์
ํ ์คยท์น์
ํ๋ฆยท๊ฒฐ๋ก ์ ์ ๋ฆฌ. ์
๋ ฅ์ด ๊ฐ๋ฒผ์ ์์ ๋ชจ๋ธ๋ก๋ ํ ๋ฒ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ. ์ ๊ท ํด๋์ค `SynthesizerAgent` (`src/agents/factory.ts`), `AgentEngine` ์์ฑ์ 4๋ฒ์งธ ํ๋ผ๋ฏธํฐ, `PipelineStage` ์ `synthesizer` ์ถ๊ฐ.
- **์์ 2 โ ์๋ ๋ฐ๋ ํ์ฅ.** ๊ธฐ์กด ํธ๋ฆฌ๊ฑฐ๋ prompt > 180์ + ํค์๋์ผ ๋๋ง โ ์์ ๋ชจ๋ธ์ผ ๋๋ single-agent ๋ก ๊ฐ๋ค ํญ์ฌ. ์ ๊ท `g1nation.workflow.multiAgentMode` (`auto`/`always`/`off`) ์์ **`auto` ๊ธฐ๋ณธ๊ฐ:** (a) ๋ชจ๋ธ โค4B (b) prompt ๊ฐ ์ปจํ
์คํธ์ 30% ์ด์ (c) "์ฝ๋ ๋ฆฌ๋ทฐ/์ฌ์ธต ๋ถ์/๋ณด๊ณ ์" ๋ฑ ํค์๋ (d) ์ฌ์ฉ์๊ฐ `multiAgentEnabled` ๋ช
์์ ON โ ์ค ํ๋๋ง ๋ง์กฑํด๋ 5๋จ๊ณ ๋ฐ๋. ์ธ์ฌยท12์ ๋ฏธ๋ง prompt ๋ ์ ์ธ.
- **์์ 3 โ ๋จ๊ณ ๋ฉ์์ง๋ฅผ ์ฑํ
๋ณธ๋ฌธ์์ ๋ถ๋ฆฌ.** ์งํ ์ํ(`> **[Researcher]** ...`)๋ฅผ ์ฑํ
๋ฒ๋ธ์ ํ๋ฆฌ๋ ์ฝ๋ ์ ๊ฑฐ. ๋์ ์ ๊ท webview message `workflowStage` ๊ฐ ์ฌ์ด๋๋ฐ ์๋จ์ `statusLabel + thinkingBar` ํ ์ค์๋ง ํ์ โ "์๊ฐ ๋จ๊ณ๊ฐ ๋ณธ๋ฌธ์ ๊ณ์ ๋ณด์" ๋ต๋ตํจ ์ ๊ฑฐ. ๋ผ๋ฒจ๋ `โ ๊ณํ โ โก ์๋ฃ ์์ง โ โข ์๊ธฐ ๊ฒ์ฆ โ โฃ ์ด์ ์์ฑ โ โค ์ต์ข
์ ๋ฆฌ` ํ๊ตญ์ด + ๋ฒํธ๋ก ํต์ผ.
- **์์ 4 โ ๋ผ์ด๋ธ ํ ํฐ ์คํธ๋ฆฌ๋ฐ ๊ธฐ๋ณธ OFF.** ์ ๊ท `g1nation.liveStreamTokens` (๊ธฐ๋ณธ `false`): ํ ํฐ์ ๋ด๋ถ์์๋ง ๋์ ํ๊ณ `extractVisibleFinal` sanitize ๋๋ ์ต์ข
๋ต๋ณ๋ง ํ ๋ฒ์ ํ์ โ Harmony `<|channel|>thought`/`` ๋ง์ปค๊ฐ ์ ์๋ผ๋ ํ๋ฉด์ ๋
ธ์ถ๋๋ ๋์ค ์์ฒ ์ฐจ๋จ. `true` ๋ก ๋๋ฉด legacy ๋ผ์ด๋ธ ์คํธ๋ฆฌ๋ฐ ๋ณต์.
- **์ ๊ท ์ค์ 4๊ฐ:** `g1nation.workflow.synthesizerEnabled` (๊ธฐ๋ณธ true), `g1nation.workflow.multiAgentMode` (auto/always/off, ๊ธฐ๋ณธ auto), `g1nation.workflow.autoCtxFractionThreshold` (๊ธฐ๋ณธ 0.30), `g1nation.liveStreamTokens` (๊ธฐ๋ณธ false).
- **์ํํธ ํ์ผ ๋ณด์ฅ:** Synthesizer๊ฐ ๋น ์ถ๋ ฅ/์์ธ๋ฅผ ๋ด๋ ๋ฏธ์
์ ๋ง์ง ์๊ณ Drafter ์ด์์ ๊ทธ๋๋ก ์ต์ข
๋ต๋ณ์ผ๋ก ์ฌ์ฉ. Reflector์ ๋์ผํ ํจํด.
- **์ ๊ท ํจํค์ง:** `astra-2.2.64.vsix`.
---
## v2.2.63 (2026-05-22)
### ๐๏ธ ํ๊ตญ์ด ์คํ ์ต์ํ โ ์ฑํ
Temperature ์ค์ + anti-glitch ์ํ๋ง
- **๋ฌธ์ :** ์ฑํ
๋ถ์ ๋ต๋ณ์ ํ๊ตญ์ด ์คํ(`๋ถ๊ดด`โ`๋ถ์ `, `ํต์ฌ`โ`ํต์ `, `ํ
์คํธ`โ`ํ
๋ก`)๊ฐ ์ฆ์. ํ ํฐ ๋จ์ ์ํ๋ง glitch.
- **์์ธ:** ๋ฉ์ธ ์ฑํ
๊ฒฝ๋ก๊ฐ `temperature 0.7`(์ฐฝ์์ฉ)์ `top_p`ยท`top_k`ยท`min_p`ยท`repeat_penalty`๋ฅผ **ํ๋๋ ์ ๋ณด๋**. 2.2.54์ anti-glitch ์ํ๋ง์ ์ฌ๋์ ๋ช
๋ น์๋ง ์ ์ฉ๋ผ ์์์.
- **์์ 1 โ ์ฑํ
์ํ๋ง ๊ฐํ.** LM Studio SDK ํธ์ถ์ `topP 0.9`ยท`topK 20`ยท`minP 0.05`ยท`repeatPenalty 1.1` ์ถ๊ฐ. ์ ํ๋ฅ ์ค๋ต ํ ํฐ์ ์๋ผ๋ด ํ ๊ธ์ ์ค๋ฅยท๋๋ฌ์(`๊ฒ์
๋๋ค์์
๋๋ค`)์ ์ต์ .
- **์์ 2 โ ์ฑํ
๊ธฐ๋ณธ temperature 0.7 โ 0.3.** ๋ถ์ยท์
๋ฌดํ ๋ต๋ณ์์ ์ค๋ต ํ ํฐ ์ฑํ์ ํฌ๊ฒ ์ค์.
- **์ ๊ท ์ค์ `g1nation.chatTemperature`** (๊ธฐ๋ณธ 0.3, 0~2). **Astra Settings ํจ๋ '๊ณ ๊ธ' ์น์
**์์ ์กฐ์ ๊ฐ๋ฅ โ ๋ฎ์ถ์๋ก ์คํยทํ๊ฐ์ด ์ค๊ณ ์์ ์ , ๋์ผ์๋ก ํํ์ด ๋ค์.
- **ํ๊ณ:** `๋ถ์ `์ฒ๋ผ ๋ฉ์ฉกํ ํ๊ธ ๋ ๊ธ์๋ก ๋ณด์ด๋ ๊นจ์ง์ ์ฌํ ๊ต์ ์ด ๋ถ๊ฐ โ ๊ทผ๋ณธ ํด๊ฒฐ์ ์์ํ ๋ฑ๊ธ ์ํฅ(Q4โQ6/Q8) ๋๋ ํ๊ตญ์ด๊ฐ ๊ฐํ ๋ชจ๋ธ ์ฌ์ฉ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.63.vsix`.
---
## v2.2.62 (2026-05-22)
### ๐งน ๋ชจ๋ธ ์ถ๋ ฅ ๋ถ๊ดด(degeneration) ๋ฐฉ์ด โ ๊ฐ๋
์ฑ ๋ณดํธ
- **๋ฌธ์ :** ๊ธด ์ธ์
์ ๋ถ์ ๋ต๋ณ์์ โ ๊ฐ์ ๋ถ์์ด ํต์งธ๋ก ๋ ๋ฒ ์์ฑ๋จ โก๋ฐ์ค `___` ์๋ฐฑ ๊ฐ ๋ฑ ๋ฌธ์ ๋ฒฝ โข`(Note: I am acting as ...)` ๋ฉํ ๋
ธํธ ๋ฐ๋ณต โฃ๋ด๋ถ ์ง์๋ฌธ `Candidate records for this discussion...` ๋์ถ โค`[ํต์ฌ ํ์ธ ์ง๋ฌธ]`ยท`(์ง๋ฌธ ์๋: โฆ)` ๋์ถ. ๋งํฌ๋ค์ด/ํ
์ด๋ธ์ด ๊นจ์ ธ ๋ ๋๋ง ๋ถ๊ฐ.
- **์์ธ:** ์ํ ๋ก์ปฌ ๋ชจ๋ธ์ด ๊ธด ์ปจํ
์คํธ์์ ๋ถ๊ดด. ํนํ auto-continuation์ด "์ด์ด์ ์ฐ๋ผ"๋ ์ง์๋ฅผ ๋ฌด์ํ๊ณ ๋ต๋ณ์ ์ฒ์๋ถํฐ **์ฌ์์ฑ** โ `mergeContinuationParts`๊ฐ ์ค๋ณต์ ๋ชป ๊ฑธ๋ฌ ํต์งธ๋ก ์ด์ด ๋ถ์.
- **์์ 1 โ ์ฌ์์ ๊ฐ์ง.** continuation ๊ฒฐ๊ณผ๊ฐ ๊ธฐ์กด ๋ต๋ณ๊ณผ ๊ฐ์ ๋์
๋ถ๋ก ์์ํ๋ฉด(์๋ถ๋ถ 12์+ ์ผ์น) "์ด์ด์ฐ๊ธฐ"๊ฐ ์๋ "์ฌ์์"์ผ๋ก ํ์ ํด **๋ฒ๋ฆผ**. ๋ถ์์ด ๋ ๋ฒ ๋์ค๋ ๋ฌธ์ ์ ๊ฑฐ.
- **์์ 2 โ degeneration ์ ๋ฆฌ ํจ์ค.** ์ต์ข
์ถ๋ ฅ์์ ๋ฌธ์ ๋ฒฝ(๊ฐ์ ๊ธฐํธ 8๊ฐ+), `(Note: โฆ)` ๋ฉํ ๋
ธํธ, `Candidate recordsโฆ` ๋ด๋ถ ์ง์๋ฌธ, `(์ง๋ฌธ ์๋: โฆ)`ยท`[ํต์ฌ ํ์ธ ์ง๋ฌธ]` ๋์ถ, ์ฐ์ ์ค๋ณต ๋ฌธ๋จ์ ์ ๊ฑฐ. ๋ชจ๋ธ์ด ๋ถ๊ดดํด๋ ๋ต๋ณ์ ์ฝ์ ์ ์๊ฒ ์ ์ง.
- **ํ๊ณ:** ํ๊ธ-ํ๊ธ ํ ํฐ ๊นจ์ง(`๋ถ๊ดด`โ`๋ถ์ `, `ํต์ฌ`โ`ํต์ `)์ ๋ฉ์ฉกํ ๋จ์ด์ฒ๋ผ ๋ณด์ฌ ํ์ง ๋ถ๊ฐ โ ์ด๋ ๋ชจ๋ธ ์์ฒด ํ๊ณ. ๊ธด ์ธ์
์์๋ `/newChat`์ผ๋ก ์ด๊ธฐํ ๊ถ์ฅ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.62.vsix`.
---
## v2.2.61 (2026-05-22)
### ๐ ์ถ๋ ฅ ์๋ ์ก์
์ 2๋ฒ์งธ LLM ํธ์ถ ์๋ต โ "๋น ์๋ต" ๊ทผ๋ณธ ์์ธ ์ ๊ฑฐ
- **๋ฌธ์ :** `git ์ปค๋ฐํด์ค` ํ ๋ฒ์ LLM์ด 2๋ฒ ํธ์ถ๋จ โ โ `` ์ก์
์ ๋ฑ๋ ํธ์ถ, โก๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ๋ continuation ํธ์ถ. 2๋ฒ์งธ๊ฐ ๋น ์๋ต(`eosFound`)์ผ๋ก ์คํจ.
- **์์ธ:** `run_command`๋ ํฐ๋ฏธ๋ ์ถ๋ ฅ์ ์บก์ฒํ์ง ์์ ๋ํ์ ์ฃผ์
ํ๋ ๋ด์ฉ์ด ์๋๋ฐ๋, ASTRA๋ continuation์์ 26K+ ํ ํฐ ์ ์ฒด ์ปจํ
์คํธ๋ฅผ ๋ค์ ์ค์ด "๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ๋ตํ๋ผ"๋ ๋ฌด์๋ฏธํ 2๋ฒ์งธ ํธ์ถ์ ํจ. ๋น์ฝํ ๋ก์ปฌ ๋ชจ๋ธ์ด 81% ์ฐฌ ์ปจํ
์คํธ์์ ๋ถ๊ดด(์ฒซ ํ ํฐ๋ถํฐ EOS). ํ์ด๋ฐ race๊ฐ ์๋๋ผ ๋ถํ์ํ๊ฒ ๋ฌด๊ฑฐ์ด 2๋ฒ์งธ ํธ์ถ์ด ์์ธ.
- **์์ :** ์ก์
์ด ๋ชจ๋ธ์ด ํด์ํ ๋ด์ฉ์ ์ค์ ๋ก ์ฃผ์
ํ๋์ง(`read_file`/`list_files`/`read_brain`/`read_sheet`๋ ์์คํ
๋ฉ์์ง ์ฃผ์
, `run_command`ยทํ์ผ ์์ฑ/์์ /์ญ์ ๋ ์ฃผ์
์์) ํ์ . **์ฃผ์
์ด ์์ผ๋ฉด continuation LLM ํธ์ถ์ ์๋ต**ํ๊ณ ๊ฒฐ์ ๋ก ์ ํ์ ๋ฉ์์ง("์คํํ ์์
: โฆ")๋ง ์ถ๋ ฅ. ์ฝ๊ธฐ ๊ณ์ด ์ก์
์ continuation ์ ์ง.
- ํจ๊ณผ: `run_command`ยทํ์ผ ์ฐ๊ธฐ ํ ๋น ์๋ต์ด ์ฌ๋ผ์ง๊ณ , ๋ ๋น ๋ฅด๊ณ (๋ถํ์ํ 26K ํ ํฐ ํธ์ถ ์ ๊ฑฐ) ์ค์ ์คํ๋ ๋ช
๋ น์ ๊ทธ๋๋ก ํ์ธ ๊ฐ๋ฅ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.61.vsix`.
---
## v2.2.60 (2026-05-22)
### ๐ง `&&` ๋ช
๋ น ์ฒด์ด๋ โ ์ฝ๋ ๋ ๋ฒจ์์ PowerShell ๋ฌธ๋ฒ์ผ๋ก ์๋ ๋ณํ
- **๋ฌธ์ :** v2.2.59์์ ํ๋กฌํํธ๋ก "`&&` ์ฐ์ง ๋ง๋ผ"๊ณ ์ง์ํ์ผ๋, ๋ชจ๋ธ์ด ์ฌ์ ํ `cd ... && git add . && git commit ... && git push`๋ฅผ ์ถ๋ ฅ โ PowerShell 5.1์์ `'&&' ํ ํฐ์ ์ฌ๋ฐ๋ฅธ ๋ฌธ ๊ตฌ๋ถ ๊ธฐํธ๊ฐ ์๋๋๋ค` ํ์ ์ค๋ฅ๋ก **๋ช
๋ น ์ ์ฒด๊ฐ ์คํ ์คํจ**.
- **์์ธ:** ๋ชจ๋ git/npm ํํ ๋ฆฌ์ผ์ด `&&`๋ฅผ ์ฐ๋ฏ๋ก, ์์คํ
ํ๋กฌํํธ ๊ท์น๋ง์ผ๋ก๋ ์ํ ๋ก์ปฌ ๋ชจ๋ธ์ `&&` ์ถ๋ ฅ์ ์ ๋ขฐ์ฑ ์๊ฒ ๋ง์ ์ ์์.
- **์์ :** `sanitizeCommand`๊ฐ ํฐ๋ฏธ๋๋ก ๋ณด๋ด๊ธฐ ์ง์ **`&&` ์ฒด์ธ์ PowerShell ์กฐ๊ฑด๋ถ ์ฒด์ธ์ผ๋ก ๊ฒฐ์ ๋ก ์ ๋ณํ**. `A && B && C` โ `A; if ($?) { B; if ($?) { C } }`. `$?`๋ก ๋จ์ถ ํ๊ฐ(short-circuit)๋ฅผ ๋ณด์กด โ ์: `cd` ์คํจ ์ `git`์ด ์๋ฑํ ๋๋ ํฐ๋ฆฌ์์ ์คํ๋์ง ์์. ๋ฐ์ดํ ์์ `&&`(์ปค๋ฐ ๋ฉ์์ง ๋ฑ)๋ ๋ถ๋ฆฌ ๋์์์ ์ ์ธ.
- ์ด์ ๋ชจ๋ธ์ด `&&`๋ฅผ ์ถ๋ ฅํด๋ git add/commit/push ๋ค๋จ๊ณ ๋ช
๋ น์ด ์ ์ ์คํ๋จ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.60.vsix`.
---
## v2.2.59 (2026-05-22)
### ๐ฉน ๊ธด ๋ํ์์ "๋น ์๋ต" ์ฐจ๋จ โ ์ถ๋ ฅ ํ ํฐ ์์ฐ ํ๋ณด
- **๋ฌธ์ :** ๊ธด ์ธ์
(์: 34๊ฐ ๋ฉ์์ง, ~29.6K ํ ํฐ)์์ ๋ชจ๋ธ์ด ๋น ์๋ต์ ๋ฐํํ๊ณ "AI ์์ง์ด ๋น ์๋ต์ ๋ฐํํ์ต๋๋ค / Output budget: 1,073 tokens" ์ค๋ฅ ์ถ๋ ฅ.
- **์์ธ:** ๋ํ ๊ธฐ๋ก ์์ถ(`trimHistoryToBudget`)์ด ์ถ๋ ฅ์ฉ์ผ๋ก **๋จ 512ํ ํฐ(`minOutputTokens`)๋ง ์์ฝ**ํ์. ๊ทธ๋์ 32K ์๋์ฐ๊ฐ ๊ฑฐ์ ๋ค ์ฐฐ ๋๊น์ง ํ๋กฌํํธ๊ฐ ์๋ผ๋๋ก ํ์ฉ โ ๋ต๋ณ์ ~1K ํ ํฐ๋ง ๋จ์. gemma 4B-active ๊ฐ์ ์ํ/MoE ๋ก์ปฌ ๋ชจ๋ธ์ ์ด ์๋ฐ์์ ์ฒซ ํ ํฐ๋ถํฐ EOS๋ฅผ ๋ฑ์ด **๋น ์๋ต**์ ๋.
- **์์ :** ๊ธฐ๋กยท์์คํ
ํ๋กฌํํธ๋ฅผ ์๋ฅด๊ธฐ ์ ์ **์ค์ ๋ต๋ณ์ฉ ์์ฐ(`preferredOutputReserve`)์ ์ปจํ
์คํธ์ ~10%, ์ต์ 2048ํ ํฐ ํ๋ณด**(์ํ์ `maxOutputTokens`)ํ๋๋ก ๋ณ๊ฒฝ. ์ด์ ํ๋กฌํํธ๊ฐ ํญ์ ๋ต๋ณ ๊ณต๊ฐ์ ๋จ๊ธฐ๊ณ ์๋ ค, 32K ๋ชจ๋ธ์์๋ ์ถ๋ ฅ ์์ฐ์ด 3K+ ๋ณด์ฅ๋จ. `minOutputTokens`(512)๋ ์ ๋ ํํ clamp ์ฉ๋๋ก๋ง ์ ์ง.
- **์ถ๊ฐ:** `[EXECUTION RULE]`์ PowerShell ์ฒด์ด๋ ๊ท์น ๋ช
์ โ ๋ช
๋ น ์ฐ๊ฒฐ์ `;` ์ฌ์ฉ, `&&` ๊ธ์ง(PowerShell 5.1 ๊ตฌ๋ฌธ ์ค๋ฅ). git add/commit/push ๊ฐ์ ๋ค๋จ๊ณ ๋ช
๋ น์ด ํฐ๋ฏธ๋์์ ์ ์ ์คํ๋จ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.59.vsix`.
---
## v2.2.58 (2026-05-22)
### ๐ ๋ต๋ณ์ "ํต์ฌ ์์ฝ ๋จผ์ , ์์ธ ์๋" โ ํ๋์ ๋ค์ด์ค๋ ์ถ๋ ฅ ํฌ๋งท
- **๋ฌธ์ :** ๋ต๋ณ ๋ด์ฉ ํ๋ฆฌํฐ๋ ์ข์ผ๋ ๋ถ๋์ด ๊ธธ์ด ํ๋์ ์ ๋ค์ด์ด. ๊ฒ๋ค๊ฐ ์์ฝ(`## ์์ฝ`)์ด ๋งจ ์๊ฐ ์๋๋ผ **๋งจ ์๋**์ ์ถ๋ ฅ๋๊ณ , `## ## ์์ฝ`์ฒ๋ผ ํค๋ฉ ์ ๋์ฌ๊ฐ ์ค๋ณต๋๋ฉฐ, ์ด๋ฏธ ๊ธ์ง๋ "ํต์ฌ ํ์ธ ์ง๋ฌธ" ์น์
์ด ๋์ถ๋จ.
- **์์ธ:** `[OUTPUT FORMAT]`์ด "๊ธฐ์ ๋ถ์/์ํคํ
์ฒ/ํธ๋ฌ๋ธ์ํ
/์ ๋ต ๊ธฐํ์ผ ๋๋ง" 3์น์
์ ์ฐ๋ผ๋ **๋ชจํธํ ์นดํ
๊ณ ๋ฆฌ ๊ฒ์ดํธ**๋ผ, ์ผ๋ฐ ์๋ดํ ์ง๋ฌธ์์ ๋ชจ๋ธ์ด ํฌ๋งท์ ์ ๋ฉ๋๋ก ํด์ํจ.
- **์์ 1 โ ๊ธธ์ด ๊ฒ์ดํธ.** ์นดํ
๊ณ ๋ฆฌ ๋์ **๊ธธ์ด ๊ธฐ์ค**์ผ๋ก ์ ํ: ๋ต๋ณ์ด ~4๋ฌธ์ฅ์ ๋์ผ๋ฉด ๋ฌด์กฐ๊ฑด `## ํต์ฌ ์์ฝ`(๋ถ๋ฆฟ 2~4๊ฐ, ์ ์ฒด๋ฅผ ๊ดํตํ๋ ์ค์บ ๊ฐ๋ฅํ ์์ฝ)์ **๋งจ ์**์ ์ถ๋ ฅํ๊ณ ๊ทธ ์๋ `## ์์ธ ์ค๋ช
`. ์์ฝ ์ ์ธํธ๋ก ๋ฌธ๋จ ๊ธ์ง. ์งง์ ๋ต๋ณ์ ํค๋ฉ ์์ด ๋ฐ๋ก ๋ต๋ณ.
- **์์ 2 โ ํค๋ฉ ๊ท์น.** ๋ชจ๋ ๋งํฌ๋ค์ด ํค๋ฉ์ ์ ํํ `## ` ํ๋๋ก ์์(`## ##` ์ค๋ณต ๊ธ์ง).
- **์์ 3 โ ํ์ ์ง๋ฌธ ๊ท์น ๊ฐํ.** ํ์ ์ง๋ฌธ์ ํ ๋ฌธ์ฅยทํ ์คยท๋ผ๋ฒจ ์์. ์น์
ํค๋ฉยท"์ง๋ฌธ ์๋" ์ค๋ช
ยท๋ณต์ ์ง๋ฌธ ๊ธ์ง โ "ํต์ฌ ํ์ธ ์ง๋ฌธ" ์น์
๋์ถ ์ฐจ๋จ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.58.vsix`.
---
## v2.2.57 (2026-05-22)
### ๐ ์คํ ์์ฒญ์ ์ค๋ช
๋์ ์ฆ์ ์คํ โ `[EXECUTION RULE]` ์ถ๊ฐ
- **๋ฌธ์ :** "E:\Wiki\Datacollect ์๋ฒ ์คํํด์ค" ๊ฐ์ ์์ฒญ์ ASTRA๊ฐ ์ง์ ์คํํ์ง ์๊ณ , `npm run platform` ๋ฑ ์ถ์ธก์ฑ ๋ช
๋ นยท์กด์ฌํ์ง ์๋ ํฌํธ(`8787`)ยทํ๊ฒฝ๋ณ์(`GEMINI_API_KEY`)๋ฅผ ์ง์ด๋ด๋ฉฐ "์ด๋ ๊ฒ ํ์๊ธฐ ๋ฐ๋๋๋ค" ์ ํํ ๋ฆฌ์ผ๋ง ์ถ๋ ฅํ์.
- **์์ธ:** ์์คํ
ํ๋กฌํํธ์ `[LOCAL PATH RULE]`์ด "review/analysis/debugging"๋ง ๋ค๋ค, "์คํ/๊ตฌ๋/์์" ์์ฒญ์ ๋ฐ๋๋๋ ๊ท์น์ด ์ ๋ฌดํ์. ๋ชจ๋ธ์ด ํ์ต prior๋๋ก ์ฐ๋ฌธ ์ค๋ช
์ผ๋ก ํ๊ท.
- **์์ 1 โ ํ๋กฌํํธ.** `[EXECUTION RULE]` ์ ์ค: ์คํ/๊ตฌ๋/์์/run/start ํค์๋ โ ํํ ๋ฆฌ์ผ ๊ธ์ง, ๋ช
๋ น์ ๋ชจ๋ฅด๋ฉด ``๋ก package.json์ ๋จผ์ ์ฝ๊ณ ๊ทธ ๋ค์ ``๋ก ์ค์ ์คํฌ๋ฆฝํธ ์คํ. ์ถ์ธกํ ์คํฌ๋ฆฝํธ๋ช
ยทํฌํธยทํ๊ฒฝ๋ณ์ ๋จ์ ๊ธ์ง. Few-shot ์์ 1๊ฑด ํฌํจ(์์ ๋ก์ปฌ ๋ชจ๋ธ์ ํ๊ทธ ์ค์์จ ํฅ์).
- **์์ 2 โ ๊ฒฝ๋ก ๊ฒฝ๊ณ.** ``/``๊ฐ ์ํฌ์คํ์ด์ค ์์ผ๋ก๋ง ์ ํ๋ผ ํ์ ํ๋ก์ ํธ(`E:\Wiki\Datacollect` ๋ฑ)์ package.json์ ๋ชป ์ฝ๋ ๋ฌธ์ ํด๊ฒฐ. `security.ts`๊ฐ ์ํฌ์คํ์ด์ค์ **์์ ๋๋ ํฐ๋ฆฌ 1๋จ๊ณ**๊น์ง ์ ๋ขฐ ๋ฃจํธ๋ก ํฌํจ(๋๋ผ์ด๋ธ ๋ฃจํธ๋ก๋ ํ์ฅ ์ ํจ). ์ด๋ก์จ ํ์ ํ๋ก์ ํธ๋ฅผ ์ฝ์ด ์ ํํ ์คํ ๋ช
๋ น์ ์ฐพ์ ์ ์์ โ ํ๊ฐ ์ ๊ฑฐ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.57.vsix`.
---
## v2.2.56 (2026-05-22)
### โก ์ฝ๋ ๋ฆฌ๋ทฐ ๊ธฐ๋ฐ ์ฑ๋ฅยท๋ฉ๋ชจ๋ฆฌ ์ต์ ํ (12๊ฑด, ๋์ ๋ณ๊ฒฝ ์์)
- **๐ด ๋ธ๋ ์ธ ์ฝํผ์ค ๋์คํฌ ์ฌ์ฝ๊ธฐ ์ ๊ฑฐ.** `secondBrainTrace`๋ ๋ฉ์์ง๋ง๋ค ๋ธ๋ ์ธ ์ ์ฒด๋ฅผ ๋์คํฌ์์ ๋ค์ ์ฝ์ด ์ฌ๋ถ๋ฅํ์ โ mtime+size ํค ์ค์บ ์บ์๋ก ๋ณ๊ฒฝ(ํ์ผ์ด ์ค์ ๋ก ๋ฐ๋ ๋๋ง ์ฌ์ฝ๊ธฐ). `scopedBrainRetriever`(ํ
๋ ๊ทธ๋จ ๊ฒฝ๋ก)๋ ๋์ผ ์ํฐํจํด โ ์บ์๋ `getBrainTokenIndex()` + `scoreTfIdfPreTokenized` ๊ฒฝ๋ก๋ก ๋ผ์ฐํ
. ์ ์ ๊ฒฐ๊ณผ๋ ๋ฐ์ดํธ ๋จ์๋ก ๋์ผ.
- **๐ก ๋ฉ๋ชจ๋ฆฌ ๋์ยท์ค๋ณต ์์
์ ๋ฆฌ.** `agent.ts` `chatHistory` ๋ฌด์ ํ ์ฆ๊ฐ โ ์ต๊ทผ 40๊ฐ ์ ์งยท์ค๋๋ ๋๊ตฌ ๊ฒฐ๊ณผ ๋ณธ๋ฌธ ์ถ์ฝ. `EpisodicMemory` ์ํผ์๋ JSON ๋ฉ์์ง๋ง๋ค ์ฌ์ฝ๊ธฐ โ ๋๋ ํฐ๋ฆฌ mtime ํค ์บ์. `_walkBrainFiles` โ `readdirSync({withFileTypes})`ยท๋จ์ผ ๋์ฐ๊ธฐ(`concat` ์ ๊ฑฐ). TF-IDF `termFrequency` โ ๋ฌธ์๋ณ term-count `Map` 1ํ ์ฌ์ ๊ณ์ฐ. `getConfig()` ์ค๋ณต ํธ์ถ 1ํ๋ก ํตํฉ.
- **๐ข ๋์ยท์ ๋ฆฌ ๋ณด๊ฐ.** `clearBrainTokenIndex()`๋ฅผ `deactivate()`ยท๋ธ๋ ์ธ ํ๋กํ ์ ํ ์ ํธ์ถ. ์น๋ทฐ ๋ฉ์์ง ๋ฆฌ์ค๋ dispose ๋ฐฐ์ . `LongTermMemory` `longTermMaxEntries`(100) ๊ฐ์ . Pixel Office ์ธํฐ๋ฒ์ ๋ทฐ ๋นํ์ ์ ์ผ์์ ์ง. `/ping`์ ํ๋ง๋ค ๋ธ๋ ์ธ ์ ์ฒด ํ์ ๋์ 5์ด TTL ์บ์ ์๋ต.
- ์ ํญ๋ชฉ ๋์ ๋ณด์กด โ ๊ธฐ๋ฅยท์ถ๋ ฅ ๋ณ๊ฒฝ ์์. ํ์
์ฒดํฌ(`tsc --noEmit`) ๋ฌด์ค๋ฅ, ํ
์คํธ 400/400 ํต๊ณผ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.56.vsix`.
---
## v2.2.55 (2026-05-21)
### ๐
/meet โ ํ์๋ก ์ก์
์์ดํ
โ Google ์บ๋ฆฐ๋ ์๋ ๋ฑ๋ก (Phase 1)
- `/meet`์ด ํ์๋ก ํฉ์ฑยท์ ์ฅ ํ, **์ก์
์์ดํ
ํ๋ฅผ ํ์ฑํด task๋ณ ์ข
์ผ ์ผ์ ์ผ๋ก Google Calendar์ ์๋ ๋ฑ๋ก**ํ๋ค.
- ๋ ์ง ๊ท์น(์ฌ์ฉ์ ์ ์): ๋ช
์ ๋ ์ง(`YYYY-MM-DD`/`YYYY๋
M์ D์ผ`)โ๊ทธ๋๋ก / "์ฐจ์ฃผยท๋ค์ ์ฃผ"โํ์์ผ +6์ผ / "์ฆ์ยท๋น์ผ"โ๋ฑ๋ก์ผ / ๋ณํ ๋ถ๊ฐยท๋น ๊ฐโ๋ฑ๋ก์ผ +์์
์ผ 5์ผ(ํ ยท์ผ ์ ์ธ, ๊ณตํด์ผ ๋ฌด์) + ์ ๋ชฉ์ **"(๋ฏธํ์ )"** ๊ผฌ๋ฆฌํ.
- ์บ๋ฆฐ๋ ์ด๋ฒคํธ ์ค๋ช
์ ํ์ ์ ๋ชฉยท๋ด๋นยท์๋ ๊ธฐํ ํ๊ธฐ๋ฅผ ๊ธฐ๋ก. Google Calendar OAuth(์ฐ๊ธฐ)๊ฐ ์ฐ๊ฒฐ๋ผ ์์ด์ผ ํ๋ฉฐ, ๋ฏธ์ฐ๊ฒฐ ์ ํ์๋ก ์ ์ฅ๋ง ํ๊ณ ์๋ดํ๋ค.
- `handleSlashCommand`์ `ExtensionContext` ๋ฐฐ์ ์ถ๊ฐ(`/meet`๋ง ์ฌ์ฉ).
- **์ ๊ท ํจํค์ง:** `astra-2.2.55.vsix`.
---
## v2.2.54 (2026-05-21)
### ๐ง ํยท์ ํ ํฐ ๊นจ์ง ์ถ๊ฐ ๊ฐ์ โ ์ํ๋ง ์กฐ์ + ๊ต์ ํจ์ค
- **์ํ๋ง ํ๋ผ๋ฏธํฐ ์กฐ์ .** ์ฌ๋์ ํฉ์ฑ LLM ํธ์ถ์ `top_p`(0.85)ยท`top_k`(20)ยท`repeat_penalty`(1.1) ์ถ๊ฐ โ ๊นจ์ง ์ ํ๋ฅ ํ ํฐ("ํตess" ๋ฑ)์ ์ํ๋ง ์์ฒด๋ฅผ ์ต์ .
- **์กฐ๊ฑด๋ถ ๊ต์ ํจ์ค.** ํฉ์ฑ ๊ฒฐ๊ณผ์ ํยท์ ๊นจ์ง(`ํ๊ธ+์๋ฌธ ์๋ฌธ์ ์กฐ๊ฐ`)์ด ๊ฐ์ง๋๋ฉด LLM ๊ต์ ํจ์ค๋ฅผ 1ํ ๋๋ ค ๊นจ์ง ํ๊ธฐ๋ง ์์ฐ์ค๋ฌ์ด ํ๊ตญ์ด๋ก ๊ต์ . ๊นจ์ง์ด ์์ผ๋ฉด ์ถ๊ฐ ํธ์ถ ์์. ๊ต์ ๊ฒฐ๊ณผ๊ฐ ์๋ณธ๋ณด๋ค ๋น์ ์์ ์ผ๋ก ์งง์ผ๋ฉด(์๋ผ๋จน์) ์๋ณธ์ ์ ์งํ๋ ์์ ์ฅ์น ํฌํจ.
- ์ ์ฉ ๋ฒ์: `/benchmark`ยท`/youtube`ยท`/wikify`ยท`/meet` ๋ชจ๋ ์ฌ๋์ ํฉ์ฑ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.54.vsix`.
---
## v2.2.53 (2026-05-20)
### ๐ ์ ๊ท /meet โ ํ์ ๋
น์ทจ txt โ ์ฌ์ค ๊ธฐ๋ฐ ๊ตฌ์กฐํ ํ์๋ก
- **์ ๊ท ์ฌ๋์ ๋ช
๋ น `/meet [๋ฉํ๋ฐ์ดํฐ]`.** ๋ก์ปฌ ํ์ ๋
น์ทจ ํ
์คํธ ํ์ผ์ ASTRA๊ฐ ์ง์ ์ฝ์ด(๋ก์ปฌ ํ์ผ์ด๋ผ Bridge ๋ถํ์), ์ฌ์ค ๊ธฐ๋ฐ ๊ตฌ์กฐํ ํ์๋ก(Actionable Minutes)์ผ๋ก LLM ํฉ์ฑยท์ ์ฅํ๋ค.
- ์ฒ๋ฆฌ ๊ท์น: Deconstruction(์ก๋ด ์ ๊ฑฐ) โ Classification(Fact/Discussion/Decision/Risk/Action) โ Decision Logic โ Structuring. ๋ฉํ๋ฐ์ดํฐ(์ฐธ์์ยท๋ ์ง)๊ฐ ๋
น์ทจ๋ก๊ณผ ์ถฉ๋ํ๋ฉด ๋ฉํ๋ฐ์ดํฐ ์ฐ์ .
- ์ถ๋ ฅ ๊ตฌ์กฐ: ์์ฝ ๋ณด๊ณ / ์ฃผ์ ๋
ผ์ ์ฌํญ / ๋ฆฌ์คํฌยท์ด์ / ๊ฒฐ์ ์ฌํญ / ์คํ ์ด์ / ์ก์
์์ดํ
(๋ด๋นยท์์
ยท๊ธฐํ ํ).
- ๊ฒฝ๋ก์ ๊ณต๋ฐฑ์ด ์์ผ๋ฉด ๋ฐ์ดํ๋ก ๊ฐ์ ์ ์์. ๊ฒฐ๊ณผ๋ฌผ์ `.md`๋ก `WIKI_RAW_PATH`(`E:\Wiki\2nd\00_Raw`)์ ์ ์ฅ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.53.vsix`.
---
## v2.2.52 (2026-05-20)
### ๐ฆ ์ฌํจํค์ง (v2.2.51 ๋์ผ ๋ด์ฉ)
- ๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ โ v2.2.51 ์์
ํธ๋ฆฌ๋ฅผ ๋ฒ์ ๋ง ์ฌ๋ ค ์ฌํจํค์ง. ๋ฒ์ ์ ํฉ์ฑ ์ ๋ฆฌ๋ฅผ ์ํด `package-lock.json` ๋ฒ์ ๋ ํจ๊ป 2.2.52๋ก ๋๊ธฐํ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.52.vsix`.
---
## v2.2.51 (2026-05-20)
### ๐ ์ฑํ
๊ธฐ๋ก ๋ชฉ๋ก ๋๋ฝ ์์ + Python/tsc ๊ฒ์ฆ ํฌ๋ก์คํ๋ซํผํ
- **๊ธฐ๋ก(Chat History) ๋ชฉ๋ก์ ์ต๊ทผ ๋ํ๊ฐ ์ ๋จ๋ ๋ฌธ์ ์์ .** ๋ต๋ณ์ ๋ค ๋ฐ์ ๋ค ํ์ฒ๋ฆฌ ๋จ๊ณ(์ํคํ
์ฒ ๊ฐ์งยทSelf-ReflectorยทChronicle ์๋๊ธฐ๋ก ๋ฑ)์์ ์์ธ๊ฐ ํ ๋ฒ์ด๋ผ๋ ๋๋ฉด `_saveCurrentSession()`์ด ํต์งธ๋ก ๊ฑด๋๋ฐ์ด์ ธ ํ๋ฉด์ ๋ต๋ณ์ด ๋ณด์ฌ๋ ๊ธฐ๋ก ๋ชฉ๋ก์ ์ ๋ค์ด๊ฐ๋ ํ๊ท. ์ผ๋ฐ ์ฑํ
ยทํ์ฌ ๋ชจ๋ ๊ฐ๋ฒผ์ด ๋ํ ๊ฒฝ๋ก๋ฅผ `try/finally`๋ก ๊ฐ์ธ ์ ์ฅ์ **ํญ์** ๋ณด์ฅํ๊ณ , `_saveCurrentSession()` ์์ฒด๋ ์ ๋ throwํ์ง ์๊ฒ ๋ฐฉ์ด ์ฒ๋ฆฌ.
- **1์ธ ๊ธฐ์
๋ชจ๋ ์
๋ฌด ํด๋ ๊ธฐ๋ก ๋ชฉ๋ก์ ๊ธฐ๋ก.** `_runCompanyTurn`์ dispatcher๋ก ๋์ `_agent` ํ์คํ ๋ฆฌ๋ฅผ ์ฑ์ฐ์ง ์์ ๊ธฐ๋ก ๋ชฉ๋ก์ ์์ ์ ๋จ๋ ๋ฌธ์ โ ์๋ฃ๋ ์
๋ฌด ํด(`report-done`)์ `์์ฒญ/๋ณด๊ณ ์` ํ ์์ผ๋ก ๋
๋ฆฝ ํญ๋ชฉ ์ ์ฅ(`_saveCompanyTurnSession`). ์ด์ ์ด๋ ๋ชจ๋๋ ์ต๊ทผ ๋ํ๊ฐ ๋น ์ง์์ด ๊ธฐ๋ก๋จ.
- **Self-Reflector ์คํ ๊ฒ์ฆ ํฌ๋ก์คํ๋ซํผํ.** `.py` ๊ฒ์ฆ์ `python`โ`python3`(Windows๋ `python` ์ฐ์ )๋ก ์๋ ํ์ง, `.ts` ๊ฒ์ฆ์ `npx tsc` ๋์ ๋ก์ปฌ `node_modules/typescript/bin/tsc`๋ฅผ `node`๋ก ์ง์ ํธ์ถ โ macOS 12.3+/Windows์์ ๊ฒ์ฆ์ด ํ๋๋ ๋ฌธ์ ํด๊ฒฐ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.51.vsix`.
---
## v2.2.48 (2026-05-20)
### ๐งน ์ถ๋ ฅ ํ์ง โ ๋ด๋ถ ์ฒดํฌ ๋ก๊ทธ ์ฐจ๋จ + ํ์ ํ ํฐ ๊นจ์ง ์ ์
- **`[Self-Reflector Check]` ๋ด๋ถ ๊ฒ์ฆ ๋ก๊ทธ ๋
ธ์ถ ์ฐจ๋จ.** Self-Reflector Phase A๋ฅผ ๊ธฐ๋ณธ ๋นํ์ฑํ(`g1nation.selfReflector.enabled` ๊ธฐ๋ณธ๊ฐ `true`โ`false`). ๋ต๋ณ ๋์ `Consistency/Completeness/Accuracy` ๋ด๋ถ ์ฒดํฌ ๋ธ๋ก์ด ๋ ์ด์ ๋ถ์ง ์๋๋ค โ ์ผ๋ฐ ์ฑํ
ยทํ์ฌ ๋ชจ๋ ๋ชจ๋ ์ ์ฉ. ๊ธฐ๋ฅ ์์ฒด๋ ๋จ์ ์ค์ ์์ ์ผค ์ ์์.
- **ํ์ ํ ํฐ ๊นจ์ง ์ ์ .** ์ฌ๋์ ํฉ์ฑ(`callLmSynthesis`)ยท์ผ๋ฐ ์ฑํ
(`getSystemPrompt`) ์์คํ
ํ๋กฌํํธ์ ์ถ๋ ฅ ์์ ๊ท์น ์ถ๊ฐ โ ํ ๋จ์ด ์์ ํ๊ธยท์๋ฌธ ์ํ๋ฒณ ํผ์ฉ ๊ธ์ง(`๊ฒฐently`ยท`์ธorp` ๊ฐ์ ๊นจ์ง ํฉ์ฑ ํ๊ธฐ ์ฐจ๋จ), ์ธ๋์ด๋ ์์ ํ๊ธ ๋๋ ์์ ์๋ฌธ์ผ๋ก ์ผ๊ด๋๊ฒ.
- **์์ ๋ง.** ์ฌ๋์ ํฉ์ฑ ๊ฒฐ๊ณผ์ ๋ด๋ถ ๊ฒ์ฆ ๋ก๊ทธ๊ฐ ์์ด ๋์ค๋ฉด ํ์ฒ๋ฆฌ ์ ๊ท์์ผ๋ก ์๋ ์ ๊ฑฐ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.48.vsix`.
---
## v2.2.47 (2026-05-20)
### ๐ /wikify ๋ค์ค ๋งํฌ ๋ฐฐ์น ์ฒ๋ฆฌ
- `/wikify`์ **์ฌ๋ฌ ๋งํฌ๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ํ ๋ฒ์** ๋ฃ์ผ๋ฉด 1๊ฐ์ฉ ์์ฐจ ์ํคํํ๋ค. ์: `/wikify url1 url2 โฆ url10` โ 10๊ฐ ์ํค ๋ฌธ์ ์์ฑ.
- ์งํ ํ์ `[i/N]`, ํ ๊ฑด์ด ์คํจํด๋ ๋๋จธ์ง๋ ๊ณ์ ์งํ, ์๋ฃ ์ `N/M๊ฐ ์ฑ๊ณต` ์์ฝ.
- URL๊ณผ ์ฃผ์ ๋ช
์๋ ๋ถ๋ฅ โ URL ํจํด ํ ํฐ์ ๋ชจ๋ ์ฒ๋ฆฌ ๋์, ๋น-URL ํ ํฐ์ ๊ณตํต ์ฃผ์ ๋ช
์ผ๋ก.
- ๋จ์ผ ๋งํฌ ์
๋ ฅ์ ๊ธฐ์กด๊ณผ ๋์ผํ๊ฒ ๋์.
- **์ ๊ท ํจํค์ง:** `astra-2.2.47.vsix`.
---
## v2.2.46 (2026-05-20)
### ๐ง /wikify ์ ํ๋ ๊ฐ์ โ ๋ช
์ธ ๋ฌธ์ ์์ ์ฑ + ์ํค๋งํฌ ๊ต์
- **๋ช
์ธ/์คํค๋ง ๋ฌธ์ ์์ ์ฑ ๊ฐํ.** `buildWikifyPrompt`์ ๊ท์น ์ถ๊ฐ โ ์๋ฌธ์ด JSON SchemaยทAPI ๋ช
์ธยท๊ธฐ์ ์คํ์ด๋ฉด `๐ ์ธ๋ถ ๋ด์ฉ`์ ๋ชจ๋ ํ๋ยท์์ฑ์ ๋๋ฝ ์์ด ๋งํฌ๋ค์ด ํ(`[ํ๋|ํ์
|ํ์/์ ํ|์ ์ฝ]`)๋ก ์ ๋ฆฌํ๊ณ , ์๋ฌธ `required` ๋ฐฐ์ด์ ์์ ๋ณ๊ฒฝ ๊ธ์ง, `additionalProperties`ยท`enum`ยท์ค์ฒฉ ๊ตฌ์กฐ๋ ์๋ฌธ ๊ทธ๋๋ก ๋ฐ์. (์ด์ ์ LLM์ด `extra`ยท`models` ๋ฑ ์ต์์ ํ๋๋ฅผ ๋๋ฝํ๋ ๋ฌธ์ โ ์ถ์ถ์ ์ ํํ์ผ๋ ํฉ์ฑ ๋จ๊ณ ์์ค)
- **์ํค๋งํฌ `[[ ]]` ์๋ ๊ต์ .** LLM์ด ๋ซ๋ ๋๊ดํธ๋ฅผ ํ๋ ๋น ๋จ๋ฆฌ๋ ๊นจ์ง(`[[rfcs repo]`)์ ํ์ฒ๋ฆฌ ์ ๊ท์์ผ๋ก ์๋ ๋ณด์ .
- **์ ๊ท ํจํค์ง:** `astra-2.2.46.vsix`.
---
## v2.2.45 (2026-05-20)
### ๐ ์ ๊ท /wikify โ ์น์ฌ์ดํธ ๋ณธ๋ฌธ์ P-Reinforce v3.0 ์ํค ๋ฌธ์๋ก
- **์ ๊ท ์ฌ๋์ ๋ช
๋ น `/wikify [์ฃผ์ ๋ช
]`.** ์ฌ์ดํธ ๋ณธ๋ฌธ ํ
์คํธ๋ฅผ ์ถ์ถํด Datacollect Research(`/research`)์ ๋์ผํ **P-Reinforce v3.0 ๊ท๊ฒฉ ์ํค ๋ฌธ์**๋ก LLM ํฉ์ฑยท์ ์ฅํ๋ค โ YAML frontmatter + `๐ฏ ํ ์ค ํต์ฐฐ / ๐ง ํต์ฌ ๊ฐ๋
/ ๐งฉ ์ถ์ถ๋ ํจํด / ๐ ์ธ๋ถ ๋ด์ฉ / โ๏ธ ๋ชจ์ / ๐ ๏ธ ์ ์ฉ ์ฌ๋ก / โ
๊ฒ์ฆ ์ํ / ๐ ๊ด๋ จ ๋ฌธ์ ๋งํฌ([[์ํค๋งํฌ]]) / ๐ ๋ณ๊ฒฝ ์ด๋ ฅ`.
- **Bridge์ ๋ณธ๋ฌธ ์ถ์ถ ์๋ํฌ์ธํธ `/api/web-extract` ์ ๊ท** โ Playwright readability ๋ฐฉ์์ผ๋ก `main`/`article` ๋ณธ๋ฌธ ํ
์คํธ๋ง ์ถ์ถ(navยทheaderยทfooter ๋ฑ ๋
ธ์ด์ฆ ์ ๊ฑฐ), ๋ณธ๋ฌธ 32000์ ์ํ.
- `/benchmark`(๋์์ธ ๋ฒค์น๋งํน)์ ๋ฌ๋ฆฌ `/wikify`๋ ์ฌ์ดํธ **์ฝํ
์ธ ๋ฅผ ์ง์ ๋ฌธ์ํ**ํ๋ค. ๊ฒฐ๊ณผ๋ฌผ์ `datacollectSavePath`(๋๋ Bridge `WIKI_RAW_PATH`)์ ์ ์ฅ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.45.vsix`.
---
## v2.2.44 (2026-05-20)
### ๐ /youtube โ ๋ณด๊ณ ์ ์์ ์์ ์ ์ฒด ์คํฌ๋ฆฝํธ ์ถ๋ ฅ
- `/youtube` ๊ฒฐ๊ณผ๋ฌผ ๋งจ ์์ ์์ ์ ์ฒด ์๋ง(Full Script) ์น์
์ ์ถ๊ฐ. 30์ด ๋ฒํท์ผ๋ก ๋ฌถ์ด `[mm:ss] ๋ฌธ์ฅโฆ` ํํ๋ก ์ ๋ฆฌ โ ์๊ฒ ๋๊ธด ์๋์๋ง์ ๊ฐ๋
์ฑ ์๊ฒ ํฉ์ณ, ๋ถ์ ๋ณด๊ณ ์์ ์๋ฌธ ๋๋ณธ์ ํ ๋ฌธ์์์ ํจ๊ป ๋ณธ๋ค.
- ํ๋ฉด ์ถ๋ ฅยท์ ์ฅ markdown ์์ชฝ ๋ชจ๋ `๐ ์ ์ฒด ์คํฌ๋ฆฝํธ` โ `---` โ `๋๋ณธ ์ญ๊ธฐํ์` ์์๋ก ์ ์ฉ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.44.vsix`.
---
## v2.2.43 (2026-05-20)
### โ๏ธ /youtube ์ถ๋ ฅ ํฌ๋งท ๊ฐํธ โ "๋๋ณธ ์ญ๊ธฐํ์"
- `/youtube` ๋ถ์ ๋ฆฌํฌํธ๋ฅผ ์์ ์ ์ ๊ฐ์ด๋(4-๋ ์ฆ)์์ **๋๋ณธ(์คํฌ๋ฆฝํธ) ์ญ๊ธฐํ์**๋ก ์ ๋ฉด ๊ฐํธ. BGMยท์๋งยท์ปท ์ ํ ๋ฑ ์์ ์ฐ์ถ ํญ๋ชฉ์ ๊ฑท์ด๋ด๊ณ ์คํฌ๋ฆฝํธ(ํ
์คํธ)ยท์ธ์ด ๊ตฌ์กฐ์๋ง ์ง์คํ๋ค.
- ์ ๋ ์ด์์ 5์ข
: ๐ฌ ํ ์ค ์ธ์ / 1. ์คํฌ๋ฆฝํธ ๋ผ๋ ๊ตฌ์กฐ๋(ํ) / 2. ๋ง์ ๋ง & ํค์ค๋งค๋ / 3. ๋ด ๋๋ณธ์ ๋ฐ๋ก ์ฐ๋ ์ก์
์ฒดํฌ๋ฆฌ์คํธ / โ๏ธ ๋น์นธ ์ฑ์ฐ๊ธฐ์ ๋๋ณธ ํ
ํ๋ฆฟ.
- ์ธ์ด์ ์ฅ์น๋ฅผ ๊ณ ์ ํ๊ทธ ์ดํ(`#FOMO #๊ถ์๋ถ์ฌ #ํธ๊ธฐ์ฌ๊ฐญ #๋ธ๋ฆฟ์ง๋ฉํธ` ๋ฑ)๋ก ๋ผ๋ฒจ๋ง. '์ ๋ฌธ์ฉ์ด โ ์ฌ์ด ๋น์ ' ๋ถ์ ํญ๋ชฉ ์ ์ค โ ํ์์ ๊ตฌ์ด์ฒด '๋ง์ ๋ง'์ ๋ช
์์ ์ผ๋ก ์ถ์ถํ๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.43.vsix`.
---
## v2.2.42 (2026-05-20)
### ๐ฌ /youtube โ Datacollect youtube insight 4-๋ ์ฆ ๋ถ์ ์ด์
- **`/youtube`๊ฐ ์ด์ LLM 4-๋ ์ฆ ์ฝํ
์ธ ์ ์ ๊ฐ์ด๋๋ฅผ ์์ฑํ๋ค.** ๊ทธ๋์ transcript/๋ฉํ๋ฐ์ดํฐ ๋คํ๋ง ํ์ผ๋, ์ด์ Datacollect ์น์ฑ(YoutubePanel)์ `build4LensPrompt`๋ฅผ ๊ทธ๋๋ก ์ด์ โ 10์ด ํ
/ ์คํฌ๋ฆฝํธ ๊ตฌ์กฐ(๊ธฐ์น์ ๊ฒฐ ํ์๋ผ์ธ) / ์ ์ ๋ฆฌ์์คยทํธ์ง ์คํ์ผ / ์ธ๋ค์ผยท์ ๋ชฉ CTR 4-๋ ์ฆ ๋ถ์ + ์ญ๊ธฐํ์ + ๋๋ณธ ํ
ํ๋ฆฟ์ ์์ฑํ๋ค.
- **extract ํ๋ ๋ฒ๊ทธ ์์ .** Bridge `/api/youtube/extract`๋ `source` ํ๋๋ฅผ ์๊ตฌํ๋๋ฐ ASTRA๊ฐ `url`์ ๋ณด๋ด "source URL์ด ํ์ํฉ๋๋ค" ์๋ฌ๊ฐ ๋๋ ๋ฌธ์ . ์ด์ `{ source, withMetadata, limit }` ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ํธ์ถํ๋ค.
- **๊ฒฐ๊ณผ๋ฌผ ์๋ ์ ์ฅ.** ๋ถ์ markdown์ `/benchmark`์ ๋์ผํ๊ฒ raw ํด๋(`datacollectSavePath` > Bridge `WIKI_RAW_PATH`)์ ์ ์ฅ.
- **๋ช
๋ น์ด ๋ณด์กฐ ์ปจํ
์คํธ.** `/youtube <์ฐ๋ฆฌ ์ฑ๋ ์ค๋ช
>` ํํ๋ก URL ๋ค ์์ฐ์ด๋ "์ฐ๋ฆฌ๊ฐ ๋ง๋ค ์ฝํ
์ธ " ์ปจํ
์คํธ๋ก ๋ถ์์ ๋ฐ์๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.42.vsix`.
---
## v2.2.41 (2026-05-20)
### ๐๏ธ /benchmark ํฉ์ฑ Temperature ์ค์ ์ถ๊ฐ
- **`g1nation.datacollectSynthesisTemperature` ์ ์ค** (๊ธฐ๋ณธ 0.1). `/benchmark` LLM 4-๋ ์ฆ ํฉ์ฑ์ temperature๋ฅผ Astra Settings ํจ๋ 'Datacollect' ์น์
์์ ์กฐ์ ๊ฐ๋ฅ โ ๊ทธ๋์ ์ฝ๋์ `0.3`์ผ๋ก ํ๋์ฝ๋ฉ๋ผ ์์๋ค. ๋ฎ์ถ์๋ก(0.1) ํ๊ตญ์ด ์์ฑ ์ค ์์ด๋ ๊นจ์ง ๋ฌธ์ยทํ๊ฐ์ด ์ค๊ณ ๊ฒฐ๊ณผ๊ฐ ๊ฒฐ์ ์ ์ด๋ค. 0~2 ๋ฒ์๋ก ํด๋จํ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.41.vsix`.
---
## v2.2.40 (2026-05-20)
### ๐ฆ ์ฌํจํค์ง (์ฝ๋ ๋ณ๊ฒฝ ์์)
- v2.2.39์ ์ฝ๋ยท๊ธฐ๋ฅ ์์ ๋์ผ. ๋ฒ์ ๋ฒํธ๋ง ๊ฐฑ์ ํ ์ฌํจํค์ง ๋น๋ โ v2.2.39์ ๋ณ๊ฒฝ์ฌํญ(/benchmark LLM 4-๋ ์ฆ ํฉ์ฑ, ํฌ๋กค ๊น์ด/ํ์ด์ง ์ค์ )์ด ๋ชจ๋ ๊ทธ๋๋ก ํฌํจ๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.40.vsix`.
---
## v2.2.39 (2026-05-20)
### โจ /benchmark LLM 4-๋ ์ฆ ํฉ์ฑ + ํฌ๋กค ๊น์ด/ํ์ด์ง ์ค์
- **LLM 4-๋ ์ฆ ํฉ์ฑ ์ถ๊ฐ โ ๊ฒฐ๊ณผ๋ฌผ์ด Datacollect ์น์ฑ๊ณผ ๋๋ฑํด์ง.** ๊ทธ๋์ `/benchmark`๋ Playwright ์ค์บ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ๋คํ๋ง ํ๋ค(๋์์ธ ํ ํฐ raw ๋ชฉ๋ก). ์ด์ Datacollect ์น์ฑ(WebBenchmarkPanel)๊ณผ ๋์ผํ๊ฒ `scan โ LLM 3๋จ๊ณ ํฉ์ฑ(Visual/Layout/Interaction/Voice 4-๋ ์ฆ + IAยทํ์ด์ง ํ
ํ๋ฆฟ + ์๋ณธ ์ฌ๊ตฌ์ถ ๋ช
์ธ) โ ์์ฑ๋ ๋งํฌ๋ค์ด ๋ฆฌํฌํธ`๋ฅผ ์์ฑํ๋ค. Bridge `/api/lm` ํ๋ก์ ๊ฒฝ์ , Astra ๊ธฐ๋ณธ ๋ชจ๋ธ(`g1nation.defaultModel`/`ollamaUrl`)์ ์ฌ์ฉ. ํฉ์ฑ ์คํจ ์ raw ์ค์บ ์์ฝ์ผ๋ก ์๋ fallback.
- **ํฌ๋กค ๊น์ดยท์ต๋ ํ์ด์ง ์ค์ ์ถ๊ฐ.** `g1nation.datacollectCrawlDepth`(๊ธฐ๋ณธ 1)ยท`g1nation.datacollectMaxPages`(๊ธฐ๋ณธ 8) ์ ์ค โ Astra Settings ํจ๋ 'Datacollect' ์น์
์์ ํธ์ง. ๋ช
๋ น์ด์์ `/benchmark depth=2 pages=12` ๋ก ๊ทธ๋๊ทธ๋ ๋ฎ์ด์ฐ๊ธฐ ๊ฐ๋ฅ (์ฐ์ ์์: ๋ช
๋ น์ด > ์ค์ > ๊ธฐ๋ณธ๊ฐ).
- **๋ช
๋ น์ด ๋ณด์กฐ ์ปจํ
์คํธ.** `/benchmark [depth=N] [pages=N] <์์ฐ์ด ์ค๋ช
>` ํํ๋ก URL ๋ค์ ๋ถ์ธ ์์ฐ์ด๋ ํฉ์ฑ part 1ยท2์ ํค ์ถ์ ๋ณด์กฐ ์ปจํ
์คํธ๋ก ์ ๋ฌ๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.39.vsix`.
---
## v2.2.38 (2026-05-20)
### ๐ /benchmark URL ํ์ฑ fix โ ์์ฐ์ด ์์ธ ์
๋ ฅ + ๋น ๊ฒฐ๊ณผ ๊ฒฝ๊ณ
- **URL ํ ํฐ๋ง ์ถ์ถ.** `/benchmark www.caliverse.io ๋ถ์ํด์ค` ์ฒ๋ผ URL ๋ค์ ์์ฐ์ด๋ฅผ ๋ถ์ด๋ฉด "๋ถ์ํด์ค"๊น์ง URL์ ์์ฌ `https://www.caliverse.io ๋ถ์ํด์ค.` ๋ผ๋ ๋ฌดํจ URL์ด ๋๊ณ , Playwright๊ฐ ํ์ด์ง๋ฅผ ๋ชป ์ด์ด metaยท๋์์ธยท๋ง์ดํฌ๋ก์นดํผ๊ฐ ์ ๋ถ `(์์)`์ผ๋ก ๋์ค๋ ๋ฌธ์ . ์ด์ arg์ ์ฒซ ๊ณต๋ฐฑ ์ ํ ํฐ๋ง URL๋ก ์ฌ์ฉํ๋ค. (์ค์บ์ Playwright ๊ฒฐ์ ๋ก ์ ์ถ์ถ์ด๋ผ local LLM๊ณผ ๋ฌด๊ด โ ๋น ๊ฒฐ๊ณผ๋ LLM ๋ฌธ์ ๊ฐ ์๋๋ผ URL ์ค์ผ์ด์๋ค.)
- **๋น ์ค์บ ๊ฒฐ๊ณผ ๊ฒฝ๊ณ .** ์ค์บ์ด ์๋ฌ ์์ด ๋๋๋ metaยทdesignยทmicrocopy๊ฐ ๋ชจ๋ ๋น๋ฉด โ ๏ธ ๊ฒฝ๊ณ ๋ฅผ ํ์ โ URL ์คํยท๋ด ์ฐจ๋จยทJS ์ ์ฉ ๋ ๋๋ง์ ์ฌ์ฉ์๊ฐ ์ฆ์ ์ธ์ง.
- **์ ๊ท ํจํค์ง:** `astra-2.2.38.vsix`.
---
## v2.2.37 (2026-05-20)
### โ
Slash ๊ฒฐ๊ณผ๋ฌผ ๋ฏธํ์ ๊ทผ๋ณธ fix + /benchmark ์งํ ํ์ยท๊ฒฐ๊ณผ๋ฌผ ์ ์ฅ
- **`streamStart` ๋๋ฝ ์์ โ slash ๋ช
๋ น ๊ฒฐ๊ณผ๊ฐ ํ๋ฉด์ ์ ๋ณด์ด๋ ์ง์ง ์์ธ.** v2.2.30์ด `streamEnd`(input ์ ๊ธ ํด์ )๋ง ๋ณด๋๊ณ `streamStart`๋ ๋น ๋จ๋ ธ๋ค. webview๋ `streamStart`๋ฅผ ๋ฐ์์ผ assistant ๋ฉ์์ง ๋ฒ๋ธ(`streamBody`)์ ๋ง๋ค๊ณ , ๊ทธ๊ฒ ์์ผ๋ฉด ์ดํ ๋ชจ๋ `streamChunk`(=๊ฒฐ๊ณผ ํ
์คํธ, ์๋ฌ ๋ฉ์์ง ํฌํจ)๋ฅผ silently dropํ๋ค. `handleSlashCommand` ์์๋ถ์์ `streamStart`๋ฅผ ๋ช
์์ ์ผ๋ก ๋ณด๋ด๋๋ก ์์ โ `/research`ยท`/benchmark`ยท`/youtube`ยท`/blog` ๋ชจ๋ ๊ฒฐ๊ณผ๊ฐ ์ ์ ํ์๋จ.
- **`/benchmark` ์งํ ํ์.** scan์ ๋จ์ผ ๋๊ธฐ ํธ์ถ์ด๋ผ ์งํ๋ฅ ์คํธ๋ฆผ์ด ์์ด ์ฌ์ฉ์๊ฐ ๋ฉ์ถ ์ค ์คํดํ๋ ๋ฌธ์ โ 4์ด๋ง๋ค ๊ฒฝ๊ณผ ์๊ฐ(`ยท4s ยท8s โฆ`)์ ํ ์ค์ ๋์ ํ์ํ๊ณ , ์๋ฃ ์ `โ
์ค์บ ์๋ฃ (Ns ์์)` ์ถ๋ ฅ.
- **`/benchmark` ๊ฒฐ๊ณผ๋ฌผ ์๋ ์ ์ฅ.** scan ๊ฒฐ๊ณผ๋ฅผ markdown ๋ฆฌํฌํธ๋ก ํฉ์ฑํด Bridge `/api/wiki/save`๋ก ์ ์ฅ. ์ ์ฅ ์์น๋ ์ ๊ท ์ค์ `g1nation.datacollectSavePath`(๋น์ฐ๋ฉด Bridge์ `WIKI_RAW_PATH` ํ๊ฒฝ๋ณ์๊ฐ ๊ฒฐ์ โ ์ฝ๋์ ์ ๋๊ฒฝ๋ก ํ๋์ฝ๋ฉ ์์).
- **Settings ํจ๋์ "Datacollect" ์น์
์ถ๊ฐ.** Bridge URL๊ณผ ๊ฒฐ๊ณผ๋ฌผ ์ ์ฅ ํด๋๋ฅผ Astra Settings ํจ๋์์ ์ง์ ํธ์ง ๊ฐ๋ฅ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.37.vsix`.
---
## v2.2.36 (2026-05-20)
### ๐ ๏ธ Antigravity ๋นํธ์ธ "Connect AI"์์ view ์ถฉ๋ ํด์
- **์ฌ์ฉ์ ๋ณด๊ณ console์ `Connect AI extension activated` + ์ฐ๋ฆฌ `[ASTRA-DEBUG]` ๋ก๊ทธ 0๊ฐ** โ ์ฐ๋ฆฌ vsix activate ํจ์๊ฐ ํธ์ถ์กฐ์ฐจ ์ ๋๊ณ ์๋ค๋ ๊ฒฐ์ ์ ์ฆ๊ฑฐ. Antigravity๊ฐ ๋นํธ์ธ์ผ๋ก ๊ฐ์ง "Connect AI" extension์ด ์ฐ๋ฆฌ view container id `astra-activity` / view id `astra-launcher` / title `Astra` ์์ญ๊ณผ ์ถฉ๋ํด ์ฐ๋ฆฌ ์ฝ๋๋ฅผ ๋ฎ์ ๊ฒ์ผ๋ก ์ถ์ .
- **view container/view id๋ฅผ uniqueํ๊ฒ ๋ณ๊ฒฝ**: `astra-activity` โ `g1nation-astra-activity`, `astra-launcher` โ `g1nation-astra-launcher`, title `Astra` โ `Astra (g1nation)`. ์ข์ธก ํ์ฑ๋ฐ์ ๋นํธ์ธ๊ณผ ๋ณ๋์ ์ฐ๋ฆฌ ์์ด์ฝ์ด ํ์๋๋ฉฐ, ๊ทธ ์์ด์ฝ ํด๋ฆญ ์ ์ฐ๋ฆฌ activate๊ฐ ํธ์ถ๋จ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.36.vsix`.
---
## v2.2.35 (2026-05-20)
### ๐ ๏ธ Slash ๋ฏธ๋์ ๊ฒฐ์ ์ fix: globalState ์ด์ ์ง์
+ DevTools console ์ง๋จ
- **globalState write๋ณด๋ค *๋จผ์ * slash ๋ถ๊ธฐ๋ฅผ ์ก๋๋ก ๋ณ๊ฒฝ.** `g1nation.astra` global state๊ฐ ~917KB๋ก ๋์ ๋ ํ๊ฒฝ์์ `globalState.update` ํธ์ถ์ด ์ฒซ prompt๋ฅผ ์ง์ฐ/hang์ํค๋ ์ฌ๋ก ๋ณด๊ณ ๋จ. slash ๋ช
๋ น์ LLM/blank-chat state ๊ฐฑ์ ๊ณผ ๋ฌด๊ดํ๋ฏ๋ก update๋ฅผ ๊ฑด๋๋ด๋ค.
- **DevTools console์ ASTRA-DEBUG trace.** OutputChannel(`logInfo`)ยทpopupยทstatusbar์ ๋ํด `console.error`๋ก `[ASTRA-DEBUG] activate vX.Y.Z`, `[ASTRA-DEBUG] prompt case entered`, `[ASTRA-DEBUG] slash check matched=โฆ`, `[ASTRA-DEBUG] slashRouter handleSlashCommand`์ ์ถ๋ ฅ. ์ฌ์ฉ์๊ฐ F12 DevTools console์ ๋ณผ ๋ ์ฐ๋ฆฌ ์ฝ๋ ์คํ ๋จ๊ณ๊ฐ ์ฆ์ ๋ณด์.
- **์ ๊ท ํจํค์ง:** `astra-2.2.35.vsix`.
---
## v2.2.34 (2026-05-19)
### ๐จ ๊ฒฐ์ ์ ์ง๋จ: activate / slash ์ง์
popup notification
- **Activation ์์ popup:** VS Code/Antigravity๊ฐ ์์๋ ๋ ํ๋ฉด ์ฐ์ธก ํ๋จ์ `๐ก Astra vX.Y.Z activated (PID=...)` ์๋ฆผ. ์ฐ๋ฆฌ vsix๊ฐ ์ค์ ๋ก ํ์ฑํ๋๋์ง 1์ด ์์ ํ์ธ ๊ฐ๋ฅ. ๊ฐ์ ์ด๋ฆ์ ๋นํธ์ธ extension์ด ์ฐ๋ฆฌ ์ฝ๋๋ฅผ ๊ฐ๋ฆฌ๋ ์ผ์ด์ค ๋ฐ๊ฒฌ์ฉ.
- **Slash ์ง์
popup:** `/research`, `/benchmark`, `/youtube`, `/blog` ๋ช
๋ น์ด slashRouter์ ๋๋ฌํ๋ฉด `๐ป Datacollect Radio: /benchmark ์ง์
` ์๋ฆผ. OutputChannel ์ ๋ณด๊ณ ๋ ๊ฒฐ์ .
- **์ ๊ท ํจํค์ง:** `astra-2.2.34.vsix`.
---
## v2.2.33 (2026-05-19)
### ๐ Slash ๋ช
๋ น ์ง๋จ: dispatch root ๋ก๊น
+ StatusBar toast
- **dispatch root ์ง์
trace:** webview์์ ๋ค์ด์ค๋ ๋ชจ๋ ๋ฉ์์ง(type + value preview)๋ฅผ OutputChannel(Astra)์ log. "๋ฉ์์ง๊ฐ ์ง์ง๋ก Astra์ ๋์ฐฉํ๋์ง"๋ถํฐ ๊ฒฐ์ ์ ์ผ๋ก ํ๋ณ ๊ฐ๋ฅ.
- **StatusBar 5์ด toast:** `/research`, `/benchmark`, `/youtube`, `/blog` ๋ช
๋ น์ด slashRouter์ ์ง์
ํ๋ฉด VS Code ํ๋จ StatusBar์ `๐ป Datacollect Radio: /benchmark ์ฒ๋ฆฌ ์คโฆ` ํ์. OutputChannel ๋ชป ๋ด๋ ์ง์
์์ฒด๋ฅผ ์ฆ์ ํ์ธ.
- **์ ๊ท ํจํค์ง:** `astra-2.2.33.vsix` ํจํค์ง๋ก ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.32 (2026-05-19)
### ๐ฌ Datacollect Radio: ์ฌ๋์ ๋ช
๋ น ์ง๋จ ๋ก๊น
๊ฐํ
- **OutputChannel(Astra)์ ๋จ๊ณ๋ณ trace ์ถ๊ฐ:** `[SLASH] prompt received`, `[SLASH] handleSlashCommand start/finished/error` ๋ผ์ธ์ logInfo๋ก ์ถ๋ ฅ. "/benchmark ์
๋ ฅํ๋๋ฐ ์๋ฌด ์๋ต ์์" ๊ฐ์ ๋ณด๊ณ ๊ฐ ๋ค์ด์์ ๋ ์ด๋์ ๋งํ๋์ง (๋ถ๊ธฐ ์ง์
์ฌ๋ถ / webview ๋ถ์ฌ / bridge ํธ์ถ ์คํจ) ์ฆ์ ํ๋ณ ๊ฐ๋ฅ.
- **webview ๋ถ์ฌ ์ ์ฆ์ ์ฌ์ฉ์ ์๋ฆผ:** `provider._view`๊ฐ undefined๋ฉด chunk ๋ฉ์์ง๊ฐ silently drop๋์ด ์ฌ์ฉ์๊ฐ ๋ฌดํ ๋ก๋ฉ์ผ๋ก ๋ณด์์ต๋๋ค. ์ด์ ๊ทธ ๊ฒฝ์ฐ VS Code notification์ผ๋ก *"์ฑํ
webview๊ฐ ํ์ฑ ์ํ๊ฐ ์๋๋๋ค"* ์๋ด.
- **์ ๊ท ํจํค์ง:** `astra-2.2.32.vsix` ํจํค์ง๋ก ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.30 (2026-05-19)
### ๐ Datacollect Radio: ์ฌ๋์ ๋ช
๋ น ํ ์ฑํ
input ์๋ ํด์
- **์ฌ๋์ ๋ช
๋ น(`/research`, `/benchmark`, `/youtube`, `/blog`) ์ข
๋ฃ ์ `streamEnd` ์ ํธ ๋๋ฝ ์์ .** Astra ์ฑํ
input์ streamEnd ๋ฉ์์ง๋ก ์ ๊ธ์ด ํ๋ฆฌ๋๋ฐ, ์ฐ๋ฆฌ slashRouter๋ ์ผ๋ฐ LLM streamer๋ฅผ ์ฐํํด bridge๋ฅผ ์ง์ ํธ์ถํ๋ฏ๋ก ์๋์ผ๋ก ์ ํธ๊ฐ ์ ๊ฐ๋ ์ํ. ์ฌ์ฉ์๊ฐ `/benchmark`๋ฅผ ์
๋ ฅํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ์ฑํ
์ ํ์๋ผ๋ input์ด ์์ํ ์ ๊ธด ์ฑ ๋ฌดํ ๋ก๋ฉ์ผ๋ก ๋ณด์์ต๋๋ค.
- **`try/finally`๋ก streamEnd ๋ณด์ฅ.** timeout / ์๋ฌ / ์ ์ ์ข
๋ฃ ์ด๋ค ๊ฒฝ๋ก๋ input์ด ํ๋ฆฌ๋๋ก ๊ฐ์ .
- **์ ๊ท ํจํค์ง:** `astra-2.2.30.vsix` ํจํค์ง๋ก ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.29 (2026-05-19)
### โฑ๏ธ Datacollect Radio: NotebookLM ๋ฆฌ์์น ํ์์์ ์ํ
- **`/research` ๋ช
๋ น์ `import` ๋จ๊ณ ํ์์์์ 120s โ 300s๋ก ํ๋**: NotebookLM์ด deep research ๊ฒฐ๊ณผ๋ฅผ ๋
ธํธ๋ถ ์์ค๋ก ์ฎ๊ธธ ๋ ํฐ ๋ฆฌํฌํธ๋ 2~5๋ถ์ด ๊ฑธ๋ ค ๊ธฐ์กด 120s cap์์ `TRANSIENT_TIMEOUT`์ผ๋ก ๋จ์ด์ง๊ณ ์ ์ ๋ฐฑ์๋๋ ์ ์ ์ฒ๋ฆฌ ์ค์ธ race๊ฐ ๋ณด๊ณ ๋ผ ์์ .
- **`synthesize` ๋จ๊ณ ํ์์์ 300s โ 600s**: ํฐ ๋
ธํธ๋ถ์ LLM ํฉ์ฑ์ด 5~10๋ถ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ cover.
- **`status` polling ํ์์์ 30s โ 60s**: MCP ์์ ํ๋ก์ธ์ค๊ฐ stale์ผ ๋ 30s ์์ ์๋ต ๋ชป ํ๋ ์ฌ๋ก ์ํ. (๊ฐ์ ์ด์๋ [Wiki/Datacollect ํ๋ก์ ํธ](e:\Wiki\Datacollect)์ [engine.ts](e:\Wiki\Datacollect\src\lib\engine.ts)์๋ ๋์ผํ ๊ฐ์ผ๋ก ์์ ์๋ฃ)
- **์ ๊ท ํจํค์ง:** `astra-2.2.29.vsix` ํจํค์ง๋ก ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.28 (2026-05-19)
### ๐ป Datacollect Radio: ์ฑํ
์ฌ๋์ ๋ช
๋ น์ผ๋ก ์ธ๋ถ ๋๊ตฌ ํตํฉ
- **์ UI ๋ฒํผ ์์ด ์ฑํ
ํ ์ค๋ก ์ธ๋ถ ํ์ดํ๋ผ์ธ ํธ์ถ:** Astra ์ฑํ
์์ `/research`, `/benchmark`, `/youtube`, `/blog` ์ฌ๋์ ๋ช
๋ น์ผ๋ก ๋ณ๋์ [Wiki/Datacollect ํ๋ก์ ํธ](e:\Wiki\Datacollect) bridge(๊ธฐ๋ณธ `http://127.0.0.1:3002`)์ ๋ฌด๊ฑฐ์ด ๊ธฐ๋ฅ์ ์ง์ ๋ผ์ฐํ
ํฉ๋๋ค.
- **/research \<์ฃผ์ \>:** NotebookLM Deep Research ์ ์ฒด ํ์ดํ๋ผ์ธ(notebook ์์ฑ โ status polling โ import โ synthesize)์ ์ฑํ
์์ ํ ๋ฒ์ ์คํํ๊ณ ๊ฒฐ๊ณผ ๋งํฌ๋ค์ด์ ์คํธ๋ฆฌ๋ฐ์ผ๋ก ๋ฐ์ต๋๋ค.
- **/benchmark \:** Playwright ๊ธฐ๋ฐ ์น์ฌ์ดํธ ๋ถ์ โ ๋์์ธ ํ ํฐ, ์ปฌ๋ฌ ํ๋ ํธ, ์ฌ์ดํธ๋งต ASCII ๋ค์ด์ด๊ทธ๋จ, ๋ง์ดํฌ๋ก์นดํผ๋ฅผ ์์ฝํด ์ฑํ
์ ํ์.
- **/youtube \:** ์์ metadata + transcript๋ฅผ ์ถ์ถํด ์ฑํฐ/ํ๊ทธ/๋ณธ๋ฌธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊น์ง ํ ๋ฒ์.
- **/blog \<ํค์๋\>:** Datacollect Blog Pipeline ํ์ด์ง(http://127.0.0.1:8787/blog/)๋ฅผ ์๋ ์คํ (Bridge์ ๋์ API๊ฐ ์ถ๊ฐ๋๋ฉด ์ฑํ
์ง์ ์คํ๋ ์ง์ ์์ ).
- **LLM ํ ํฐ ์ ์ฝ:** ์ฌ๋์ ๋ช
๋ น์ ํ์ฌ ๋ชจ๋/์ผ๋ฐ chat ๋ถ๊ธฐ *์ ์* ์กํ๋ฏ๋ก ๋ชจ๋ธ ๋น์ฉ ์์ด ์ฒ๋ฆฌ๋ฉ๋๋ค. ์งํ์ํฉยท๊ฒฐ๊ณผ๋ ์ผ๋ฐ LLM ์๋ต๊ณผ ๊ฐ์ ์๋ฆฌ(`streamChunk`)์ ํ์.
- **์ค์ ์ถ๊ฐ:** `g1nation.datacollectBridgeUrl` (default `http://127.0.0.1:3002`)๋ก bridge ์์น override ๊ฐ๋ฅ. Datacollect๋ `npm run bridge`๋ก ๋ฏธ๋ฆฌ ๋์ ๋์ด์ผ ํฉ๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.28.vsix` ํจํค์ง๋ก ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.19 (2026-05-16)
### โ๏ธ Cloud Model Providers Support: OpenRouter, Anthropic, Gemini
- **ํด๋ผ์ฐ๋ ๋ชจ๋ธ ํ๋ก๋ฐ์ด๋ ํตํฉ:** ์ด์ ๋ก์ปฌ ๋ชจ๋ธ๋ฟ๋ง ์๋๋ผ OpenRouter, Anthropic, Gemini ๋ฑ ์ฃผ์ ํด๋ผ์ฐ๋ AI ๋ชจ๋ธ์ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- **๋ชจ๋ธ ์ ๋์ฌ ๋ผ์ฐํ
(Prefix Routing) ๋์
:** ๋ชจ๋ธ๋ช
์์ `openrouter:`, `anthropic:`, `gemini:` ์ ๋์ฌ๋ฅผ ๋ถ์ฌ ์ํ๋ ์๋น์ค๋ก ์๋ ๋ผ์ฐํ
๋๋ ์ง๋ฅํ ์์ง์ ํ์ฌํ์ต๋๋ค.
- **OpenAI ํธํ ์คํธ๋ฆฌ๋ฐ ์ด๋ํฐ:** ํด๋ผ์ฐ๋ ๊ฐ์ฌ์ ๋
์์ ์ธ ์๋ต ํ์์ OpenAI ํธํ SSE ์คํธ๋ฆผ์ผ๋ก ๋ณํํ์ฌ, ๊ธฐ์กด ์์คํธ๋ผ์ ๋ชจ๋ ๋ถ์ ๊ธฐ๋ฅ์ ํด๋ผ์ฐ๋ ๋ชจ๋ธ์์๋ ๋์ผํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๊ตฌํํ์ต๋๋ค.
- **ํ์ด๋ธ๋ฆฌ๋ ์ถ๋ก ํ๊ฒฝ ๊ตฌ์ถ:** ์ง๋ฅ์ด ํ์ํ ์์
์ ํด๋ผ์ฐ๋ ๋ํ ๋ชจ๋ธ๋ก, ๋ณด์์ด ์ค์ํ ์ฝ๋ฉ ์์
์ ๋ก์ปฌ ๋ชจ๋ธ๋ก ์ํํ๋ ์ ์ฐํ ์ํฌํ๋ก์ฐ ๊ธฐ๋ฐ์ ๋ง๋ จํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.19.vsix` ํจํค์ง๋ฅผ ํตํด ๋ก์ปฌ๊ณผ ํด๋ผ์ฐ๋๋ฅผ ์์ฐ๋ฅด๋ ํ์ด๋ธ๋ฆฌ๋ ์ง๋ฅํ ๋ ์ด์์์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.18 (2026-05-16)
### ๐๏ธ Dynamic Office Auto-Layout & Legacy Cleanup
- **๋์ ์คํผ์ค ๋ ์ด์์(Dynamic Auto-Layout) ์์ง ๋์
:** ํ์ ์์ ๋ฐ๋ผ ์ฑ
์ ๋ฐฐ์น๋ฅผ 1~3์ด๋ก ์๋ ์ ๋ ฌํ๋ ์ง๋ฅํ ๋ ์ด์์ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฌํ์ต๋๋ค. ์ด์ ํ์ ์์ ๊ด๊ณ์์ด ์ต์ ํ๋ ์คํผ์ค ๋ทฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- **๋ ๊ฑฐ์ ๋ ์ด์์ ๊ฐ์ง ๋ฐ ๋ง์ด๊ทธ๋ ์ด์
:** ๊ตฌ ๋ฒ์ ์ ๊ณ ์ ํ(8์) ๋ ์ด์์์ ์๋์ผ๋ก ๊ฐ์งํ์ฌ ์ต์ ๋์ ๋ ์ด์์์ผ๋ก ์ ํํ๋ ๋ก์ง์ ์ถ๊ฐํ์ต๋๋ค.
- **์คํ
์ด์ง ๋ฐธ๋ฐ์ค ์กฐ์ :** CEO ์ฑ
์ ์์น๋ฅผ ์ค์ ํ๋จ์ผ๋ก ์ฌ๋ฐฐ์นํ๊ณ , ์ ๋ฐ์ ์ธ ์ค๋ธ์ ํธ ํฌ๊ธฐ์ ๊ฐ๊ฒฉ์ ์กฐ์ ํ์ฌ ์๊ฐ์ ์์ ์ฑ์ ๋์์ต๋๋ค.
- **์คํผ์ค ๋๊ธฐํ ๋ก์ง ๊ฐํ:** ์์
ํ๋ฆ(Pipeline)์ด ์์ ๋๋ ํ์ฑ ํ์(Roster) ๊ธฐ๋ฐ์ผ๋ก ์คํผ์ค๊ฐ ์๋ ๊ตฌ์ฑ๋๋๋ก ๋๊ธฐํ ์์ง์ ๊ฐ์ ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.18.vsix` ํจํค์ง๋ฅผ ํตํด ํ ๊ท๋ชจ์ ๋ฐ๋ผ ์ ์ฐํ๊ฒ ๋ณํ๋ ์ง๋ฅํ ์คํผ์ค ํ๊ฒฝ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.17 (2026-05-16)
### โ๏ธ Google Service Control & Astra Office Flow Layer
- **๊ตฌ๊ธ ์๋น์ค ์ค์ ํจ๋(Google Control) ๋์
:** ์ค์ ํจ๋ ๋ด์ ๊ตฌ๊ธ ์บ๋ฆฐ๋ OAuth ์ฐ๊ฒฐ, iCal ๋๊ธฐํ, ํด๋ผ์ด์ธํธ ์๊ฒฉ ์ฆ๋ช
๊ด๋ฆฌ๋ฅผ ์ํ ์ ์ฉ ์น์
์ ์ถ๊ฐํ์ต๋๋ค.
- **์์คํธ๋ผ ์คํผ์ค ํ๋ก์ฐ ๋ ์ด์ด(Flow Layer) ํ์ฌ:** ์คํผ์ค ์คํ
์ด์ง ์๋จ์ SVG ๊ธฐ๋ฐ์ ํ๋ก์ฐ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํ์ฌ ์์ด์ ํธ ๊ฐ์ ๊ด๊ณ๋ ์์
ํ๋ฆ์ ์๊ฐํํ ์ ์๋ ๊ธฐ์ ์ ๊ธฐ๋ฐ์ ๋ง๋ จํ์ต๋๋ค.
- **๋ฐฐ๊ฒฝ ์ต์ ํ:** ์์คํธ๋ผ ์คํผ์ค V2 ์ ์ฉ ๋ฐฑ๋๋กญ ์์ฐ์ ์ถ๊ฐํ๊ณ ๋์์ธ ๋ํ
์ผ์ ๊ฐ์ ํ์ต๋๋ค.
- **์ค์๊ฐ ๋๊ธฐํ ๊ฐํ:** ์ค์ ๋ณ๊ฒฝ ์ ์ฆ์ ์คํผ์ค ์ํ์ ์บ๋ฆฐ๋ ์บ์์ ๋ฐ์๋๋๋ก ๋ฐฑ์๋ ํธ๋ค๋ฌ๋ฅผ ์ ๊ตํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.17.vsix` ํจํค์ง๋ฅผ ํตํด ๊ตฌ๊ธ ์ฐ๋ ์ ์ด๊ถ์ด ๊ฐํ๋ ์ต์ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.16 (2026-05-16)
### ๐ข Astra Office UI Overhaul: Operations Floor Experience
- **์ฐจ์ธ๋ ์คํผ์ค UI ๋์
:** ๋จ์ํ ๋ทฐ์ด๋ฅผ ๋์ด ์ค์ ์ด์ ๋ณธ๋ถ(Operations Floor)์ ๋๋์ ์ฃผ๋ ๋๋์ ์ธ ์ธํฐํ์ด์ค ๊ฐํธ์ ๋จํํ์ต๋๋ค.
- **๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ฌ์ด๋ ํจ๋:** ์์ด์ ํธ ๋ผ์ธ์
(Team), ์ด์ ๋ธ๋ฆฌํ(Signal), ํ๋ ๋ํฌ(Activity Dock) ๋ฑ ์ ๋ฌธ์ ์ธ ์ ๋ณด ๋ ์ด์์์ ํ์ฌํ์ต๋๋ค.
- **๋น์ฃผ์ผ ๊ฒฝํ ๊ณ ๋ํ:** ๊ธ๋์ค๋ชจํผ์ฆ(Glassmorphism)๊ณผ ๊ทธ๋ผ๋ฐ์ด์
๋ฐฑ๊ทธ๋ผ์ด๋, ์ ๊ตํ ์ํ ๋ฐฐ์ง(Pills)๋ฅผ ํตํด ๋์ฑ ํ๋ฆฌ๋ฏธ์ํ ๋ฃฉ์คํ์ ๊ตฌํํ์ต๋๋ค.
- **์งํ ์ํฉ ๊ฐ์ํ:** ๋ฏธ์
๋ณ ์งํ๋ฅ , ๋จ๊ณ ๋ณด๊ณ , ์ฃผ์ ์ ํธ ๊ฐ์ง ๋ฑ ์์ด์ ํธ์ ์์
ํ๋ฆ์ ํ๋์ ํ์
ํ ์ ์๋ ๋์๋ณด๋ ๊ธฐ๋ฅ์ ๊ฐํํ์ต๋๋ค.
- **๊ตฌ๊ธ ์บ๋ฆฐ๋ OAuth ์ฐ๋ ๊ธฐ๋ฐ ๋ง๋ จ:** ๊ตฌ๊ธ ์บ๋ฆฐ๋์์ ์ ์ ์ฐ๋์ ์ํ ์ธ์ฆ ์์คํ
๋ฐ ๊ตฌํ ๊ธฐ๋ก์ ํตํฉํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.16.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ๊ฐ๋ ฅํ๊ณ ์๋ฆ๋ค์์ง ์์คํธ๋ผ ์คํผ์ค๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.15 (2026-05-16)
### ๐ Astra Office Refactor & Multi-Service Integration (Calendar, Sheets, Tasks)
- **์์คํธ๋ผ ์คํผ์ค(Astra Office) ๋๊ท๋ชจ ๋ฆฌํฉํ ๋ง:** ๋ชจ๋๋ฆฌ์ ๊ตฌ์กฐ์์ ๊ธฐ๋ฅ ๊ธฐ๋ฐ ๋ชจ๋ ๊ตฌ์กฐ(`src/features/astraOffice/`)๋ก ์ ๋ฉด ๊ฐํธํ์ต๋๋ค. `OfficeSnapshot` ๋ฐ์ดํฐ ๋ชจ๋ธ ๋์
์ ํตํด ์์ด์ ํธ์ ํ๋ ๊ฐ์์ฑ๊ณผ ๋ ์ด์์ ๊ด๋ฆฌ ๋ฅ๋ ฅ์ ํ์ ์ ์ผ๋ก ๊ฐ์ ํ์ต๋๋ค.
- **์บ๋ฆฐ๋(Calendar) ์ฐ๋:** ICS ํ์ผ ๋ถ์ ๋ฐ ์ผ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ์์ด์ ํธ๊ฐ ์ผ์ ๊ธฐ๋ฐ์ ๋งฅ๋ฝ์ ์ธ์งํ ์ ์๋๋ก ํ์ต๋๋ค.
- **์ํธ(Sheets) ๋ฐ ํ์คํฌ(Tasks) ๊ด๋ฆฌ:** ๊ตฌ๊ธ ์ํธ ์คํ์ผ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๊ณ์ธต์ ์์
๊ด๋ฆฌ(Task Store) ์์ง์ ํ์ฌํ์ฌ ์์ฐ์ฑ ๋๊ตฌ๋ก์์ ๊ธฐ๋ฅ์ ๊ฐํํ์ต๋๋ค.
- **์์ด์ ํธ ์์ง ๋ณต์๋ ฅ ๊ณ ๋ํ:** ๋์คํจ์ฒ์ ํ๋กฌํํธ ๋น๋์ ์ ํฉ์ฑ์ ๊ฐ์ ํ๊ณ , ๋ณตํฉ ํ์ดํ๋ผ์ธ ์ํ ์์ ์์ ์ฑ์ ๋์์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.15.vsix` ํจํค์ง๋ฅผ ํตํด ์ฐจ์ธ๋ ์คํผ์ค ์ํคํ
์ฒ์ ์๋ก์ด ์ฐ๋ ๊ธฐ๋ฅ๋ค์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.14 (2026-05-16)
### ๐ญ Advanced Pixel Office Customization & Face Directions
- **์บ๋ฆญํฐ ๋ฐฉํฅ์ฑ ๊ณ ๋ํ:** ๊ธฐ์กด ์ข์ฐ(Left/Right) ๋ฐฉํฅ์ ๋ํด ์ํ(Up/Down) ๋ฐฉํฅ ์คํ๋ผ์ดํธ ์ง์์ ์ถ๊ฐํ์ฌ ๋์ฑ ๋ค์ฑ๋ก์ด ์ฌ๋ฌด์ค ์ฐ์ถ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
- **์บ๋ฆญํฐ-์ฑ
์ ๋
๋ฆฝ ์ ์ด:** ์ฑ
์์ ์ ์งํ๋ฉด์ ์บ๋ฆญํฐ๋ง ์ญ์ ํ๊ฑฐ๋, ์บ๋ฆญํฐ๊ฐ ์๋ ์ฑ
์์ ์ ํ์์ ๋ค์ ์ถ๊ฐํ ์ ์๋ ๊ธฐ๋ฅ์ ๋์
ํ์ต๋๋ค.
- **๋ ์ด์์ ์คํค๋ง V2 ๋์
:** ์บ๋ฆญํฐ ์กด์ฌ ์ฌ๋ถ ๋ฐ ์ ๋ฐํ ์์น/ํ์ ์ ๋ณด๋ฅผ ๋ณด์กดํ๋ ์ต์ ๋ ์ด์์ ์ค๋
์ท ์์ง์ ์ ์ฉํ์ต๋๋ค.
- **UI/UX ํธ์์ฑ ๊ฐ์ :** ์์ฑ ํจ๋์์ ๋ฐฉํฅ ์ ํ๊ณผ ์บ๋ฆญํฐ ์ถ๊ฐ/์ญ์ ๊ฐ ์ฆ์ ๋ฐ์๋๋๋ก ์ธํฐ๋์
์ ๊ฐํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.14.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ์ ์ฐํด์ง ์ฌ๋ฌด์ค ๋ชจ๋ธ๋ง ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
---
## v2.2.13 (2026-05-16)
### ๐๏ธ Pixel Office Interactive Editor & Core Refinement
- **ํฝ์
์คํผ์ค ํธ์ง ๋ชจ๋ ๋์
:** ์ฑ
์ ์ถ๊ฐ/์ญ์ , ์์ด์ ํธ ๋งคํ ๋ณ๊ฒฝ, ๊ฐ๊ตฌ(ํ๋) ๋ฐฐ์น ๋ฐ ํฌ๊ธฐ ์กฐ์ ์ด ๊ฐ๋ฅํ ์ธํฐ๋ํฐ๋ธ ํธ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- **์์ฑ ํจ๋(Property Panel) ๊ตฌํ:** ์ ํํ ํ์์ด๋ ๊ฐ๊ตฌ์ ์์ธ ์์ฑ(๋ผ๋ฒจ, ๋ฐฉํฅ, ์คํ๋ผ์ดํธ ์ข
๋ฅ ๋ฑ)์ ์ค์๊ฐ์ผ๋ก ์์ ํ ์ ์๋ UI๋ฅผ ํ์ฌํ์ต๋๋ค.
- **ํ๋ก์ ํธ ์ปจํ
์คํธ ๋๊ธฐํ ์ต์ ํ:** ๋ก์ปฌ ํ๊ฒฝ์ ๋ง๊ฒ `chronicle.config.json`์ ๊ฒฝ๋ก ์ ๋ณด๋ฅผ ์ต์ ํํ๊ณ ํ๋ก์ ํธ ์ธ์ง ๋ฅ๋ ฅ์ ์์ ํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.13.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ๊ฐ๋ ฅํด์ง ํฝ์
์คํผ์ค ์ปค์คํฐ๋ง์ด์ง ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
---
## v2.2.12 (2026-05-16)
### ๐ Sync & Visual Polish Expansion
- **ํฝ์
์คํผ์ค(Pixel Office) ์์ฐ ๋ฐ ๋ ์ด์์ ํ์ฅ:** ๋ค์ํ ๋ฐฉํฅ์ ์บ๋ฆญํฐ ์ ๋๋ฉ์ด์
๊ณผ ์ฌ๋ฌด์ค ๋ ์ด์์ ํ๋ฆฌ๋ทฐ ์์ฐ์ ๋ํญ ํ์ถฉํ์ฌ ์๊ฐ์ ํผ๋๋ฐฑ์ ์์ฑ๋๋ฅผ ๋์์ต๋๋ค.
- **์๋ ์ ๋ ฌ ๋ฐ ์ํ ์์ง ์์ ํ:** ์ฌ์ฉ์ ์๋๋ฅผ ๋ถ์ํ๊ณ ๊ณ์ฝ(Contract)์ ์ฒด๊ฒฐํ๋ ํ์ดํ๋ผ์ธ๊ณผ ์ค์๊ฐ ์ํ๋ฅผ ๋ฐ์ํ๋ ์์ง์ ์ต์ ๋ณ๊ฒฝ ์ฌํญ์ ์ต์ข
๋๊ธฐํํ์ต๋๋ค.
- **์ํคํ
์ฒ ๊ฒฐ์ ๊ธฐ๋ก(ADR) ์ต์ ํ:** ํ๋ก์ ํธ์ ๊ตฌ์กฐ์ ์งํ์ ์ค๊ณ ๊ฒฐ์ ์ ๋ด์ ์ ๊ท ADR(0013, 0014)์ ํตํฉํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.12.vsix` ํจํค์ง๋ฅผ ํตํด ์ต์ ์๊ฐ์ ์์ฐ๊ณผ ๊ธฐ๋ฅ์ด ํตํฉ๋ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.11 (2026-05-15)
### ๐ก๏ธ Cross-Project Build Optimization & Stability Enforcement
- **๋ฉํฐ ๋น๋ ๋๊ตฌ ๋์ ๊ฐํ:** Vite์ CRA ๋ฑ ์๋ก ๋ค๋ฅธ ๋น๋ ํ๊ฒฝ ๊ฐ์ ์ค์ ํผ์ ์ ๊ฐ์งํ๊ณ , ํ๋ก์ ํธ ์ฑ๊ฒฉ์ ๋ง๋ ์ต์ ํ๋ ์ธํ๋ผ(package.json)๋ก ์๋ ๋ณต๊ตฌ ๋ฐ ์ ๋ ฌํ๋ ๋ก์ง์ ์ถ๊ฐํ์ต๋๋ค.
- **์์กด์ฑ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ๊ณ ๋ํ:** ํจํค์ง ์ค์น ์ ๋ฐ์ํ ์ ์๋ ํ๊ฒฝ ๋ณ์ ์ถฉ๋ ๋ฐ ๋ช
๋ น์ด ํด์ ์ค๋ฅ(PowerShell && ๋ฑ)์ ๋ํ ์ฌ์ ๋ฐฉ์ด ์ฒด๊ณ๋ฅผ ๊ฐํํ์ต๋๋ค.
- **์ฑ๋ฅ ํ๋กํ์ผ๋ง ๊ฐ์ :** ๋น๋ ๊ณผ์ ์์์ ๋ฆฌ์์ค ์ ์ ์จ์ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ์ฌ, ๋๊ท๋ชจ ํ๋ก์ ํธ ๋ฐฐํฌ ์์ ์์ ์ฑ์ ํ์ธต ๋์ด์ฌ๋ ธ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.11.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ๊ฒฌ๊ณ ํ๊ณ ์ ์ฐํ ํ๋ก์ ํธ ๊ด๋ฆฌ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
---
## v2.2.10 (2026-05-15)
### ๐๏ธ Advanced Technical Design Alignment & Architecture Refinement
- **๊ธฐ์ ์ค๊ณ ๋ฌธ์(Technical Design) ๋๊ธฐํ:** `tetris/technical_design.md`์ ๊ฐ์ ๊ณ ์ฐจ์ ์ค๊ณ ๋ฌธ์๋ฅผ ๋ถ์ํ์ฌ, ์ค์ ๊ตฌํ ๋ก์ง(Custom Hooks, Component Architecture)๊ณผ์ ์ ํฉ์ฑ์ ์ ์งํ๋ ๋ฅ๋ ฅ์ ๊ฐํํ์ต๋๋ค.
- **์ํคํ
์ฒ ๊ฐ์ด๋๋ผ์ธ ์ค์:** FSD(Feature-Sliced Design) ๋ฑ ํ๋์ ์ธ ์ํคํ
์ฒ ํจํด์ ์ธ์ํ๊ณ , ์ด์ ๋ถํฉํ๋ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ์ง๋ฅํ ๊ฐ์ด๋๋ฅผ ๊ณ ๋ํํ์ต๋๋ค.
- **๊ฒ์ ์์ง ๋ก์ง ์ต์ ํ ์ง์:** ๋ณต์กํ ์ํ ๊ด๋ฆฌ(Single Source of Truth) ๋ฐ ๋ ๋๋ง ์ต์ ํ(Canvas API)๋ฅผ ์ํ ํต์ฌ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ ์ง์ ๋ฅ๋ ฅ์ ๋ํญ ํฅ์์์ผฐ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.10.vsix` ํจํค์ง๋ฅผ ํตํด ์ค๊ณ์ ๊ตฌํ์ ๊ฒฝ๊ณ๋ฅผ ํ๋ฌด๋ ๊ฐ๋ ฅํ ์ํคํ
์ฒ ํํธ๋์ญ์ ์ ๊ณตํฉ๋๋ค.
---
## v2.2.9 (2026-05-15)
### ๐ Strategic Project Scaffolding & Core Engine Expansion
- **ํ์ดํผ-์ผ์๋ฆฌ ํ๋ก์ ํธ ์ค์บํด๋ฉ:** `Tetris Modernized`์ ๊ฐ์ Canvas ๊ธฐ๋ฐ ๋ฌผ๋ฆฌ ๊ฒ์ ํ๋ก์ ํธ์ ์๋ ์ธํ๋ผ ๊ตฌ์ถ(Vite, React, Tailwind, Framer Motion) ๋ก์ง์ ์ ๊ตํํ์ต๋๋ค.
- **์ปจํ
์คํธ ์์ง ๋๋ฉ์ธ ํ์ฅ:** ๊ฒ์ ๊ฐ๋ฐ, ๋ฌผ๋ฆฌ ์ฐ์ฐ, UI ์ธํฐ๋์
์ค๊ณ ๋ฑ ์ ๋ฌธ์ ์ธ ๋๋ฉ์ธ์ ๋ํ ์ฝ๋ ์์ฑ ๋ฐ ๋ถ์ ๋ฅ๋ ฅ์ ๊ฐํํ์ต๋๋ค.
- **๋น๋ ๋ฐ ๋ฐฐํฌ ์๋ํ ๊ฐํ:** ํ๋ก์ ํธ ์์ฑ๋ถํฐ ๋น๋, ํจํค์ง๊น์ง ์ด์ด์ง๋ ์ํฌํ๋ก์ฐ๋ฅผ ์ต์ ํํ์ฌ ๊ฐ๋ฐ ์์ฐ์ฑ์ ๊ทน๋ํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.9.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ๊ด๋ฒ์ํ ํ๋ก์ ํธ ์ง์ ๋ฅ๋ ฅ์ ๊ฐ์ถ ์ต์ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.8 (2026-05-15)
### ๐ง Cognitive Architecture & Telemetry Refinement
- **์ปจํ
์คํธ ์ธ์ ์์ง ๊ณ ๋ํ:** ๋ณต์กํ ๋ฉํฐ ํ๋ก์ ํธ ํ๊ฒฝ์์์ ์ฐ๊ด ์ง์ ์ถ์ถ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ ํ์ฌ, `Test_0303`๊ณผ ๊ฐ์ ๊ฒ์ ์์ง ๊ฐ๋ฐ ์์ ๋งฅ๋ฝ ์ ์ง ๋ฅ๋ ฅ์ ๊ฐํํ์ต๋๋ค.
- **ํ
๋ ๋ฉํธ๋ฆฌ ๋ฐ์ดํฐ ์ ๋ฐํ:** ์์ด์ ํธ์ ์์ฌ๊ฒฐ์ ๊ณผ์ ์ ์ถ์ ํ๋ ๋ก๊ทธ ์์คํ
์ ์ ๊ตํํ์ฌ, ์๊ฐ ์ฑ์ฐฐ(Self-Reflection)์ ๊ทผ๊ฑฐ ๋ฐ์ดํฐ๋ฅผ ๋์ฑ ๋ช
ํํ๊ฒ ํ๋ณดํฉ๋๋ค.
- **์ธํฐํ์ด์ค ์๋ต์ฑ ์ต์ ํ:** ์ฌ์ด๋๋ฐ์ ์๋ํฐ ๊ฐ์ ๋ฐ์ดํฐ ํต์ ํ๋กํ ์ฝ์ ๊ฒฝ๋ํํ์ฌ, ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค ๋ถ์ ์ค์๋ ๋ถ๋๋ฌ์ด UI ์ธํฐ๋์
์ ๋ณด์ฅํฉ๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.8.vsix` ํจํค์ง๋ฅผ ํตํด ์ธ์ง ์ํคํ
์ฒ๊ฐ ํ ๋จ๊ณ ์งํํ ์ต์ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.7 (2026-05-15)
### ๐ ๏ธ Performance & Pipeline Refinement
- **๋น๋ ํ์ดํ๋ผ์ธ ์ต์ ํ:** ํจํค์ง ๊ณผ์ ์์์ ๋ฆฌ์์ค ์ ์ ์จ์ ๊ฐ์ ํ๊ณ , ๋ถํ์ํ ์บ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํ์ฌ ๋น๋ ์ ํฉ์ฑ์ ๋์์ต๋๋ค.
- **๋ชจ๋ ๋ก๋ฉ ํจ์จํ:** ์ต์คํ
์
ํ์ฑํ ์์ ์ด๊ธฐ ๋ก๋ฉ ์ง์ฐ ์๊ฐ์ ๋จ์ถํ๊ธฐ ์ํด ํต์ฌ ๊ธฐ๋ฅ๋ค์ ์ด๊ธฐํ ์์๋ฅผ ์ฌ์กฐ์ ํ์ต๋๋ค.
- **์์ ์ฑ ๊ฐํ:** ์ฅ๊ธฐ ์คํ ํ๊ฒฝ์์์ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง๋ฅผ ์ํ ๊ฐ๋น์ง ์ปฌ๋ ์
ํธ๋ฆฌ๊ฑฐ ํฌ์ธํธ๋ฅผ ์ต์ ํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.7.vsix` ํจํค์ง๋ฅผ ํตํด ์ ๋ฐ์ ์ธ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ด ๊ฐ์ ๋ ์ต์ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.6 (2026-05-15)
### ๐งฎ Gugudan Master Engine & Global Standards
- **๊ตฌ๊ตฌ๋จ ๋ง์คํฐ(Test_0303) ์์ง ์ต์ ํ:** `useGameEngine.js`์ ์ค๋ณต ์ ์ธ ๋ฐ ๋ฏธ์์ฑ ๋ฌผ๋ฆฌ ๋ฃจํ ๋ก์ง์ ์๋ฒฝํ๊ฒ ๋ณต๊ตฌํ๊ณ , `App.jsx`์ ์ ๋๋ฉ์ด์
์คํ๋ฅผ ์์ ํ์ฌ '๊ตฌ๊ตฌ๋จ ํ์ต ์ธํฐ๋์
'์ ์์ฑํ์ต๋๋ค.
- **Vite ์ธํ๋ผ ํ์คํ:** `postcss.config.js`, `vite.config.js`, `main.jsx` ๋ฑ ๋ฆฌ์กํธ ์ฑ ๊ตฌ๋์ ์ํ ํ์ ํ์ค ์ค์ ํ์ผ์ ์๋ํํ์ฌ ๋ฉํฐ ํ๋ก์ ํธ ์ค์บํด๋ฉ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์์กด์ฑ ๊ฒฐํฉ๋ ์ต์ ํ:** Tailwind CSS์ Framer Motion์ ์ฐ๋ ์ค์ ์ ๊ฐํํ์ฌ ์ ์ฌ์ ํ๊ฒฝ์์๋ '์ซ๋ํ' UX๋ฅผ ๋ณด์ฅํฉ๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.6.vsix` ํจํค์ง๋ฅผ ํตํด ํ์ต์ฉ ๊ฒ์ ์์ง ์ง์ ๊ธฐ๋ฅ์ด ๊ณ ๋ํ๋ ์ต์ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.5 (2026-05-15)
### ๐ฎ Multi-Project Synergy & Infrastructure
- **ํ์ต ๊ฒ์ ์ํ๊ณ ๊ตฌ์ถ:** `Test_0303`(๊ตฌ๊ตฌ๋จ ๋ง์คํฐ) ๋ฐ `Hangeul Puzzle Game`์ ๊ธฐ์ด ์ธํ๋ผ(Vite, Tailwind, Framer Motion)๋ฅผ ์๋ฒฝํ๊ฒ ๊ตฌ์ถํ๊ณ ์์ง ์คํ๋ฅผ ์์ ํ์ฌ ์ฆ์ ์คํ ๊ฐ๋ฅํ ์ํ๋ก ์ต์ ํํ์ต๋๋ค.
- **Vite-React ์ค์บํด๋ฉ ์์ ํ:** ์ ๊ท ํ๋ก์ ํธ ์์ฑ ์ `postcss.config.js`, `vite.config.js` ๋ฑ ํ์ ์ค์ ํ์ผ ์๋ ๊ตฌ์ฑ ๋ก์ง์ ๊ฐํํ์ต๋๋ค.
- **์ฝ์ด ์์ง ์์ ์ฑ ์ ์ง:** ์ต๊ทผ ์ถ๊ฐ๋ ์๋ ์ ๋ ฌ(Intent Alignment) ๋ฐ ํฝ์
์คํผ์ค ์ํ ์์ง์ ์ฐ๋ ์์ ์ฑ์ ์ฌ๊ฒ์ฆํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.5.vsix` ํจํค์ง๋ฅผ ํตํด ๋ฒ์ฉ ํ๋ก์ ํธ ์ง์ ๊ธฐ๋ฅ์ด ๊ฐํ๋ ์ต์ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.4 (2026-05-15)
### โ๏ธ Intent Alignment & Pixel Office Engine
- **์๋ ์ ๋ ฌ ์์คํ
(Intent Alignment) ๊ณต์ํ:** `intentAlignment.ts`์ `intentClassifier.ts`๋ฅผ ํตํด ์ฌ์ฉ์ ๋ฉ์์ง์ ์๋๋ฅผ ์๋ ๋ถ๋ฅํ๊ณ , ํ์ดํ๋ผ์ธ ์คํ ์ ์๊ตฌ์ฌํญ ๊ณ์ฝ(Requirement Contract)์ ์ฒด๊ฒฐํ๋ C-G-C-F-Q ํ๋ ์์ํฌ๋ฅผ ์์ ํํ์ต๋๋ค.
- **ํฝ์
์คํผ์ค ์ํ ์์ง ๊ตฌ์ถ:** `pixelOfficeState.ts`๋ฅผ ํตํด ์์ด์ ํธ ํ์ดํ๋ผ์ธ ์ํ(๋ถ์ ์ค, ์คํ ์ค, ๋๊ธฐ ๋ฑ)๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ๋ ๋น์ฃผ์ผ ํผ๋๋ฐฑ ๋ ์ด์ด๋ฅผ ์์ฑํ์ต๋๋ค.
- **Self-Reflector ์๋ธ ๋ชจ๋ ์์ ํ:** `selfReflectorExecution`, `selfReflectorVerifier`, `selfReflectorPrompt`, `selfReflectorHollow` 4๊ฐ ๋ชจ๋์ ์ํธ์์ฉ ๋ก์ง์ ์ ๊ตํํ์ฌ ์ฑ์ฐฐ ๋จ๊ณ์ ์ ๋ขฐ์ฑ์ ๋์์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.4.vsix` ํจํค์ง๋ฅผ ํตํด ์ต์ ์๋ ์ ๋ ฌ ๋ฐ ์ฑ์ฐฐ ์์ง์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.3 (2026-05-15)
### ๐ Stability & Packaging Refinement
- **ํจํค์ง ์ ํฉ์ฑ ๊ฐํ:** ์ต์ ์ฝ๋๋ฒ ์ด์ค ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ์ฌ ๋น๋ ํ์ดํ๋ผ์ธ์ ์ฌ๊ฒ์ฆํ๊ณ ๋ฐฐํฌ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์ง์์ ํ์ง ๊ด๋ฆฌ:** 298๊ฐ ์ ์ฒด ํ
์คํธ ์ค์ํธ ํต๊ณผ๋ฅผ ์ฌํ์ธํ์ฌ ์์ง ์ ๋ขฐ์ฑ์ ์ ์งํฉ๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.2.3.vsix` ํจํค์ง๋ฅผ ํตํด ์ต์ ์์ ํ ์ํ๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.2.2 (2026-05-15)
### ๐ง Intelligent Reflection & Knowledge Consolidation
- **์๊ฐ ์ฑ์ฐฐ ๊ฒฐ๊ณผ์ ์์์ฑ(Reflection Persistence) ๊ฐํ:** `reflectionPersister.ts`๋ฅผ ํตํด ์์ด์ ํธ์ ๋นํ(Critique)๊ณผ ์ฑ์ฐฐ ๋ด์ฉ์ ์ง์ ๋ฒ ์ด์ค์ ์๊ตฌ์ ์ผ๋ก ๊ธฐ๋กํ๊ณ , ํฅํ ๋ฏธ์
์์ ์ด๋ฅผ ์๊ฐ ํ์ต ๋ฐ์ดํฐ๋ก ํ์ฉํ ์ ์๋ ๊ธฐ๋ฐ์ ๋ง๋ จํ์ต๋๋ค.
- **์์
์ฌ๊ฐ ๋ก์ง ์์ ํ:** `resumeStore.ts` ์์คํ
์ ์ต์ข
์ ๋นํ์ฌ ๋น์ฆ๋์ค ํ์ดํ๋ผ์ธ ์ค๋จ ์์ ๋ณต๊ตฌ ์ ๋ขฐ๋๋ฅผ ๊ทน๋ํํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ ์ ๊ณต ๋ก์ง ์ต์ ํ:** `sidebarProvider.ts` ๋๊ท๋ชจ ๋ฆฌํฉํ ๋ง์ ํตํด ๋ฉ์์ง ํธ๋ค๋ง ์ฑ๋ฅ์ ๊ฐ์ ํ๊ณ UI ๋ฐ์์ฑ์ ๋์์ต๋๋ค.
- **์ํคํ
์ฒ ๋ฌธ์ ๋ฐ ๊ธฐํ ์์ฐ ์ต์ ํ:** ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ถ์ ๊ฒฐ๊ณผ์ ๊ธฐํ ๋ ์ฝ๋๋ฅผ ๋๊ธฐํํ์ฌ ์์ด์ ํธ์ ์ํฉ ์ธ์ง ๋ฅ๋ ฅ์ ํฅ์์์ผฐ์ต๋๋ค.
---
## v2.2.1 (2026-05-14)
### ๐ Autonomous Task Resumption & Engine Resilience
- **์์
์ค๋จ ํ ์์จ ์ฌ๊ฐ ๊ธฐ๋ฅ ๋์
:** ์๊ธฐ์น ์์ ์ค๋ฅ๋ ์ค๋จ ์ํฉ์์๋ ์ด์ ์ ์งํํ๋ ์์
ํ๋ฆ(Company Mission)์ ๋ง์ง๋ง ์ฑ๊ณต ๋จ๊ณ๋ถํฐ ์ฆ์ ์ด์ด์ ์คํํ ์ ์๋ `resumeStore` ์์คํ
์ ๊ตฌ์ถํ์ต๋๋ค.
- **์ํ ๋ณด์กด ์ ๊ตํ:** `_resume.json`์ ํตํด ๊ฐ ๋จ๊ณ๋ณ ํ์์ ๊ฒฐ๊ณผ๋ฌผ๊ณผ ๋จ์ ์์
๋ค์ ์ค์๊ฐ์ผ๋ก ์ ์ฅํ๋ฉฐ, ์์์ (Atomic) ์ฐ๊ธฐ ๋ฐฉ์์ ํตํด ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณด์ฅํฉ๋๋ค.
- **์ํฌํ๋ก์ฐ ์์ ์ฑ ๊ฐํ:** `dispatcher.ts` ๋ด์ ๋ณต๊ตฌ ๋ก์ง์ ๊ฐํํ์ฌ ๋ค๋จ๊ณ ํ์
๋ฏธ์
์ํ ์ค ๋ฐ์ํ ์ ์๋ ๋ ์ด์ค ์ปจ๋์
๊ณผ ์ํ ๋ถ์ผ์น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
- **UI ๋ฐ ํผ๋๋ฐฑ ๊ฐ์ :** ์์
์ฌ๊ฐ ์ ํ์ฌ ์ํฉ์ ๋ช
ํํ ์ธ์งํ ์ ์๋๋ก ์ฌ์ด๋๋ฐ์ ๋ํ ํธ๋ค๋ฌ์ ์ํ ๋ณด๊ณ ๊ธฐ๋ฅ์ ์ต์ ํํ์ต๋๋ค.
---
## v2.2.0 (2026-05-14)
### ๐ Milestone: Human-Centric UI & Workflow Evolution
- **UI ์ฉ์ด ๋ฐ ์ธํฐ๋์
์ ๋ฉด ํ๊ธํ:** '์์ด์ ํธ', 'ํ์ดํ๋ผ์ธ' ๋ฑ ๋ฑ๋ฑํ ์ฉ์ด๋ฅผ 'ํ์', '์์
ํ๋ฆ' ๋ฑ ์ง๊ด์ ์ธ ํ๊ธ๋ก ์ํํ์ฌ ์น์๋๋ฅผ ๋์์ต๋๋ค.
- **์ ๊ท ์ฌ์ฉ์ ๊ฐ์ด๋ ๊ณ ๋ํ:** ์์ ์ฒดํฌ๋ฆฌ์คํธ์ ์์ ์ง๋ฌธ ์นฉ์ ํตํด ์ฒซ ์ฌ์ฉ์๊ฐ Astra์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ์ฆ์ ์ฒดํํ ์ ์๋๋ก ์ค๊ณํ์ต๋๋ค.
- **์์
ํ๋ฆ(Pipeline) ์๋ํฐ ๊ฐ์ :** ๋ณต์กํ ์ค์ ์์ด๋ ํ
ํ๋ฆฟ์ ํตํด '๋ํ์๊ฒ ๋งก๊ธฐ๊ฑฐ๋', '์ฌ์ฉ์๊ฐ ์ง์ ์ ํ ์์๋๋ก' ํ์์ด ์ด์ด์ ์์
ํ๊ฒ ๋ง๋ญ๋๋ค.
- **ํ์ ๊ด๋ฆฌ ์ธํฐํ์ด์ค ์ต์ ํ:** ์๋ก์ด ํ์์ ์ถ๊ฐํ ๋ ๋ด๋ถ ID์ ํ
๋ง ์์, ์๋ต ์คํ์ผ ๋ฑ์ ๋์ฑ ์ธ๋ฐํ๊ฒ ์ค์ ํ ์ ์๋๋ก UI๋ฅผ ์ ๊ตํํ์ต๋๋ค.
- **์๊ฐ์ ์ผ๊ด์ฑ ๊ฐํ:** ์ฌ์ด๋๋ฐ ์ ๋ฐ์ ๋์์ธ ํ ํฐ์ ์ฌ๊ฒํ ํ์ฌ ๋์ฑ ํ๋ฆฌ๋ฏธ์ํ๊ณ ์ผ๊ด๋ ๋ฃฉ์คํ์ ์์ฑํ์ต๋๋ค.
---
## v2.1.9 (2026-05-14)
### ๐ Immersive Onboarding & UX Transformation
- **์ ๊ท ์ฌ์ฉ์ ์จ๋ณด๋ฉ ํ๋ก์ธ์ค ๋์
:** ์ฌ์ด๋๋ฐ์ 3๋จ๊ณ ์ฒดํฌ๋ฆฌ์คํธ(๋๋ ์ฐ๊ฒฐ, ๋ชจ๋ธ ์ ํ, ์ฒซ ์ง๋ฌธ)๋ฅผ ์ถ๊ฐํ์ฌ ์ด๊ธฐ ์ค์ ๊ณผ์ ์ ์ง๊ด์ ์ผ๋ก ๊ฐ์ ํ์ต๋๋ค.
- **์์ ์ง๋ฌธ ์นฉ(Sample Prompt Chips) ์ถ๊ฐ:** ์ฝ๋ ๋ฆฌ๋ทฐ, ๋จ์ ํ
์คํธ, ์ํคํ
์ฒ ๋ถ์ ๋ฑ ์์ฃผ ์ฐ์ด๋ ์ง๋ฌธ์ ํ ๋ฒ์ ํด๋ฆญ์ผ๋ก ์
๋ ฅ์ฐฝ์ ์ฑ์ธ ์ ์๋ ๊ธฐ๋ฅ์ ๋์
ํ์ต๋๋ค.
- **์ฐ์ปด ํจ๋ ์ ๋ฉด ๊ฐํธ:** ์ํ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๋ณํ๋ ํ์ ๋ฉ์์ง์ ํ์ ํตํด ๋์ฑ ๊ฐ์ธํ๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
- **์์ด์ ํธ ์ญํ ์ ๋ฐ ํ๋:** ๋ ์ค, ๋ฃจ๋, ์๋ผ ๋ฑ ์ ๊ท ์์ด์ ํธ๋ค์ ํ๋ฅด์๋์ ์ ๋ฌธ ๋ถ์ผ ์ค๋ช
์ ๋์ฑ ๋งค๋๋ฝ๊ฒ ๋ค๋ฌ์์ต๋๋ค.
---
## v2.1.8 (2026-05-14)
### ๐ข Company Agent Roster Overhaul & UI Polish
- **์์ด์ ํธ ๋ก์คํฐ ์ ๋ฉด ๊ฐํธ:** 1์ธ ๊ธฐ์
๋ชจ๋์ ๋ฃจ๋(์ฌ์ด๋), ๋ ์ค(์ ํ๋ธ), ์๋ผ(์ธ์คํ) ๋ฑ ํนํ๋ ์์ด์ ํธ๋ฅผ ์ถ๊ฐํ๊ณ ์ญํ ์ ๋์ฑ ์ธ๋ถํํ์ต๋๋ค.
- **์ ํ ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ ์ต์ ํ:** ๊ธฐํ โ ๋์์ธ โ ๊ฐ๋ฐ โ QA โ ๊ฐ๋ฆฌ๋ก ์ด์ด์ง๋ ํต์ฌ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐํํ๊ณ ๊ธฐ๋ณธ ํ์ฑ ์์ด์ ํธ ๊ตฌ์ฑ์ ์กฐ์ ํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI ๋ฐ ์ธํฐ๋์
์ ๊ตํ:** `sidebar.js`์ ์คํ์ผ์ํธ๋ฅผ ๊ฐ์ ํ์ฌ ๋ํ ํ๋ฆ์ ์๊ฐ์ ์์ ์ฑ๊ณผ ๋ฐ์์ฑ์ ๋์์ต๋๋ค.
- **๋น์ฆ๋์ค ์์ง ๊ณ ๋ํ:** `companyConfig.ts` ๋ฐ ํธ๋ค๋ฌ ๋ก์ง ์์ ์ ํตํด ๋ค์ค ์์ด์ ํธ ํ์
์์ ์ปจํ
์คํธ ์ ์ง ๋ฅ๋ ฅ์ ๊ฐํํ์ต๋๋ค.
---
## v2.1.7 (2026-05-14)
### ๐ Version Up & Packaging Stabilization
- **๋ฒ์ ์ํฅ ๋ฐ ํจํค์ง:** ํ๋ก์ ํธ ๋ฒ์ ์ `v2.1.7`๋ก ์
๋ฐ์ดํธํ๊ณ ์ ๊ท VSIX ํจํค์ง๋ฅผ ์์ฑํ์ต๋๋ค.
- **Git ์ถฉ๋ ํด๊ฒฐ:** `git pull` ๊ณผ์ ์์ ๋ฐ์ํ ์๋ ์์ฑ ํ์ผ(`.astra/project-context/architecture.md` ๋ฑ)์ ์ปจํ๋ฆญํธ๋ฅผ ๋ฆฌ๋ชจํธ ์ฐ์ ๋ฐฉ์์ผ๋ก ํด๊ฒฐํ์ฌ ์ํ๋ฅผ ์์ ํํ์ต๋๋ค.
- **ํจํค์ง ์ ํฉ์ฑ ํ๋ณด:** ์ต์ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ํฌํจํ `astra-2.1.7.vsix` ๋ฐฐํฌ ์ค๋น๋ฅผ ์๋ฃํ์ต๋๋ค.
---
## v2.1.6 (2026-05-14)
### ๐ ๏ธ Sidebar Polish & Configuration Refinement
- **์ฌ์ด๋๋ฐ ์ํธ์์ฉ ์ต์ ํ:** `sidebar.js`์ `chatHandlers.ts`๋ฅผ ํ๋ํ์ฌ ๋น๋๊ธฐ ๋ฉ์์ง ์ฒ๋ฆฌ ์์ UI ์ง์ฐ ํ์์ ์ต์ํํ๊ณ ์ฌ์ฉ์ ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ๊ฐํํ์ต๋๋ค.
- **Company Suite ์ค์ ์ ๊ตํ:** `companyConfig.ts`์ ๊ธฐ๋ณธ ์ค์ ์ ๋ณด์ํ์ฌ ๋ฉํฐ ํ๋ก์ ํธ ํ๊ฒฝ์์์ ์์ด์ ํธ ์ ํ ์์ ์ฑ์ ๋์์ต๋๋ค.
- **ํ
์คํธ ์ผ์ด์ค ๋๊ธฐํ:** ์คํธ๋ ์ค ํ
์คํธ ์ค ๋ฐ์ํ ์ปจํ๋ฆญํธ ๋ฏธ์
ํ์ผ์ ์ ๋ฆฌํ๊ณ ์บ์ ์ ํฉ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **ํจํค์ง ์์ ํ:** `astra-2.1.6.vsix`๋ฅผ ํตํด ๋์ฑ ์ธ๋ฐํ๊ฒ ์กฐ์ ๋ ์ ์ด ๋ ์ด์ด๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.1.5 (2026-05-14)
### ๐ Orchestration Pipeline & Immersive Synergy
- **Pipeline Templates ๋์
:** 1์ธ ๊ธฐ์
๋ชจ๋์ ์
๋ฌด ํ๋ฆ์ ํ
ํ๋ฆฟํํ์ฌ `pipelineTemplates.ts`๋ฅผ ํตํด ๊ณ ์ ๋ ๋น์ฆ๋์ค ์๋๋ฆฌ์ค๋ฅผ ๋น ๋ฅด๊ฒ ์คํํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค.
- **Orchestration ๋ก์ง ์ ๊ตํ:** `CEO Planner`์ `Dispatcher` ๊ฐ์ ๋ฐ์ดํฐ ํ๋ฆ์ ์ต์ ํํ์ฌ, ๋ณตํฉ์ ์ธ ๋ฏธ์
์ํ ์์ ์ปจํ
์คํธ ์ ์ง ๋ฅ๋ ฅ์ ๊ฐํํ์ต๋๋ค.
- **UI/UX ๋ฏธ์ธ ์กฐ์ :** ์ฌ์ด๋๋ฐ์ ๋ฐ์ํ ์คํ์ผ๊ณผ ์ํธ์์ฉ ๋ก์ง์ ๊ฐ์ ํ์ฌ ๋์ฑ ์พ์ ํ ์์ด์ ํธ ์ ์ด ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
- **๋น์ฆ๋์ค ์ ํฉ์ฑ ๊ฐํ:** ๋กฏ๋ฐ์๋ ์ด๋จธ์๋ธ ํ๋ก์ ํธ์ ๊ฐ์ ์ค์ ๊ธฐ์ ๊ฒํ ์๋๋ฆฌ์ค๋ฅผ ์์ฉํ ์ ์๋๋ก ์์ด์ ํธ์ ์ง์ ํ์ฉ ๋ฒ์๋ฅผ ์กฐ์ ํ์ต๋๋ค.
---
## v2.1.4 (2026-05-14)
### ๐ข Enterprise Multi-Agent Suite & Reflector Stabilization
- **Company Suite ๊ณ ๋ํ:** `CEO Planner`, `CEO Reporter` ๋ฑ 1์ธ ๊ธฐ์
๋ชจ๋๋ฅผ ์ํ ๋น์ฆ๋์ค ์ค์ผ์คํธ๋ ์ด์
๊ธฐ๋ฅ์ ์์ ํํ๊ณ , ๋ถ์ ๊ฐ ํ์
๋ก์ง์ ๊ฐํํ์ต๋๋ค.
- **Self-Reflection (Reflector) ๊ณต์ ๋์
:** Researcher์ Writer ์ฌ์ด์ ๋นํ(Critique) ๋จ๊ณ๋ฅผ ์ถ๊ฐํ์ฌ, ๋ฆฌ์์น ๊ฒฐ๊ณผ์ ๋๋ฝ์ด๋ ๋ชจ์์ ์ฌ์ ์ ๊ฒ์ฆํ๋ ์ธํ
๋ฆฌ์ ์ค ๋ฃจํ๋ฅผ ์์ฑํ์ต๋๋ค.
- **์ง์ ์์ฐ(ADR/Bug) ์ฒด๊ณํ:** ์ ๊ท ADR ๋ฐ ๋ฒ๊ทธ ๋ ์ฝ๋๋ฅผ ํตํฉํ์ฌ ํ๋ก์ ํธ์ ์์ฌ๊ฒฐ์ ์ด๋ ฅ๊ณผ ๊ธฐ์ ์ ๋ถ์ฑ ๊ด๋ฆฌ ๋ฅ๋ ฅ์ ํฅ์์์ผฐ์ต๋๋ค.
- **์ธํ๋ผ ํ๊ฒฝ ์ ๋น:** ํ๋ก์ ํธ ๋ฃจํธ ๋ฐ ํ์ ๋ชจ๋ ๊ฐ์ ํ๊ฒฝ ์ค์ ์ถฉ๋์ ํด๊ฒฐํ๊ณ ๋น๋ ํ์ดํ๋ผ์ธ์ ๊ฒฌ๊ณ ํจ์ ํ๋ณดํ์ต๋๋ค.
---
## v2.1.3 (2026-05-14)
### ๐ Core Synergy & Distribution Alignment
- **์ข
์์ฑ ์ ํฉ์ฑ ์๊ฒฐ:** `package-lock.json`์ ์ต์ ์์ง ์ฌ์์ ๋ง์ถฐ ๋๊ธฐํํ์ฌ ๋น๋ ์์ ์์กด์ฑ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ์์ฒ ์ฐจ๋จํ์ต๋๋ค.
- **ํ
๋ ๋ฉํธ๋ฆฌ ๋ฐ ์๋งจํฑ ์ธ๋ฑ์ฑ ํตํฉ:** ์ ๊ท ๋์
๋ `telemetry.ts`์ `embeddings.ts`๋ฅผ ํตํด ์์คํ
์ง๋จ ๋ฅ๋ ฅ์ ๊ฐํํ๊ณ ์ง์ ๊ฒ์์ ์๋ฏธ๋ก ์ ์ ํ๋๋ฅผ ๋์์ต๋๋ค.
- **์์ง ์์ ์ฑ ๊ฐํ:** ํ์ด๋ธ๋ฆฌ๋ ์ง์ ๊ฒ์(TF-IDF + Vector) ๋ก์ง์ ์ฑ๋ฅ์ ํ๋ํ์ฌ ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค์์์ ์๋ต ์๋๋ฅผ ๊ฐ์ ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.1.3.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ๊ฐ๋ ฅํด์ง ์ธํ
๋ฆฌ์ ์ค ๋ ์ด์ด๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.1.2 (2026-05-14)
### ๐๏ธ Chronicle Repair & Context Stability
- **ํ๋ก์ ํธ ๋ฃจํธ ์๋ ๋ณต๊ตฌ ๋ก์ง ๋์
:** ์ด์ ๋ฒ์ ์์ ์ํฌ์คํ์ด์ค ์์ ํด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์๋ชป ์ ์ฅ๋ ์๋ธํ๋ก์ ํธ ๋ฃจํธ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ํ์งํ๊ณ ์์ ํ๋ ๋ณต๊ตฌ(`_repairCorruptedChronicleProjectRoots`) ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- **์ปจํ
์คํธ ์ ํ ์ ๊ตํ:** ์๋ํฐ ํฌ์ปค์ค ๊ธฐ๋ฐ์ ์๋ ํ๋ก์ ํธ ์ ํ ๋ก์ง์ ๊ฐ์ ํ์ฌ, ์ฌ์ฉ์๊ฐ ์๋์ผ๋ก ์ง์ ํ ํ๋ก์ ํธ ์ปจํ
์คํธ๊ฐ ์๋์น ์๊ฒ ์ด๊ธฐํ๋์ง ์๋๋ก ์์ ์ฑ์ ๊ฐํํ์ต๋๋ค.
- **์ํคํ
์ฒ ์ธ์ง ๊ณ ๋ํ:** ์๋ธํ๋ก์ ํธ ์ธ์ ์คํจ ์ ์ํฌ์คํ์ด์ค ๋ฃจํธ๋ก ํด๋ฐฑํ๋ ๋์์ ๋ณด์ํ์ฌ ๋ค์ค ํ๋ก์ ํธ ํ๊ฒฝ์์์ ์ผ๊ด์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.1.2.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ์์ ํ๋ ํ๋ก์ ํธ ๊ด๋ฆฌ ํ๊ฒฝ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.1.1 (2026-05-14)
### ๐๏ธ Multi-Subproject Awareness & Context Precision
- **์๋ธํ๋ก์ ํธ ์๋ ์ธ์ ๊ธฐ๋ฅ ๋์
:** ์์ ํด๋๋ฅผ ์ด์ด ์ฌ๋ฌ ํ๋ก์ ํธ๋ฅผ ๋์์ ์์
ํ ๋, ํ์ฌ ํ์ฑํ๋ ํ์ผ์ ์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ณ ํ๋ก์ ํธ(ConnectAI, Datacollector ๋ฑ)์ ๋ฃจํธ๋ฅผ ์ ํํ ์๋ณํฉ๋๋ค.
- **์ค์๊ฐ ์ปจํ
์คํธ ์ฌ๋๊ธฐํ:** ์๋ํฐ์์ ๋ค๋ฅธ ํ๋ก์ ํธ์ ํ์ผ์ ํด๋ฆญํ ๋๋ง๋ค ์ํคํ
์ฒ ์ ๋ณด์ ์ง์ ๋ฒ ์ด์ค ๋ฒ์๋ฅผ ์ฆ์ ๋๊ธฐํํ์ฌ, ํผ์ ์๋ ์ ํํ ๋ต๋ณ์ด ๊ฐ๋ฅํ๋๋ก ๊ฐ์ ํ์ต๋๋ค.
- **์ํฌํ๋ก์ฐ ์์ ํ:** ์๋ธํ๋ก์ ํธ ์ ํ ์ ๋ฐ์ํ ์ ์๋ ๋ ์ด์ค ์ปจ๋์
์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ํ ์
๋ฐ์ดํธ ๋ก์ง์ ๋๋ฐ์ด์ค(Debounce)๋ฅผ ์ ์ฉํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.1.1.vsix` ํจํค์ง๋ฅผ ํตํด ๋ณต์กํ ํด๋ ๊ตฌ์กฐ์์๋ ์๋ฒฝํ๊ฒ ์๋ํ๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.1.0 (2026-05-14)
### ๐ง Self-Reflection & Multi-Agent Intelligence
- **์๊ฐ ์ฑ์ฐฐ(Self-Reflection) ๋จ๊ณ ๋์
:** Researcher์ Writer ์ฌ์ด์ `Reflector` ์์ด์ ํธ๋ฅผ ์ถ๊ฐํ์ฌ ์์ง๋ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ๋
ผ๋ฆฌ์ ์ ํฉ์ฑ์ ์๋์ผ๋ก ๊ฒํ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
- **๋ฉํ ์ธ์ง ๊ธฐ๋ฐ ํ์ง ๋ณด์ฆ:** Reflector๊ฐ ๋ถ์ ๋จ๊ณ์์์ ๋๋ฝ ์ฌํญ์ด๋ ๋ชจ์์ ์ ์๋ณํ์ฌ Writer์๊ฒ ๊ตฌ์ฒด์ ์ธ ๋ณด์ ์ง์(Critique)๋ฅผ ์ ๋ฌํจ์ผ๋ก์จ ์ต์ข
๋ต๋ณ์ ํ์ง์ ๋น์ฝ์ ์ผ๋ก ํฅ์์์ผฐ์ต๋๋ค.
- **์ค์ ์ ์ด ๊ธฐ๋ฅ:** `g1nation.enableReflection` ์ต์
์ ํตํด ์ฑ๋ฅ ์ฐ์ ๋ชจ๋์ ์ง๋ฅ ์ฐ์ ๋ชจ๋๋ฅผ ์ ํํ ์ ์๋๋ก ์ ์ฐ์ฑ์ ๋ถ์ฌํ์ต๋๋ค.
- **๋ฒ๊ทธ ์์ :** ์ํคํ
์ฒ ๋ฌธ์ ์ฐ๊ฒฐ(Attach) ์ ์ํ ๋๊ธฐํ๊ฐ ๊ฐํ์ ์ผ๋ก ์คํจํ๋ ๋ก์ง์ ์์ ํ์ฌ ์์ ์ฑ์ ๊ฐํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.1.0.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ๊ณ ๋ํ๋ ์ถ๋ก ์์ง์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.0.9 (2026-05-14)
### ๐ก๏ธ System Synchronization & Distribution
- **์ ์ญ ์ ์ฅ์ ๋๊ธฐํ ์๋ฃ:** Wiki, Datacollector, Agent ๋ฑ ๋ชจ๋ ๊ด๋ จ ์ ์ฅ์์ ๋๊ท๋ชจ ๋ฆฌํฉํ ๋ง ๋ฐ ์
๋ฐ์ดํธ ์ฌํญ์ ์ต์คํ
์
ํ๊ฒฝ์ ์ต์ข
๋๊ธฐํํ์ต๋๋ค.
- **๋ฐฐํฌ ์์ ์ฑ ๊ฐํ:** ๋ฉํฐ ์ ์ฅ์ ๋๊ธฐํ ์ดํ์ ํจํค์ง ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆํ๊ณ , ์ต์ ์ง์ ๋ฒ ์ด์ค ๊ตฌ์กฐ(.agent/ ๋ฑ)์์ ํธํ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.9.vsix` ํจํค์ง๋ฅผ ํตํด ๋ชจ๋ ํ๋ก์ ํธ ์์ฐ์ด ์ต์ ํ๋ ์์ ๋ ์คํ ํ๊ฒฝ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.0.8 (2026-05-14)
### ๐ UX Persistence & Per-Agent Knowledge Mix
- **Astra Launcher ๋์
:** ์ค์๋ก ์ฑํ
ํญ์ ๋ซ์์ ๋ ์ฌ์ด๋๋ฐ์์ ์ฆ์ ๋ค์ ์ด ์ ์๋ ์ ์ฉ ๋ฐ์ฒ ๋ทฐ๋ฅผ ์ถ๊ฐํ์ฌ ์ ๊ทผ์ฑ์ ๋์์ต๋๋ค.
- **์์ด์ ํธ๋ณ ์ง์ ๋ฏน์ค(Knowledge Mix) ์ค๋ฒ๋ผ์ด๋:** ๋น์ฆ๋์ค ์์ด์ ํธ๋ง๋ค '์ธ์ปจ๋ ๋ธ๋ ์ธ' ์ง์ ํ์ฉ ๋น์ค์ ๊ฐ๋ณ์ ์ผ๋ก ์ค์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ๋์
ํ์ต๋๋ค. ์ด์ ๊ฐ ์ ๋ฌธ๊ฐ ์์ด์ ํธ์ ํน์ฑ์ ๋ง์ถฐ ์ง์ ๊ฒ์ ๊น์ด๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI ๋ฐ ์ธํฐ๋์
์ ๊ตํ:** ์ฌ์ด๋๋ฐ(`sidebar.js`, `sidebar.css`)์ ๋์์ธ์ ๊ฐ์ ํ๊ณ , ๋น์ฆ๋์ค ์ํฌํ๋ก์ฐ์์์ ์ํ ์๊ฐํ๋ฅผ ์ต์ ํํ์ต๋๋ค.
- **์์คํ
์์ ์ฑ ๊ฐํ:** ์ต์คํ
์
์ฝ์ด์ ์ฌ์ด๋๋ฐ ๊ฐ์ ์ํ ๋๊ธฐํ ๋ก์ง์ ๋ณด์ํ์ฌ ์ฅ์๊ฐ ์ฌ์ฉ ์์ ์ ๋ขฐ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.8.vsix` ํจํค์ง๋ฅผ ํตํด ์ฌ์ฉ์ ํธ์์ฑ์ด ๊ทน๋ํ๋ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.0.7 (2026-05-14)
### ๐ข Enhanced Telegram Reporting & File Visibility
- **ํ
๋ ๊ทธ๋จ ๊ฒฐ๊ณผ๋ฌผ ์ถ์ ๊ฐํ:** ํ
๋ ๊ทธ๋จ ๋ณด๊ณ ์์ ์์ด์ ํธ๊ฐ ์์ฑํ ํ์ผ ๊ฒฝ๋ก(`*๊ฒฐ๊ณผ๋ฌผ:*`)์ ์ธ์
ํด๋ ์์น๋ฅผ ๋ช
์์ ์ผ๋ก ํฌํจํ์ฌ, ์์ฑ๋ ์์ฐ์ ์ฆ์ ํ์ธํ ์ ์๋๋ก ๊ฐ์ ํ์ต๋๋ค.
- **์ก์
๋ฆฌํฌํ
์์คํ
๊ณ ๋ํ:** `AgentTurnOutput`์ `actionReport` ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ์คํ๋ ์ก์
ํ๊ทธ์ ๊ฒฐ๊ณผ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ถ์ ํ๊ณ ๋ค๋ฅธ ์๋น์ค์์ ํ์ฉํ ์ ์๋๋ก ์ ๊ตํํ์ต๋๋ค.
- **๋์คํจ์ฒ ์์ ์ฑ ํฅ์:** `dispatcher.ts` ๋ด์ ์ก์
์คํ ๋ก์ง์ ๊ฐ์ ํ์ฌ ํ๊ทธ ์คํ ๊ฒฐ๊ณผ์ ์๋ต ๋ณธ๋ฌธ์ ์ ํฉ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **ํ์
์์ ์ฑ ๋ณด๊ฐ:** ๋น์ฆ๋์ค ์์ง ์ ๋ฐ์ ์ธํฐํ์ด์ค์ ํ์
์ ๋ณด๊ฐํ์ฌ ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.7.vsix` ํจํค์ง๋ฅผ ํตํด ๊ฐํ๋ ํ
๋ ๊ทธ๋จ ๋ฆฌํฌํ
๊ณผ ์์ ํ๋ ์์ง์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.0.6 (2026-05-14)
### ๐ Intelligence & UX Optimization
- **UI & UX ์ ๊ตํ:** ์ฌ์ด๋๋ฐ(`sidebar.js`, `sidebar.css`)์ ์ธํฐ๋์
๊ณผ ์คํ์ผ์ ๊ฐ์ ํ์ฌ ๋์ฑ ๋งค๋๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
- **ํ
๋ ๊ทธ๋จ ๋ํ ๊ธฐ๋ก ๊ด๋ฆฌ:** `conversationHistory.ts`๋ฅผ ๋์
ํ์ฌ ํ
๋ ๊ทธ๋จ ์ฐ๋ ์์ ๋ํ ๋งฅ๋ฝ ์ ์ง ๊ธฐ๋ฅ์ ๊ฐํํ์ต๋๋ค.
- **๋น์ฆ๋์ค ์์ง ๊ณ ๋ํ:** `dispatcher.ts` ๋ฐ `promptBuilder.ts` ์ต์ ํ๋ฅผ ํตํด CEO ์์ด์ ํธ์ ์์ฌ๊ฒฐ์ ๋ฐ ์์
ํ ๋น ์ ๋ฐ๋๋ฅผ ๋์์ต๋๋ค.
- **์ํคํ
์ฒ ๋ถ์ ๊ฐํ:** ํ๋ก์ ํธ ๊ตฌ์กฐ ์ค์บ ๋ฐ ์ปจํ
์คํธ ์ฃผ์
๋ก์ง์ ๋ณด์ํ์ฌ ๋ ๊น์ ์ฝ๋ ์ดํด๊ฐ ๊ฐ๋ฅํ๋๋ก ๊ฐ์ ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.6.vsix` ํจํค์ง๋ฅผ ํตํด ํตํฉ๋ ์ฑ๋ฅ ๋ฐ ์ธํฐํ์ด์ค ๊ฐ์ ์ฌํญ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.0.5 (2026-05-13)
### ๐ข Telegram Business Reporting & Core Resilience
- **ํ
๋ ๊ทธ๋จ ๋น์ฆ๋์ค ๋ฆฌํฌํ
๋์
:** ๋น์ฆ๋์ค ์์ด์ ํธ์ ์ฑ๊ณผ๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ณด๊ณ ํ๋ `telegramReport.ts`๋ฅผ ์ถ๊ฐํ์ฌ ์๊ฒฉ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ ๊ฐํํ์ต๋๋ค.
- **์์ด์ ํธ ์์ง ๋ณต์๋ ฅ ๊ฐํ:** `agent.ts` ๋ฐ `dispatcher.ts` ๋ด์ ์์ธ ์ฒ๋ฆฌ ๋ก์ง์ ๋ณด๊ฐํ์ฌ ๋ณต์กํ ์์จ ๋ฏธ์
์ํ ์์ ์์ ์ฑ์ ๋์์ต๋๋ค.
- **์ฌ์ด๋๋ฐ ์ํ ๊ด๋ฆฌ ์ต์ ํ:** `sidebarProvider.ts`์ `sidebar.js`๋ฅผ ์์ ํ์ฌ ์ธ์
์ ํ ๋ฐ ๋ํ ์ด๊ธฐํ ์์ ๋ฐ์์ฑ์ ๊ฐ์ ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.5.vsix` ํจํค์ง๋ฅผ ํตํด ํ
๋ ๊ทธ๋จ ์ฐ๋ ๋ณด๊ณ ์ ๊ฐํ๋ ์์ง ์์ ์ฑ์ ํตํฉ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.0.4 (2026-05-13)
### โก Advanced Business Orchestration & UI Polishing
- **๋น์ฆ๋์ค ์์ด์ ํธ ๊ณ ๋ํ:** `companyConfig.ts` ๋ฐ `promptBuilder.ts` ์์ ์ ํตํด CEO ์์ด์ ํธ์ ๋ชฉํ ์ค์ ๋ฐ ์ปจํ
์คํธ ์ฃผ์
๋ก์ง์ ์ ๊ตํํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์ :** `sidebar.css`์ `sidebar.js`๋ฅผ ๊ฐฑ์ ํ์ฌ ๋น์ฆ๋์ค ์ํฌํ๋ก์ฐ ์งํ ์ํ ์๊ฐํ๋ฅผ ์ต์ ํํ์ต๋๋ค.
- **๋ํ ํธ๋ค๋ฌ ์์ ํ:** `chatHandlers.ts` ๋ฐ `sidebarProvider.ts` ๋ด์ ๋น๋๊ธฐ ๋ฉ์์ง ์ฒ๋ฆฌ ๋ฐ ์ํ ๋๊ธฐํ ๋ก์ง์ ๊ฐํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.4.vsix` ํจํค์ง๋ฅผ ํตํด ๋์ฑ ์์ ์ ์ธ ๋น์ฆ๋์ค ์๋ํ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
---
## v2.0.3 (2026-05-13)
### ๐ข AI 1-Person Company Engine & Business Intelligence
- **AI 1์ธ ๊ธฐ์
(Company) ์์ง ๋์
:** ๋น์ฆ๋์ค ์ ๋ต ์๋ฆฝ๋ถํฐ ์๋ํ ์คํ๊น์ง ์์ฐ๋ฅด๋ `src/features/company/` ๋ชจ๋์ ์ ๊ท ๋์
ํ์ต๋๋ค.
- **CEO ์์ด์ ํธ ์ํฌํ๋ก์ฐ:** `ceoPlanner`์ `ceoReporter`๋ฅผ ํตํด ๋น์ฆ๋์ค ๋ชฉํ ์ค์ ๊ณผ ๊ฒฐ๊ณผ ๋ถ์์ ์์จ์ ์ผ๋ก ์ํํ๋ ์ง๋ฅํ ์ํฌํ๋ก์ฐ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค.
- **๋น์ฆ๋์ค ํ๋กฌํํธ ์์ฐํ:** ๋น์ฆ๋์ค ์ปจํ
์คํธ์ ์ต์ ํ๋ ํ๋กฌํํธ ๊ด๋ฆฌ ์์คํ
(`promptAssets.ts`, `promptBuilder.ts`)์ ํตํฉํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI ๋ฐ ์ธํฐ๋์
์ต์ ํ:** ๋น์ฆ๋์ค ์์ด์ ํธ์์ ๋งค๋๋ฌ์ด ์ํต์ ์ํด ์ฌ์ด๋๋ฐ ๊ตฌ์ฑ ์์์ ๋ํ ํธ๋ค๋ฌ๋ฅผ ์ ๊ตํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.3.vsix` ํจํค์ง๋ฅผ ํตํด '์ง๋ฅํ ๋น์ฆ๋์ค' ์๋ํ ๊ธฐ๋ฅ์ด ํตํฉ๋ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.0.2 (2026-05-13)
### ๐๏ธ Structural Integrity & Automated Context Management
- **ํ๋ก์ ํธ ์ปจํ
์คํธ ์๋ ๊ด๋ฆฌ:** `.astra/project-context/architecture.md`๋ฅผ ํตํด ํ๋ก์ ํธ ๊ตฌ์กฐ, ์คํ, ์ฃผ์ ๋ชจ๋ ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ค์บํ๊ณ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ๋์
ํ์ต๋๋ค.
- **์ํคํ
์ฒ ์๊ฐํ ์์ง ๊ฐํ:** `mermaid.ts` ๋ฐ `scanner.ts`๋ฅผ ์ถ๊ฐํ์ฌ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ์๊ฐํํ๊ณ ์ฌ์ธต ์ค์บ๋ํ๋ ๊ธฐ๋ฐ์ ๊ตฌ์ถํ์ต๋๋ค.
- **์์ฌ๊ฒฐ์ ๊ธฐ๋ก(ADR) ๋๊ธฐํ:** `ADR-0009`๋ฅผ ํฌํจํ ์ต์ ์ ๋ต์ ์์ฌ๊ฒฐ์ ์ฌํญ์ ํ๋ก์ ํธ ์ง์ ๋ฒ ์ด์ค์ ํตํฉํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ ์ธํฐ๋์
์ ๊ตํ:** ๋๊ท๋ชจ ํ๋ก์ ํธ ๋ถ์ ์์ UI ์์ ์ฑ์ ๋์ด๊ณ ์ฌ์ฉ์ ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ๊ฐ์ ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.2.vsix` ํจํค์ง๋ฅผ ํตํด ์๋ํ๋ ์ปจํ
์คํธ ๊ด๋ฆฌ์ ๊ฐํ๋ ์ํคํ
์ฒ ๋ถ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
---
## v2.0.1 (2026-05-13)
### ๐ง Advanced Knowledge Mix & Architectural Intelligence
- **์ง์ ๋ฏน์ค(Knowledge Mix) ์์ง ๋์
:** ์์ด์ ํธ๊ฐ ๋ต๋ณ ์ '์ธ์ปจ๋ ๋ธ๋ ์ธ' ์ง์๊ณผ ์์ฒด ํ์ต ์ง์์ ์ฌ์ฉํ๋ ๋น์ค์ ์ ๊ตํ๊ฒ ์กฐ์ ํ ์ ์๋ `knowledgeMix.ts`๋ฅผ ๊ตฌํํ์ต๋๋ค.
- **ํ๋ก์ ํธ ์ํคํ
์ฒ ์ธํ
ํธ ๊ฐ์ง:** ํ๋ก์ ํธ์ ๊ตฌ์กฐ์ ์ง๋ฌธ์ ์๋์ผ๋ก ์๋ณํ๊ณ ๋์ํ๋ `projectArchitecture` ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ์ฌ์ธต ๋ถ์ ๋ฅ๋ ฅ์ ๊ฐํํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI ๋ฐ ์ธํฐ๋์
์ต์ ํ:** ์ฌ์ด๋๋ฐ์ ์๊ฐ์ ์์์ ์คํฌ๋ฆฝํธ๋ฅผ ๊ฐ์ ํ์ฌ ๋ํ ํ๋ฆ์ ๋งค๋๋ฌ์์ ๋ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.0.1.vsix` ํจํค์ง๋ฅผ ํตํด ์ต์ ์ง๋ฅ ์ต์ ํ์ ์ํคํ
์ฒ ๋ถ์ ๊ธฐ๋ฅ์ด ํตํฉ๋ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.0.0 (2026-05-13)
### ๐ Major Milestone & Intelligence Evolution
- **์ง์ ๊ฒ์ ์์ง ๊ณ ๋ํ:** `embeddings.ts` ๋ฐ `scoring.ts`๋ฅผ ํตํด ์๋งจํฑ ๊ฒ์๊ณผ ํค์๋ ๊ฒ์์ด ๊ฒฐํฉ๋ ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์ ๊ธฐ๋ฅ์ ๊ฐํํ์ต๋๋ค.
- **ํ
๋ ๊ทธ๋จ ํตํฉ ์์ ํ:** ์๊ฒฉ ์์ด์ ํธ ์คํ ๋ฐ ๋ชจ๋ํฐ๋ง์ ์ํ ํ
๋ ๊ทธ๋จ ์๋น์ค ๋ก์ง์ ๊ณ ๋ํํ์ต๋๋ค.
- **์ฑ๋ฅ ๋ถ์ ํ
๋ ๋ฉํธ๋ฆฌ ๋์
:** ์์ด์ ํธ์ ์๋ต ํ์ง๊ณผ ์ฒ๋ฆฌ ์๋๋ฅผ ์ ๋ฐํ๊ฒ ์ธก์ ํ๋ ํ
๋ ๋ฉํธ๋ฆฌ ์์คํ
์ ๊ตฌ์ถํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI ์ต์ ํ:** ๋๊ท๋ชจ ๋ํ ์ธ์
์์์ ์ธํฐ๋์
์ฑ๋ฅ์ ๊ฐ์ ํ๊ณ ์๊ฐ์ ๊ฐ๋
์ฑ์ ๋์์ต๋๋ค.
---
## v2.80.43 (2026-05-13)
### ๐ก๏ธ Resilience & Advanced Logic Integration
- **์์จ ๋ณต๊ตฌ ๋ก์ง ์ต์ ํ:** ์์ด์ ํธ ์คํ ์ค ๋ฐ์ํ๋ ๋น์ ์์ ์ํ๋ฅผ ๊ฐ์งํ๊ณ ์๋์ผ๋ก ์ธ์
์ ๋ณต๊ตฌํ๋ `Resilience Matrix`๋ฅผ ๊ณ ๋ํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.43.vsix` ํจํค์ง๋ฅผ ํตํด ์ต์ ๋ง์ด๋ ๊ฐ์ ์ฌํญ์ ํตํฉ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.80.42 (2026-05-13)
### ๐ Core Intelligence & Extension Maintenance
- **์์ง ์์ ์ฑ ๊ฐํ:** ๋๊ท๋ชจ ๋ํ ์ธ์
์์์ ์ปจํ
์คํธ ๊ด๋ฆฌ ํจ์จ์ ๋์ด๊ณ ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง ๋ก์ง์ ๊ฐํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.42.vsix` ํจํค์ง๋ฅผ ํตํด ์ต์ ๋ง์ด๋ ๊ฐ์ ์ฌํญ์ ํตํฉ ๋ฐฐํฌํฉ๋๋ค.
---
## v2.80.41 (2026-05-13)
### ๐ Distribution & Build Stabilization
- **์ ๊ท ํจํค์ง:** `astra-2.80.41.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ์ต์ ๊ธฐ๋ฅ๊ณผ ์ํคํ
์ฒ ๊ฐ์ ์ฌํญ์ ํตํฉ ๋ฐฐํฌํฉ๋๋ค.
- **๋ฒ์ ์ ๊ทํ:** ์์คํ
์ ๋ฐ์ ๋ฒ์ ์ `v2.80.41`๋ก ๋๊ธฐํํ์ฌ ๋ฐฐํฌ ์ ํฉ์ฑ์ ํ๋ณดํ์ต๋๋ค.
---
## v2.80.40 (2026-05-13)
### ๐๏ธ Strategic Architecture & Core Optimization
- **์ํคํ
์ฒ ๊ฒฐ์ ๊ธฐ๋ก(ADR) ๋์
:** `ADR-0008`์ ํตํด ํ๋ก์ ํธ์ ๋ถ์กฑํ ์ ๋ถ์๊ณผ ํฅํ ๊ฐ์ ๋ฐฉํฅ์ ๋ํ ์ ๋ต์ ์์ฌ๊ฒฐ์ ์ ๋ฌธ์ํํ์ต๋๋ค.
- **์์ด์ ํธ ์์ง ์ ๋ฐ ํ๋:** `agent.ts` ๋ฐ `config.ts` ์์ ์ ํตํด ๋ณต์กํ ๋ค๋จ๊ณ ์ถ๋ก ๊ณผ์ ์์์ ์์ ์ฑ๊ณผ ์๋ต ํ์ง์ ์ต์ ํํ์ต๋๋ค.
- **์ฐ๋๊ธฐ ๋ฐ ํ์๋ผ์ธ ๋๊ธฐํ:** ์ต์ ์ํคํ
์ฒ ๊ฒฐ์ ์ฌํญ๊ณผ ๊ฐ๋ฐ ๋ง์ผ์คํค์ `chronicle.config.json`๊ณผ `timeline.md`์ ๋ฐ์ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.40.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ์ ๋ต์ ์ํคํ
์ฒ ๊ฐ์ ์๊ณผ ์ต์ ํ๋ ์์ง์ ํตํฉํ์ต๋๋ค.
---
## v2.80.39 (2026-05-13)
### ๐จ UI Polish & Core Logic Tuning
- **์ฌ์ด๋๋ฐ ์๊ฐ์ ์ ๊ตํ:** `sidebar.css`๋ฅผ ์
๋ฐ์ดํธํ์ฌ ๋คํฌ ๋ชจ๋์์์ ๊ฐ๋
์ฑ๊ณผ ์ ๋ฐ์ ์ธ ๋์์ธ ์ ๋ฐ๋๋ฅผ ๋์์ต๋๋ค.
- **์์ด์ ํธ ๊ตฌ์ฑ ์ต์ ํ:** `agent.ts` ๋ฐ `config.ts` ๋ด์ ๋งค๊ฐ๋ณ์๋ฅผ ํ๋ํ์ฌ ๋ณต์กํ ์ง์ ๊ฒ์ ์์
์์์ ์๋ต ์ผ๊ด์ฑ์ ๊ฐ์ ํ์ต๋๋ค.
- **์ฐ๋๊ธฐ ๋ฐ ํ์๋ผ์ธ ์ต์ ํ:** ํ๋ก์ ํธ ์งํ ์ํฉ์ ๋ฐ์ํ์ฌ `chronicle.config.json`๊ณผ `timeline.md`๋ฅผ ๊ฐฑ์ ํ์ต๋๋ค.
- **์ฌ์ธต ๊ตฌํ ๊ธฐ๋ก ์ถ๊ฐ:** ๊ธฐ์ ์ ํ๊ณ ๊ทน๋ณต๊ณผ ๊ฐ์ ๊ณผ์ ์ ์์ธํ ๊ธฐ์ ํ ์ ๊ท ๊ตฌํ ๋ฌธ์๋ฅผ ํตํฉํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.39.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ์๊ฐ์ ๊ฐ์ ๊ณผ ๋ก์ง ํ๋์ด ์๋ฃ๋ ๋ฒ์ ์ ํตํฉํ์ต๋๋ค.
---
## v2.80.38 (2026-05-13)
### ๐ก๏ธ Response Recovery & Stability Overhaul
- **์๋ต ๋ณต๊ตฌ ๋ฉ์ปค๋์ฆ ๋์
:** `responseRecovery.ts` ๋ฐ ๊ด๋ จ ํ
์คํธ ์ฝ๋๋ฅผ ํตํด AI ๋ชจ๋ธ์ ๋น์ ์ ์๋ต์ด๋ ์คํธ๋ฆฌ๋ฐ ์ค๋จ ์ ์๋์ผ๋ก ์ํ๋ฅผ ๋ณต๊ตฌํ๊ณ ์ฌ์๋ํ๋ ๊ฐ๋ ฅํ ํ๋ณต ํ๋ ฅ์ฑ์ ๊ตฌ์ถํ์ต๋๋ค.
- **์ปจํ
์คํธ ๋งค๋์ ๊ณ ๋ํ:** `contextManager.ts`๋ฅผ ์์ ํ์ฌ ๋๊ท๋ชจ ํ๋ก์ ํธ ๋ถ์ ์ ํ ํฐ ์ฌ์ฉ ํจ์จ์ ๋์ด๊ณ ์ปจํ
์คํธ ๋๋ฝ์ ์ต์ํํ์ต๋๋ค.
- **์์ด์ ํธ ์คํ ์์ ์ฑ ๊ฐํ:** `agent.ts` ๋ฐ `config.ts` ๋ด์ ํ์์์ ๋ฐ ์๋ฌ ์ฒ๋ฆฌ ๋ก์ง์ ๊ฐ์ ํ์ฌ ๊ณ ๋ถํ ์ํฉ์์์ ์๋ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.37.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ๋ถํ์คํ AI ์๋ต ํ๊ฒฝ์์๋ ์ ๋ขฐํ ์ ์๋ ์คํ ํ๊ฒฝ์ ํตํฉํ์ต๋๋ค.
---
## v2.80.37 (2026-05-12)
### ๐ก๏ธ Response Recovery & Stability Overhaul
- **์๋ต ๋ณต๊ตฌ ๋ฉ์ปค๋์ฆ ๋์
:** `responseRecovery.ts` ๋ฐ ๊ด๋ จ ํ
์คํธ ์ฝ๋๋ฅผ ํตํด AI ๋ชจ๋ธ์ ๋น์ ์ ์๋ต์ด๋ ์คํธ๋ฆฌ๋ฐ ์ค๋จ ์ ์๋์ผ๋ก ์ํ๋ฅผ ๋ณต๊ตฌํ๊ณ ์ฌ์๋ํ๋ ๊ฐ๋ ฅํ ํ๋ณต ํ๋ ฅ์ฑ์ ๊ตฌ์ถํ์ต๋๋ค.
- **์ปจํ
์คํธ ๋งค๋์ ๊ณ ๋ํ:** `contextManager.ts`๋ฅผ ์์ ํ์ฌ ๋๊ท๋ชจ ํ๋ก์ ํธ ๋ถ์ ์ ํ ํฐ ์ฌ์ฉ ํจ์จ์ ๋์ด๊ณ ์ปจํ
์คํธ ๋๋ฝ์ ์ต์ํํ์ต๋๋ค.
- **์์ด์ ํธ ์คํ ์์ ์ฑ ๊ฐํ:** `agent.ts` ๋ฐ `config.ts` ๋ด์ ํ์์์ ๋ฐ ์๋ฌ ์ฒ๋ฆฌ ๋ก์ง์ ๊ฐ์ ํ์ฌ ๊ณ ๋ถํ ์ํฉ์์์ ์๋ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.37.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ๋ถํ์คํ AI ์๋ต ํ๊ฒฝ์์๋ ์ ๋ขฐํ ์ ์๋ ์คํ ํ๊ฒฝ์ ํตํฉํ์ต๋๋ค.
---
## v2.80.36 (2026-05-12)
### ๐จ UI/UX Refinement & Agent Logic Optimization
- **์ฌ์ด๋๋ฐ UI ์ ๋ฉด ๊ณ ๋ํ:** `sidebar.html`, `sidebar.js`, `sidebar.css`๋ฅผ ๊ฐฑ์ ํ์ฌ ๋ ๋งค๋๋ฌ์ด ์ ๋๋ฉ์ด์
๊ณผ ์ง๊ด์ ์ธ ์ปดํฌ๋ํธ ์ธํฐ๋์
์ ๊ตฌํํ์ต๋๋ค.
- **์์ด์ ํธ ์ถ๋ก ๋ก์ง ์ต์ ํ:** `agent.ts` ๋ด์ ์ปจํ
์คํธ ์ฃผ์
๋ฐ ์๋ต ์์ฑ ํ์ดํ๋ผ์ธ์ ๊ฐ์ ํ์ฌ ๋ ์ ํํ๊ณ ๋น ๋ฅธ ๋ต๋ณ์ด ๊ฐ๋ฅํ๋๋ก ์กฐ์ ํ์ต๋๋ค.
- **๋ก์ปฌ ๊ฒฝ๋ก ํ๋ฆฌํ๋ผ์ดํธ ๊ฐํ:** `localPathPreflight.test.ts` ์์ ์ ํตํด ๋ค์ํ ์์
ํ๊ฒฝ์์์ ๊ฒฝ๋ก ์ธ์ ์์ ์ฑ์ ์ฌ๊ฒ์ฆํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.36.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ์ต์ UI ๊ฐ์ ์ฌํญ๊ณผ ๋ก์ง ์ต์ ํ๋ฅผ ํตํฉํ์ต๋๋ค.
---
## v2.80.35 (2026-05-12)
### ๐ง Experience Memory & Architectural Lessons
- **๊ฒฝํ ๋ฉ๋ชจ๋ฆฌ(Experience Memory) ์ค๊ณ:** `EXPERIENCE_MEMORY_PLAN.md`๋ฅผ ํตํด ์์ด์ ํธ๊ฐ ์ํํ ์์
์ ์ฑ๊ณต/์คํจ ์ฌ๋ก๋ฅผ '๋ ์จ'์ผ๋ก ์์ฐํํ๋ ์ฒด๊ณ๋ฅผ ์ค๊ณํ์ต๋๋ค.
- **๋ ์จ ํฌํผ ๋์
:** `lessonHelpers.ts` ๋ฐ ๊ด๋ จ ํ
์คํธ๋ฅผ ํตํด ๊ณผ๊ฑฐ์ ๊ตํ์ ๋์ ์ผ๋ก ๊ฒ์ํ๊ณ ํ๋กฌํํธ์ ์ฃผ์
ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- **๋ธ๋ ์ธ ์ธ๋ฑ์ค ํ์
์ ๊ตํ:** `types.ts` ๋ฐ `brainIndex.ts` ์์ ์ ํตํด ์ง์ ๊ฒ์์ ํ์
์์ ์ฑ๊ณผ ํํฐ๋ง ์ ํ๋๋ฅผ ๊ฐ์ ํ์ต๋๋ค.
- **์ต์คํ
์
์ฝ์ด ์ต์ ํ:** `extension.ts` ๋ด์ ๋ฆฌ์์ค ๊ด๋ฆฌ ๋ฐ ๋ผ์ดํ์ฌ์ดํด ๋ก์ง์ ๋ณด๊ฐํ์ฌ ์ฅ์๊ฐ ์ฌ์ฉ ์์ ์์ ์ฑ์ ๋์์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI ์ ๋ฐ ๊ฐ์ :** ์ฌ์ด๋๋ฐ์ ์๊ฐ์ ์์์ ์ธํฐ๋์
์คํฌ๋ฆฝํธ๋ฅผ ์ต์ ํํ์ฌ ์กฐ์๊ฐ์ ๊ฐ์ ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.35.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ๊ฒฝํ ๊ธฐ๋ฐ ํ์ต ๋ฅ๋ ฅ์ด ๊ฐํ๋ ์์ด์ ํธ ํ๊ฒฝ์ ํตํฉํ์ต๋๋ค.
---
## v2.80.34 (2026-05-12)
### ๐ง Advanced Context Management & Brain Indexing
- **์ ๊ท ์ปจํ
์คํธ ๋งค๋์ ๋์
:** `contextManager.ts`๋ฅผ ํตํด ๋๊ท๋ชจ ํ์ผ ๋ฐ ๋ํ ๋ด์ญ์ ์ฐ์ ์์๋ฅผ ์ง๋ฅ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ํ ํฐ ์์ฐ์ ์ต์ ํํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- **๋ธ๋ ์ธ ์ธ๋ฑ์ฑ ๊ณ ๋ํ:** `brainIndex.ts` ๋ฐ ๊ด๋ จ ํ
์คํธ ์ฝ๋๋ฅผ ๋์
ํ์ฌ ์ง์ ๋ฒ ์ด์ค ๊ฒ์ ์๋์ ์ ํ๋๋ฅผ ํฅ์์์ผฐ์ต๋๋ค.
- **LM Studio ์คํธ๋ฆฌ๋ฐ ์์ ํ:** `streamer.ts` ๋ด์ ์๋ต ์ฒ๋ฆฌ ๋ก์ง์ ๊ฐ์ ํ์ฌ ๊ธด ์๋ต ์์ฑ ์์ ์ฐ๊ฒฐ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI/UX ์ ๋ฐ ํ๋:** ์ฌ์ด๋๋ฐ์ ์ธํฐ๋์
๋ก์ง(HTML/JS/CSS)์ ๊ฐ์ ํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํ์ธต ๋ ๊ฐํํ์ต๋๋ค.
- **ํ
๋ ๊ทธ๋จ ์๊ฒฉ ์คํ ์ค๊ณ:** `TELEGRAM_REMOTE_EXECUTION_PLAN.md`๋ฅผ ํตํด ํฅํ ํ
๋ ๊ทธ๋จ์ ํตํ ์๊ฒฉ ์์ด์ ํธ ์คํ ๋ฐ ๋ชจ๋ํฐ๋ง์ ์ํ ์ฒญ์ฌ์ง์ ์๋ฆฝํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.34.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ์ต์ ๊ธฐ๋ฅ๊ณผ ์์ ์ฑ ๊ฐ์ ์ฌํญ์ ํตํฉํ์ต๋๋ค.
---
## v2.80.33 (2026-05-11)
### ๐๏ธ Agent Repository Reorganization & Sync
- **์์ด์ ํธ ์ ์ฅ์ ๊ตฌ์กฐ ๊ฐํธ ๋์:** `Agent` ์ ์ฅ์์ ํต์ฌ ์คํฌ ๋ฐ ์ง์ ๋ฒ ์ด์ค๊ฐ `.agent/`์์ `_agent/` ํด๋๋ก ๋ํญ ์ฌ๋ฐฐ์น๋จ์ ๋ฐ๋ผ, ์ด๋ฅผ ์ต์คํ
์
์ ์คํฌ ๋ก๋ฉ ์์ง ๋ฐ ๊ฒฝ๋ก ํ์ ๋ก์ง์ ๋๊ธฐํํ์ต๋๋ค.
- **์คํฌ ๊ฒฝ๋ก ์ ํฉ์ฑ ํ๋ณด:** ์ธ๋ถ ์คํฌ ๋ก๋ ๋ฐ ๋ฒ์ฉ ์์ด์ ํธ๊ฐ ๊ฐํธ๋ `_agent/skills` ๊ตฌ์กฐ๋ฅผ ์ ํํ ์ฐธ์กฐํ๋๋ก ๋ด๋ถ ๋งคํ์ ๊ฐฑ์ ํ์ต๋๋ค.
- **์ ์ฅ์ ๊ฐ ์ผ๊ด์ฑ ์ ์ง:** ์์ด์ ํธ ์์ฐ ์ฌ๋ฐฐ์น์ ๋ฐ๋ฅธ ์ฃผ์ ์ํฌํ๋ก์ฐ์ ์๋ ์ ๋ฌด๋ฅผ ์ฌ๊ฒ์ฆํ๊ณ , ๊ด๋ จ ์ค์ ์ ์ต์ ํํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.33.vsix` ํจํค์ง๋ฅผ ์์ฑํ์ฌ ๊ฐํธ๋ ์์ด์ ํธ ์์ฐ๊ณผ์ ํธํ์ฑ์ ํ๋ณดํ์ต๋๋ค.
---
## v2.80.32 (2026-05-11)
### ๐ก๏ธ LM Studio SDK Resilience & Auto-Recovery
- **LM Studio SDK ์์ ์ฑ ๊ฐํ:** ๋ชจ๋ธ ํธ๋ค์ด "disposed" ์ํ๋ก ๋ฐฉ์น๋์ด ๋ฐ์ํ๋ ์คํธ๋ฆฌ๋ฐ ์คํจ๋ฅผ ๊ฐ์งํ๊ณ , SDK ํด๋ผ์ด์ธํธ๋ฅผ ์๋์ผ๋ก ์ฌ์์ฑ(`resetHandle`)ํ์ฌ ๋ณต๊ตฌํ๋ ๋ก์ง์ ๋์
ํ์ต๋๋ค.
- **2๋จ๊ณ ์คํธ๋ฆฌ๋ฐ ๋ณต๊ตฌ ํ๋ก์ธ์ค:** ๋น ์๋ต ๊ฐ์ง ์ (1) ํธ๋ค ์ด๊ธฐํ ํ ์คํธ๋ฆฌ๋ฐ ์ฌ์๋, (2) ์คํจ ์ ๋น์คํธ๋ฆฌ๋ฐ(POST) ํด๋ฐฑ์ ์ํํ๋ ๋ค๋จ๊ณ ๋ณต๊ตฌ ์ฒด๊ณ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค.
- **์ง๋ฅํ ์ง๋จ ๊ฐ์ด๋:** ์ํ ๋ชจ๋ธ(3B ์ดํ) ๋ฐ ๋๊ท๋ชจ ์ปจํ
์คํธ ์ํฉ์์ ์ฒซ ํ ํฐ๋ถํฐ EOS๋ฅผ ๋ฑ๋ ํ์์ ๋ํ ๊ตฌ์ฒด์ ์ธ ํด๊ฒฐ ๊ฐ์ด๋(LM Studio ๋ก๊ทธ ๋ถ์ ๊ธฐ๋ฐ)๋ฅผ ์๋ฌ ๋ฉ์์ง์ ์ถ๊ฐํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.32.vsix` ํจํค์ง๋ฅผ ์์ฑํ๊ณ ๊ณ ๋ถํ ์คํธ๋ฆฌ๋ฐ ๋ณต๊ตฌ ์๋๋ฆฌ์ค์ ๋ํ ๊ฒ์ฆ์ ์๋ฃํ์ต๋๋ค.
---
## v2.80.31 (2026-05-11)
### ๐ง Logic Optimization & Skill Integration
- **์์ด์ ํธ ์๋ต ๋ก์ง ๊ฐ์ํ:** `src/agent.ts` ๋ด์ ๋ณต์กํ ํ๋์ฝ๋ฉ ํด๋ฐฑ ๋ฐ ๋ฆฌ๋ทฐ ํ๋จ ๋ก์ง์ ์ ๊ฑฐํ์ฌ ๋ชจ๋ธ ๊ธฐ๋ฐ์ ์ ์ฐํ ์๋ต ์์ฑ์ ๊ฐํํ์ต๋๋ค.
- **๋ฒ์ฉ ์์ด์ ํธ ์คํฌ ํ์ฅ:** `General` ์์ด์ ํธ์ ๋ํ ์ธ๋ถ ์คํฌ ํด๋(`Agent/_agent/skills`) ์ฐ๋ ๊ตฌ์กฐ๋ฅผ ์ต์ ํํ์ฌ ๋ฒ์ฉ ์์
์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํฅ์ํ์ต๋๋ค.
- **์ํฌ์คํ์ด์ค ์ฐ๋ ๊ฐํ:** `.astra/agent-knowledge-map.json` ์ค์ ์ ํตํ ์์ด์ ํธ๋ณ ์ง์ ๋ฐ ์คํฌ ๋ฒ์ ์ ์์ ์ ํฉ์ฑ์ ๊ฐ์ ํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.31.vsix` ํจํค์ง๋ฅผ ์์ฑํ๊ณ ์ฃผ์ ๊ธฐ๋ฅ์ ์๋ ์ ๋ฌด๋ฅผ ์ฌ๊ฒ์ฆํ์ต๋๋ค.
---
## v2.80.30 (2026-05-11)
### ๐ ๏ธ External Skills & Sidebar UX Enhancement
- **์ธ๋ถ ์คํฌ ๋ก๋ฉ ์ง์ (External Skill Loading):** `externalSkillLoader.ts` ์ ๊ท ๋์
๋ฐ `agentKnowledgeMap.ts` ๊ณ ๋ํ๋ฅผ ํตํด ์ธ๋ถ ์ ์ ์คํฌ์ ๋์ ์ผ๋ก ๋ก๋ํ๊ณ ํ์ฉํ๋ ๊ธฐ๋ฐ์ ๊ตฌ์ถํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI ์ ๊ตํ:** `sidebar.html`, `sidebar.js`, `sidebar.css` ์ ๋ฉด ๊ฐฑ์ ์ ํตํด ์คํฌ ์ ํ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ ํ๊ณ ์๊ฐ์ ํผ๋๋ฐฑ์ ๊ฐํํ์ต๋๋ค.
- **์์ด์ ํธ ์คํ ๋ก์ง ์ต์ ํ:** `agentHandlers.ts` ๋ด์ ์คํฌ ์ปจํ
์คํธ ์ฃผ์
๋ฐ ๋ฉ์์ง ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ๊ฐ์ ํ์ฌ ์คํ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.30.vsix` ํจํค์ง๋ฅผ ์์ฑํ๊ณ ํต์ฌ ์ํฌํ๋ก์ฐ์ ๋ํ ํ๊ท ํ
์คํธ๋ฅผ ์๋ฃํ์ต๋๋ค.
---
## v2.80.29 (2026-05-10)
### ๐ก๏ธ Service Reliability & Telegram Integration
- **ํ
๋ ๊ทธ๋จ ๋ด ์์ ํ (Telegram Bot Stabilization):** `telegramBot.ts` ๋ด์ ํด๋ง ๋ฐ ์๋ต ๋ก์ง์ ๊ฐ์ ํ์ฌ ๋ฉ์์ง ๋๋ฝ ๋ฐ ์ฐ๊ฒฐ ์ง์ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
- **์๋น์ค ๊ณ์ธต ๋ฆฌํฉํ ๋ง:** `services.ts` ๋ด์ ํต์ฌ ์ธํ๋ผ ์๋น์ค ์ด๊ธฐํ ๋ฐ ์ข
์์ฑ ๊ด๋ฆฌ ๋ฐฉ์์ ์ต์ ํํ์ฌ ์์คํ
๋ถํ
์๋๋ฅผ ํฅ์ํ์ต๋๋ค.
- **์ต์คํ
์
์ฝ์ด ๊ฐํ:** `extension.ts` ๋ด์ ์ปค๋งจ๋ ๋ฑ๋ก ๋ฐ ๋ฆฌ์์ค ํด์ ์ฌ์ดํด์ ์ ๊ตํํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๋ฐฉ์งํ๊ณ ์คํ ์์ ์ฑ์ ๋์์ต๋๋ค.
- **์ ๊ท ํจํค์ง:** `astra-2.80.29.vsix` ํจํค์ง๋ฅผ ์์ฑํ๊ณ ์ ์ฒด ํ
์คํธ ์ค์ํธ๋ฅผ ์ฌ๊ฒ์ฆํ์ต๋๋ค.
---
## v2.80.28 (2026-05-10)
### ๐๏ธ Knowledge Architecture & Skill Scoping
- **์ง์ ๋งตํ ๊ณ ๋ํ (Knowledge Mapping):** `agentKnowledgeMap.ts` ๋ฐ `scopedBrainRetriever.ts` ๋์
์ ํตํด ์์ด์ ํธ๋ณ๋ก ๊ฒ์ํ ์ง์ ๋ฒ์๋ฅผ ์ ๊ตํ๊ฒ ์ ํํ๊ณ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- **์ฌ์ด๋๋ฐ UI ์์ ํ:** ๋ฏธ๋์ด ํด๋์ `sidebar.html`, `sidebar.js`๋ฅผ ๊ฐฑ์ ํ์ฌ ์ฌ์ฉ์ ์ธํฐ๋์
๊ณผ ์ํ ๋๊ธฐํ์ ์ ํฉ์ฑ์ ๊ฐ์ ํ์ต๋๋ค.
- **ํจํค์ง ์ต์ ํ:** ์ต์ ๋น๋ ํ์ดํ๋ผ์ธ์ ํตํด `astra-2.80.28.vsix` ํจํค์ง๋ฅผ ์์ฑํ๊ณ , ์คํธ๋ ์ค ํ
์คํธ๋ฅผ ํตํด ์์ง์ ๋ณต์๋ ฅ์ ์ฌ๊ฒ์ฆํ์ต๋๋ค.
- **์์คํ
์์ ์ฑ ๊ฐํ:** `extension.ts` ๋ฐ `agentHandlers.ts` ๋ด์ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ก์ง์ ๋ณด์ํ์ฌ ๋ค์ค ์์ด์ ํธ ์คํ ์์ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
---
## v2.64.0 (2026-05-04)
### ๐ก๏ธ Resilient Pipeline & Stability Overhaul
- **์ํ ์์์ฑ ๋ฐ ์ฌ๊ฐ (State Persistence & Resume):** ๋ฏธ์
์งํ ์ํ๋ฅผ ๋์คํฌ(`.astra/missions/`)์ ์ค์๊ฐ ์ ์ฅํ๋ฉฐ, ํฌ๋์๋ ์ค๋ฅ ๋ฐ์ ์ ๋ง์ง๋ง ๋จ๊ณ๋ถํฐ ์์จ ์ฌ๊ฐํ๋ ๊ธฐ๋ฅ ๋์
.
- **์ค๋ณต ์์ง ๋ฐฉ์ง (Deduplication):** ๋์ผํ ํ๋กฌํํธ์ ์ปจํ
์คํธ์ ๋ํ LLM ์๋ต์ ํด์ ๊ธฐ๋ฐ์ผ๋ก ์บ์ฑํ์ฌ ๋ถํ์ํ ์ค๋ณต ํธ์ถ์ ์ฐจ๋จํ๋ `CacheManager` ํ์ฌ.
- **์คํจ ์์ธ ๋ช
์์ ๊ธฐ๋ก:** Transient(์ผ์์ ) ๋ฐ Permanent(์๊ตฌ์ ) ์ค๋ฅ ๋ถ๋ฅ์ ํจ๊ป ์ธ๋ถ ์คํจ ์์ธ์ ๋ก๊ทธ์ ๊ธฐ๋กํ์ฌ ์ง๋จ ํธ์์ฑ ๊ฐํ.
- **์์ง ๊ฒฐ๊ณผ ํ์ง ์ ์ํ (Quality Scoring):** ๋ฐ์ดํฐ์ ๊ธธ์ด, ๊ตฌ์กฐ, ์ ๋ณด ๋ฐ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ง ๊ฒฐ๊ณผ์ ํ์ง์ ์๋ ํ๊ฐํ๋ `QualityScorer` ๋์
.
- **์ํค ํฌ๋งท ํ์คํ (Standardization):** ์ต์ข
๊ฒฐ๊ณผ๋ฌผ์ P-Reinforce v3.0 ํ์ค ํ๋ก ํธ๋งคํฐ ๋ฐ ํค๋๋ฅผ ์๋ ์ฃผ์
ํ๋ `WikiFormatter` ์ฐ๋.
---
## v2.63.0 (2026-05-04)
### ๐ก๏ธ Agent Handoff Tracing & Diagnostics
- **๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ (Data Integrity):** ์์ด์ ํธ ๊ฐ(Planner โ Researcher โ Writer) ํธ๋์คํ ์ ๋ฐ์ํ ์ ์๋ ๋ฐ์ดํฐ ๋๋ฝ์ ๊ฐ์งํ๊ณ ์ฐจ๋จํ๋ `AgentDataValidator` ๊ธฐ๋ฅ ๋์
.
- **์ฑ๋ฅ ํ๋กํ์ผ๋ง (LLM Latency Profiling):** ์์ด์ ํธ๋ณ LLM ์ฒ๋ฆฌ ์๊ฐ(ms) ๋ฐ ์ด๋น ํ ํฐ ์์ฑ ์๋๋ฅผ ์ธก์ ํ์ฌ ์ ์ฌ์ ์ธ ๋น๋๊ธฐ ๋ณ๋ชฉ ํ์์ ์ง๋จํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ.
- **ํ๋กฌํํธ ํฌ๋งท ํ๊ธํ:** Inferred user intent ๋ฐ Blocking Questions ๋ฑ ์์ด๋ก ์ถ๋ ฅ๋๋ ๋งํฌ๋ค์ด ํค๋๋ฅผ ๋ช
ํํ ํ๊ธ(`## ์ฌ์ฉ์ ์๋ ์ถ๋ก `, `## ํต์ฌ ํ์ธ ์ง๋ฌธ`)๋ก ๊ฐ์ .
---
## v2.62.0 (2026-05-04)
### ๐ Astra Autonomous Loop (AAL) ๊ธฐ์ด ๊ตฌ์ถ
- **๋ฐ์ดํฐ ์ค์ํ:** `.astra` ๋๋ ํ ๋ฆฌ๋ฅผ ํ๋ก์ ํธ ๋ฃจํธ์์ `ConnectAI/.astra/` ๋ด๋ถ๋ก ์ด์ ํ์ฌ ํ๋ก์ ํธ ์์ง๋ ํฅ์.
- **AAL ํ๋กํ ์ฝ ๋์
:** ์์ด์ ํธ ๊ฐ ์์จ ํ์
์ ์ํ `protocol.json` ๋ฐ `tasks.json` ์คํค๋ง ๊ตฌ์ถ.
- **๊ฒฝ๋ก ํด๊ฒฐ๊ธฐ(Path Resolver):** ํ์ฅ ํ๋ก๊ทธ๋จ ์ค์น ๊ฒฝ๋ก ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ ์์คํ
(`astraPath.ts`) ๋์
.
### ๐ ํ์ผ ์ง์ ๋ถ์ ๊ธฐ๋ฅ ๊ฐํ
- **๊ฒฝ๋ก ๊ฐ์ง ๋ฒ์ฉํ:** ํ๋์ฝ๋ฉ๋ ๊ฒฝ๋ก ๋์ `/Volumes/`, `/Users/`, `/home/`, `~/` ๋ฑ ๋ชจ๋ ์ ๋ ๊ฒฝ๋ก ๊ฐ์ง ์ง์.
- **๋ถ์ ํค์๋ ํ์ฅ:** "์ฝ์ด์ค", "์ด์ด์ค", "ํ์ผ ๋ด์ฉ", "์ฝ๋ ๋ถ์" ๋ฑ ์ง๊ด์ ์ธ ํ๊ตญ์ด/์์ด ํธ๋ฆฌ๊ฑฐ ์ถ๊ฐ.
- **๋์ฉ๋ ํ๋ฆฌ๋ทฐ ์ง์:** ์ฝ๋/๋ฌธ์ ํ์ผ ๋ถ์ ์ ํ๋ฆฌ๋ทฐ ์ ํ์ 1,200์์์ **8,000์**๋ก ๋ํญ ์ํฅํ์ฌ ์ ๋ฐ ๋ถ์ ๊ฐ๋ฅ.
---
# Patch Notes - v2.61.0 (2026-05-04)
## ๐ก๏ธ Resilient Engine & Monitoring (๋ณต์๋ ฅ ๊ฐํ)
- **Error Recovery Matrix:** ์๋ฌ ์ ํ์ Transient(์ผ์์ )์ Permanent(์๊ตฌ์ )๋ก ์๋ ๋ถ๋ฅํ๋ ๋ณต๊ตฌ ๋งคํธ๋ฆญ์ค๊ฐ ์ ๋ฉด ๋์
๋์์ต๋๋ค. ๋คํธ์ํฌ ์ค๋ฅ ์ ์ง์ ๋ฐฑ์คํ ์ฌ์๋๋ฅผ ์๋ ์ํํฉ๋๋ค.
- **Mission Control Dashboard:** `toStructuredLog()` ๊ธฐ๋ฐ์ ํ๋ฆฌ๋ฏธ์ ์๊ฐํ ๋์๋ณด๋(`assets/mission_control.html`)๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์์ด์ ํธ์ ํ๋ฆ๊ณผ ์ง์ฐ ์๊ฐ์ ํ๋์ ํ์
ํ ์ ์์ต๋๋ค.
- **์ฑ๋ฅ ๋ฐ ๋ณ๋ ฌํ ์ต์ ํ:** ๋จ๊ณ๋ณ 500ms ๊ฐ์ ์ง์ฐ์ ์ ๊ฑฐํ๊ณ , Researcher์ Writer ์ค๋น ๊ณผ์ ์ ๋ณ๋ ฌํํ์ฌ ์ ์ฒด ์ํฌํ๋ก์ฐ ์ฒ๋ฆฌ ์๋๋ฅผ ๋ํญ ํฅ์ํ์ต๋๋ค.
- **์ ๋ขฐ์ฑ ๊ฒ์ฆ:** 37์ข
์ ํตํฉ ํ
์คํธ ๋ฐ ์ฑ๋ฅ ๋ฒค์น๋งํฌ ์ค์ํธ๋ฅผ ํตํด ์์ง์ ์์ ์ฑ๊ณผ ๋ณต๊ตฌ ๋ฉ์ปค๋์ฆ์ ์๋ฒฝํ ๊ฒ์ฆํ์ต๋๋ค.
---
# Patch Notes - v2.60.0 (2026-05-04)
## ๐ง Memory & Knowledge Search (Unified RAG Pipeline)
- **Retrieval Orchestrator:** ํตํฉ RAG ํ์ดํ๋ผ์ธ(`src/retrieval`)์ด ์ ๋ฉด ๋์
๋์์ต๋๋ค. ๋ฌด๊ฑฐ์ด ์ธ๋ถ ํ๋ ์์ํฌ(LlamaIndex ๋ฑ) ์์ด ์์ฒด์ ์ผ๋ก ์ด๊ฒฝ๋ TF-IDF ์ค์ฝ์ด๋ง ๋ฐ ์ปจํ
์คํธ ์์ฐ ์ต์ ํ๋ฅผ ์ํํฉ๋๋ค.
- **2nd Brain (Obsidian) ์ฐ๋:** ํ๋ก์ ํธ ๋ฌธ์ ๋ฐ ์ต์๋์ธ ์ง์ ๊ธฐ์ง์์ ์ง๋ฌธ๊ณผ ์ฐ๊ด๋ ํต์ฌ ๋ฌธ๋จ์ ์๋ ์ถ์ถํ์ฌ AI ํ๋กฌํํธ์ ์ฃผ์
ํฉ๋๋ค.
- **๋ค์ค ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๋์ ํ์:** ๊ณผ๊ฑฐ ๋ํ(Episodic), ํ๋ก์ ํธ ๊ฒฐ์ ์ฌํญ(Project), ๋ฌธ์ ํด๊ฒฐ ์ ์ฐจ(Procedural) ๋ฑ ๋ค์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ตํฉํ์ฌ ์
์ฒด์ ์ธ ๋ต๋ณ์ ์ ๊ณตํ๋๋ก ๊ฐํ๋์์ต๋๋ค.
---
# Patch Notes - v2.59.0 (2026-05-03)
## ๐จ UI/UX Polish & Stability
- **Visual Consistency:** Refined the sidebar layout to ensure 100% alignment with the latest design guidelines.
- **Error Handling:** Improved the clarity of diagnostic messages during agent execution failures.
- **Workflow Persistence:** Fixed a minor edge case where the multi-agent execution state was not correctly reset after cancellation.
---
# Patch Notes - v2.58.0 (2026-05-03)
## ๐ ๏ธ Performance & Core Refinement
- **Workflow Orchestration:** Further optimized the agent handoff logic for smoother transition between reasoning stages.
- **Resource Management:** Enhanced memory cleanup during intensive multi-agent tasks to prevent UI lag.
- **System Stability:** Finalized the synchronization between core logic and UI event handlers.
---
# Patch Notes - v2.37.0 (2026-05-03)
## ๐ Orchestration & System Stability
- **Version Normalization:** Synchronized system-wide versioning to v2.37.0 to align with the latest architectural refinements.
- **Build Pipeline Optimization:** Streamlined the VSIX packaging process for consistent distribution across environments.
- **Git Sync Strategy:** Enhanced the automated commit & push workflow to ensure 100% repository integrity after major updates.
---
# Patch Notes - v2.36.9 (2026-05-02)
## โ๏ธ Content Engineering: Blog Automation Standard
- **Blog Production Standard Manual:** Integrated the authoritative guide for structure, layout, and SEO-optimized headline design into the agent's reasoning core.
- **Tone & Manner Refinement:** Established the "Ryuri-style" persona (Friendly Expert) as the default for content-centric tasks to ensure high engagement and trust.
- **Knowledge Pipeline:** Synced the latest blog writing patterns from the Wiki into the extension's knowledge retrieval layer.
---
# Patch Notes - v2.36.8 (2026-05-02)
## ๐ Intelligence & Stability: Review Preflight
- **Code Review Preflight:** Implemented a local path validation layer that verifies workspace integrity before initiating deep autonomous code analysis.
- **System Prompt Testing:** Added a suite of automated tests for system prompts to ensure consistent agent behavior across diverse reasoning tasks.
---
# Patch Notes - v2.36.7 (2026-05-02)
## ๐จ UX & Search Refinement
- **Answer Format Tuning:** Optimized response formatting to improve readability and visual clarity of synthesized information.
- **Query Intent Search:** Enhanced the intent-based search logic to provide more contextually relevant results from the knowledge base.
---
# Patch Notes - v2.36.6 (2026-05-02)
## ๐ก๏ธ Reliability Upgrade: Project Claim Output Brake
- **Output Brake Mechanism:** Introduced a strict filtering layer that prevents the agent from making unverified project claims.
- **Evidentiary Reasoning:** Refined the core logic to enforce a "No Evidence, No Claim" policy for higher architectural integrity.
---
# Patch Notes - v2.36.5 (2026-05-02)
## ๐ก๏ธ Project Governance: Guard Policy Enforcement
- **Project Chronicle Guard:** Implemented strict validation logic for project claims, ensuring all assertions are backed by verifiable evidence.
- **Trace Optimization:** Enhanced `SecondBrainTrace` for more precise knowledge tracking and context synthesis.
---
# Patch Notes - v2.36.4 (2026-05-02)
## ๐๏ธ Knowledge Integration: Datacollector Sync
- **Wiki Expansion:** Integrated 43 high-density technical artifacts from the Datacollector (Software Engineering, Architecture, DevOps).
- **v3.1 Standard Compliance:** All new artifacts processed with enhanced validation and duplicate check metadata.
---
# Patch Notes - v2.36.3 (2026-05-02)
## โ๏ธ Core Orchestration Tuning
- **Signal Handling Optimization:** Refined the internal event bus to ensure smoother transitions between autonomous reasoning steps.
- **Distribution Integrity:** Final validation of build artifacts and metadata consistency for the v2.36 series.
---
# Patch Notes - v2.36.2 (2026-05-02)
## ๐ Documentation Fix
- **Repository URL Correction:** Fixed incorrect GitHub repository URLs in `README.md` and `package.json` to point to the authoritative `g1nations/locallm` repository.
---
# Patch Notes - v2.36.1 (2026-05-02)
## ๐ ๏ธ Stability & Refinement
- **Action Queue Optimization:** Refined the `ActionQueue` to handle rapid succession of wiki-grounded reasoning tasks without state overlap.
- **Distribution Prep:** Finalized build artifacts for the standardized P-Reinforce v3.0 knowledge base integration.
---
# Patch Notes - v2.36.0 (2026-05-02)
## ๐๏ธ Knowledge Ecosystem: P-Reinforce v3.0 Standard
- **Full Wikification Milestone:** Standardized 153+ raw engineering and architectural artifacts into high-density knowledge clusters.
- **Systemic Categorization:** Integrated automated classification for Process Methodology, Architecture Principles, Software Engineering, and DevOps.
- **Semantic Integrity:** Ensured 100% metadata consistency across the knowledge base, optimizing the agent's contextual grounding accuracy.
---
# Patch Notes - v2.35.1 (2026-05-02)
## ๐จ UI & UX Optimization
- **Second Brain Trace: Collapsible UI:** Integrated `` blocks for Trace evidence to reduce visual noise while maintaining transparency.
- **Trace Summary:** Added a compact usage summary showing note counts and grounding status at a glance.
- **Improved Readability:** Optimized the layout of referenced notes and debug JSON within the expanded section.
---
# Patch Notes - v2.35.0 (2026-05-02)
## ๐๏ธ Milestone: Knowledge Resilience & Standardization
- **Authoritative Knowledge Base:** Completed the full synthesis of all raw engineering artifacts into the `10_Wiki` system, establishing a single source of truth for Cognitive Engineering, Agentic Coding, and Security Governance.
- **Zero-Ghost Integrity:** Finalized global graph cleanup, ensuring the Obsidian brain remains 100% free of broken nodes and fragmented stubs.
- **VSIX Distribution:** Optimized packaging for the new standardized environment, ensuring seamless integration with the latest knowledge clusters.
---
# Patch Notes - v2.34.1 (2026-05-02)
## ๐ง Knowledge Base Standardized (P-Reinforce v3.0)
- **High-Density Wikification:** Synthesized 148+ raw cognitive engineering and software maintenance artifacts into 9 authoritative, cross-linked clusters.
- **Graph Integrity Purge:** Executed global regex-based cleanup to eliminate all broken links (Ghost Nodes) and empty stubs, ensuring 100% structural reliability.
- **Topic Architecture:** Reorganized knowledge into standardized categories (Cognitive Engineering, AI/Agentic Coding, Security/Quality, etc.) for optimized discovery.
---
# Patch Notes - v2.33.9 (2026-05-01)
## ๐ Core Engine Upgrade
- **Agent Workflow Optimization:** Enhanced `AgentWorkflowManager` and `AgentFactory` for more robust multi-agent orchestration.
- **Utility Refinement:** Core utilities and configuration logic updated for improved reliability and performance.
- **UI/UX Sync:** Further alignment between sidebar provider and core agent logic for a seamless experience.
---
# Patch Notes - v2.33.8 (2026-05-01)
## ๐ ๏ธ Performance & Stability
- **Agent Execution Refinement:** Further stabilized task orchestration and response validation.
- **Workflow Stabilization:** Minor internal logic updates to ensure consistent agent performance.
---
# Patch Notes - v2.33.7 (2026-05-01)
## โ๏ธ Logic Refinement
- **Multi-Agent Routing:** Optimized workflow to prioritize local project analysis over general multi-agent execution when explicit projects are referenced.
- **Intent Detection:** Expanded analysis intent keywords for better project-level understanding triggers.
- **Error Handling:** Improved diagnostic details for empty AI responses to help troubleshoot local server issues.
- **Default Config:** Set `multiAgentEnabled` to `false` by default for a leaner initial experience.
- **UI Polish:** Enhanced Multi-Agent button UI with dynamic tooltips and state synchronization.
---
# Patch Notes - v2.33.6 (2026-05-01)
## ๐ ๏ธ Critical Bug Fixes
- **Chat Persistence Overhaul:** Resolved an issue where chat history disappeared after switching sidebar tabs.
- **Webview State Management:** Implemented `vscode.setState` for instant UI restoration.
- **Internal Message Logic:** Refined message filtering to ensure intermediate agent steps are visible to the user.
---
# Patch Notes - v2.33.5 (2026-05-01)
## ๐จ UI Refinement
- **Sidebar Provider Update:** Optimized sidebar rendering and event handling for smoother navigation.
---
# Patch Notes - v2.33.4 (2026-05-01)
## ๐ ๏ธ Manual Refinement & Stabilization
- **Core Agent Logic Update:** Manually refined `agent.ts` and `AgentWorkflowManager.ts` for improved task orchestration.
- **Workflow Factory Optimization:** Updated `factory.ts` to support more robust agent instantiation.
- **Configuration & UI Polish:** Fine-tuned `config.ts` and `sidebarProvider.ts` for a better user experience.
---
# Patch Notes - v2.32.0 (2026-04-30)
## ๐๏ธ Modernization: Actor/Queue Model & Monitoring
### 1. Actor/Queue ๊ธฐ๋ฐ ๋น๋๊ธฐ ์์ปค ๋์
- **Asynchronous Worker Pool:** `queue_worker.py`๋ฅผ ๊ตฌ์ถํ์ฌ ๋ฐ์ดํฐ ์์ง๊ณผ ์ถ๋ก ์ฒ๋ฆฌ๋ฅผ ์์ ํ ๋ถ๋ฆฌํ์ต๋๋ค.
- **Traffic Spiking Handling:** ๋ฉ์์ง ํ๋ฅผ ํตํ ๋ฒํผ๋ง์ผ๋ก ๊ฐ์์ค๋ฌ์ด ํธ๋ํฝ ์ฆ๊ฐ์๋ ์์คํ
์์ ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
### 2. ์ค์๊ฐ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ๋ฐ SLO ์ถ์
- **SLO Monitoring Hub:** `monitoring.py`๋ฅผ ํตํด ํต์ฌ ์ถ๋ก ๊ฒฝ๋ก์ ์ง์ฐ ์๊ฐ์ ์ค์๊ฐ ์ธก์ ํฉ๋๋ค.
- **P95 Latency Tracking:** ๋ชฉํ ์ง์ฐ ์๊ฐ(200ms) ์ค์ ์ฌ๋ถ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ๊ฐ์์ฑ์ ํ๋ณดํ์ต๋๋ค.
### 3. ์ํคํ
์ฒ ํ๋ํ ์๊ฒฐ (Phase 1~3)
- **Actor ๋ชจ๋ธ ์งํฅ:** ๋ชจ๋๋ฆฌ์ ๋๊ธฐ ์ฒ๋ฆฌ์์ ๋น๋๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค ์งํฅ ์ํคํ
์ฒ๋ก์ ๊ทผ๋ณธ์ ์ ํ์ ๋ฌ์ฑํ์ต๋๋ค.
---
# Patch Notes - v2.31.0 (2026-04-30)
## ๐ง Intelligent Optimization & Scalable Parallelization
### 1. ์ง๋ฅํ ํ๋ผ๋ฏธํฐ ์ต์ ํ ์์ง ๋์
- **Simulated Annealing Optimizer:** ๋ธ๋ฃจํธ ํฌ์ค ๋ฐฉ์์ ๋์ฒดํ๋ ์๋ฎฌ๋ ์ดํฐ๋ ์ด๋๋ง ์์ง(`optimizer.py`)์ ๊ตฌ์ถํ์ฌ ์ต์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ต์ํ์ ๊ณ์ฐ์ผ๋ก ๋์ถํฉ๋๋ค.
- **Adaptive Search Strategy:** ์๋ ด ์๋๋ฅผ ๋น์ฝ์ ์ผ๋ก ํฅ์์์ผ ํ๋ก๋์
ํ๊ฒฝ์์์ ์ค์๊ฐ ํ๋ ํจ์จ์ ๊ทน๋ํํ์ต๋๋ค.
### 2. P3 ๋ณ๋ ฌ ์ฒ๋ฆฌ ์์ง ๊ณ ๋ํ
- **Multi-core Scaling:** `match_features_parallel` ๊ธฐ๋ฅ์ ํตํด ๋๊ท๋ชจ ๋ฐฐ์น ์ฒ๋ฆฌ๋ฅผ ๋ฉํฐ CPU ์ฝ์ด์ ๋ถ์ฐํ์ฌ ์ฒ๋ฆฌ๋(Throughput)์ ๋น์ฝ์ ์ผ๋ก ํฅ์์์ผฐ์ต๋๋ค.
- **Efficient Task Distribution:** ํ๋ก์ธ์ค๋ณ ๋
๋ฆฝ์ ์ธ ๋ฒกํฐ ์ฐ์ฐ ์ํ์ผ๋ก ๋ฐ์ดํฐ ๊ฒฝํฉ ์๋ ์์ ์ฑ๋ฅ ํ์ฅ์ ๋ฌ์ฑํ์ต๋๋ค.
### 3. P2 ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ ๋ฉด ๋ง์ด๊ทธ๋ ์ด์
- **NumPy Core Storage:** ๋ด๋ถ ์์น ๋ฐ์ดํฐ๋ฅผ Python ๋ฆฌ์คํธ์์ NumPy ๋ฐฐ์ด๋ก ์ ํํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฐ์์ฑ๊ณผ ์บ์ ํจ์จ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **Memory Footprint Reduction:** ๋ถํ์ํ ์์ ๊ฐ์ฒด ์์ฑ์ ์ต์ํํ์ฌ ๊ฐ๋น์ง ์ปฌ๋ ์
๋ถํ๋ฅผ ํ๊ธฐ์ ์ผ๋ก ์ค์์ต๋๋ค.
---
# Patch Notes - v2.30.0 (2026-04-30)
## ๐๏ธ Next-Gen Engine & Architectural Modernization
### 1. ์ฐจ์ธ๋ Python ์ฝ์ด ์์ง ๊ตฌ์ถ (Phase 1~3)
- **Vectorized Inference:** NumPy ํ๋ ฌ ์ฐ์ฐ์ ํ์ฉํ $O(N)$ ํน์ง ๋งค์นญ ์์ง(`core_py/inference.py`) ๋์
์ผ๋ก ์ฐ์ฐ ์๋ ๊ทน๋ํ.
- **Asynchronous Data Loader:** `asyncio` ๊ธฐ๋ฐ์ ๋น์ฐจ๋จ I/O ํ์ดํ๋ผ์ธ(`core_py/loader.py`)์ ํตํด ๋ฐ์ดํฐ ๋ก๋ฉ ๋ณ๋ชฉ ํ์(65% ๋๊ธฐ ์๊ฐ) ์ ๊ฑฐ.
- **Observer Pattern Integration:** ์ค์ ์ด๋ฒคํธ ๋ฒ์ค(`core_py/events.py`)๋ฅผ ํตํ ๋ชจ๋ ๋์ปคํ๋ง์ผ๋ก ์์คํ
์ ์ฐ์ฑ ํ๋ณด.
### 2. TypeScript ์๋น์ค ์ ๋ฉด ๋น๋๊ธฐํ
- **Non-blocking I/O:** `agent.ts` ๋ด์ ๋ชจ๋ ๋๊ธฐ์ ํ์ผ ์์
์ `fs.promises`๋ก ์ ํํ์ฌ ๋๊ท๋ชจ ํ๋ก์ ํธ ๋ถ์ ์์ UI ํ๋ฆฌ์ง ๋ฌธ์ ํด๊ฒฐ.
- **Async Project Search:** ๋ณ๋ ฌ ์ฌ๊ท ํ์ ์๊ณ ๋ฆฌ์ฆ์ ๋์
ํ์ฌ ํ๋ก์ ํธ ๊ตฌ์กฐ ํ์
์๋ ํฅ์.
### 3. ์์ ์ฑ ๋ฐ ์ ์ง๋ณด์์ฑ ๊ฐํ
- **DIP ์คํ:** `AgentEvents` ํ๋ธ๋ฅผ ํตํ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ
์ฒ๋ก ์ ํํ์ฌ ๋ชจ๋ ๊ฐ ๊ฐํ ๊ฒฐํฉ ํด์.
- **TypeScript ์ ๋ฐ ํ์
ํ:** ๋น๋๊ธฐ ํธ์ถ ๋ฐ Null ์์ ์ฑ์ ๋ํ ์๊ฒฉํ ํ์
์ฒดํฌ ์ ์ฉ.
---
# Patch Notes - v2.29.0 (2026-04-30)
## ๐ Performance Leap & Structural Decoupling
### 1. Algorithmic Optimization (O(N) Core)
- **DataProcessor Implementation:** ํต์ฌ ์ง๊ณ ๋ก์ง์ $O(N^2)$์์ **$O(N)$ ์ ํ ๋ณต์ก๋**๋ก ์ต์ ํํ์ฌ ๋๊ท๋ชจ ๋ฐ์ดํฐ์
์ฒ๋ฆฌ๋์ ๋น์ฝ์ ์ผ๋ก ํฅ์์์ผฐ์ต๋๋ค.
- **Adaptive Indexing:** ๋ฐ์ดํฐ ๋ถํฌ์ ๋ฏผ๊ฐํ๊ฒ ๋ฐ์ํ๋ ํจ์จ์ ์ธ ์ธ๋ฑ์ฑ ๊ตฌ์กฐ๋ฅผ ์ ์ฉํ์ต๋๋ค.
### 2. Strategic Architecture Separation
- **Bridge Refactoring:** `BridgeServer`์ ์ง์ค๋ ๋น์ฆ๋์ค ๋ก์ง์ `AIService`์ `BrainService`๋ก ์์ ํ ๋ถ๋ฆฌ(SRP/DIP)ํ์ฌ ์ํ ๋ณต์ก๋๋ฅผ ๋ํญ ๋ฎ์ท์ต๋๋ค.
- **Service-Oriented Design:** ์ธํ๋ผ ์์กด์ฑ์ ์ธํฐํ์ด์ค ๋ค๋ก ๊ฒฉ๋ฆฌํ์ฌ ์ฝ๋์ ์ดํด๋์ ์ ์ง๋ณด์์ฑ์ ๊ทน๋ํํ์ต๋๋ค.
### 3. Quantitative Validation
- **Benchmark Suite:** ๋ฐ์ดํฐ ๊ท๋ชจ ํ๋์ ๋ฐ๋ฅธ ์ฑ๋ฅ ํฅ์์ ์ ๋์ ์ผ๋ก ์
์ฆํ๋ ๋ฒค์น๋งํฌ ํ
์คํธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
---
# Patch Notes - v2.28.0 (2026-04-30)
## ๐๏ธ Next-Gen Engine Architecture & Stability
### 1. New AgentEngine Core (Producer-Consumer)
- **Architecture Refactor:** ๋ฉํฐ ์์ด์ ํธ ์ํฌํ๋ก์ฐ์ ํต์ฌ ๋ก์ง์ `AgentEngine`์ผ๋ก ์์ ํ ๋ถ๋ฆฌํ์ต๋๋ค.
- **Producer-Consumer Pipeline:** ๋ชจ๋ ๋ฏธ์
์ ๋น๋๊ธฐ ํ(`ActionQueue`)๋ฅผ ํตํด ์ฒ๋ฆฌํ์ฌ ๊ณ ๋ถํ ์ํฉ์์๋ ์์คํ
์์ ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
- **Dependency Injection (DI):** ์์ด์ ํธ ๊ฐ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ์ด ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ทน๋ํํ์ต๋๋ค.
### 2. Explicit Synchronization (Mutex Locking)
- **Race Condition Protection:** `lockManager`๋ฅผ ์ด์ฉํ ๋ช
์์ ๋ฎคํ
์ค(Mutex) ๋ฝ์ ๋์
ํ์ฌ, ๋์ผ ๋ฏธ์
์ด ์ค๋ณต ์คํ๋๊ฑฐ๋ ๋ฐ์ดํฐ๊ฐ ์ถฉ๋ํ๋ ๋ฌธ์ ๋ฅผ ์์ฒ ์ฐจ๋จํ์ต๋๋ค.
### 3. High-Resolution Telemetry
- **Stage Tracking:** `Planner` โ `Researcher` โ `Writer`๋ก ์ด์ด์ง๋ ํ์ดํ๋ผ์ธ ๋จ๊ณ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ถ์ ํ๊ณ UI์ ์ ํํ๊ฒ ๋ณด๊ณ ํฉ๋๋ค.
---
# Patch Notes - v2.27.0 (2026-04-30)
## ๐ Stability & IDE Integrity Enhancements
### 1. Sidebar UX & Session Management
- **Persistence:** ์ธ์
๋ณต๊ตฌ ๋ฐ ์ฑํ
ํ์คํ ๋ฆฌ ์ ํฉ์ฑ ๋ก์ง์ ๊ฐํํ์ต๋๋ค.
- **Brain Integration:** Second Brain ํ๋กํ ์ ํ ์ ์๊ฐ์ ํผ๋๋ฐฑ(์์คํ
๋ฉ์์ง)์ ์ถ๊ฐํ์ฌ ํ์ฑ ์ง์ ๋ฒ ์ด์ค๋ฅผ ๋ช
ํํ ์ธ์งํ ์ ์๋๋ก ๊ฐ์ ํ์ต๋๋ค.
- **Negative Prompt:** ์์ด์ ํธ๋ณ ๋ถ์ ํ๋กฌํํธ(Negative Prompt) ์ ์ฅ ๊ธฐ๋ฅ์ ์์ ํํ์ฌ ์คํ์ผ ๋ฐ ์ ์ฝ ์ฌํญ ์ ์ง๋ฅผ ๋ณด์ฅํฉ๋๋ค.
### 2. Multi-Agent & Proactive Suggestions
- **Tips Engine:** ์ฌ์ฉ์ ์ธํฐ๋์
๊ธฐ๋ฐ์ ๋ฅ๋์ ํ(Proactive Suggestion) ๊ธฐ๋ฅ์ ๊ณ ๋ํํ์ฌ ํจ์จ์ ์ธ ์ค์ ์ ์ ์ํฉ๋๋ค.
- **Workflow:** ์์ด์ ํธ ๊ฐ ๋ฐ์ดํฐ ์ ๋ฌ ์ ๋ฐ์ํ ์ ์๋ ์ ์ฌ์ ๋ ์ด์ค ์ปจ๋์
์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋๊ธฐํ ๋ก์ง์ ๋ณด์ํ์ต๋๋ค.
### 3. Cleanup & Optimization
- **Logs:** ๋ถํ์ํ ๋น๋ ๋ก๊ทธ ๋ฐ ๋๋ฒ๊ทธ ๋ฉ์์ง๋ฅผ ์ ๋ฆฌํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ ์ฑ๋ฅ์ ์ต์ ํํ์ต๋๋ค.
---
# Patch Notes - v2.26.0 (2026-04-30)
## ๐ Release Candidate - Production Ready
### 1. Final Build & Packaging Optimization
- **Cleanup:** `.vscodeignore` ์ค์ ์ ์ฌ๊ฒํ ํ์ฌ ๋ถํ์ํ ์์ค ํ์ผ(`src/**`)๊ณผ ์ด์ ๋น๋ ์ฐ์ถ๋ฌผ(`*.vsix`)์ด ํจํค์ง์ ํฌํจ๋์ง ์๋๋ก ์ต์ ํํ์ต๋๋ค.
- **Consistency:** ์ต์ ๋๋๊ทธ ์ค ๋๋กญ ๋๊ธฐํ ๋ก์ง์ด ํฌํจ๋ `out/extension.js`๋ฅผ ์ฌ์์ฑํ์ต๋๋ค.
### 2. Risk Orchestration (SOP #1)
- ๋ฐฐํฌ ์ ํธ๋ฆฌ๋ํฐ ๋ฆฌ๋ทฐ(Trinity Review) ๊ด์ ์์ ์ฝ๋ ์์ ์ฑ์ ์ฌํ์ธํ์ต๋๋ค.
- ๋ณด์ ๋ฐ ๋ฆฌ์์ค ๊ด๋ฆฌ ์ธก๋ฉด์์ ํ์ฑํ ์ด๋ฒคํธ(`activationEvents`) ์ต์ ํ๊ฐ ์ ์ ์๋ํจ์ ๊ฒ์ฆํ์ต๋๋ค.
---
# Patch Notes - v2.25.0 (2026-04-30)
## ๐ UX Optimization & Stability (Kodari Approved)
### 1. Drag & Drop Input Synchronization
- **Fix:** ๋๋กญ๋ ํ์ผ์ ๋ด๋ถ ๋ฐฐ์ด๋ฟ๋ง ์๋๋ผ ์ค์ HTML ํ์ผ ์
๋ ฅ ์์(`fileInput.files`)์ ๊ฐ์ ๋๊ธฐํํ๋๋ก ๋ก์ง์ ๊ฐํํ์ต๋๋ค.
- **Verification:** ์ฑ๊ณต์ ์ธ ๋๊ธฐํ ์ ๊ฐ๋ฐ์ ์ฝ์์ ํ์ธ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ์ฌ ์ ๋ขฐ์ฑ์ ๋์์ต๋๋ค.
### 2. Multi-Project IDE Problems Resolved
- **Performance:** `Wonseok_AI_original` ํจํค์ง์ ํ์ฑํ ์ด๋ฒคํธ๋ฅผ ์ต์ ํํ์ฌ VS Code ์ด๊ธฐ ์คํ ์๋๋ฅผ ๊ฐ์ ํ์ต๋๋ค.
- **Build Fix:** `Datacollect` ํ๋ก์ ํธ์ Vite ์ค์ ๋ด ํ์
๋ถ์ผ์น ์๋ฌ๋ฅผ ํด๊ฒฐํ์ฌ ๋น๋ ํ์ดํ๋ผ์ธ์ ์ ์ํํ์ต๋๋ค.
### 3. Syntax Stability
- ์ค์ฒฉ ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด ๋ด์ ์ด์ค์ผ์ดํ ์ฒ๋ฆฌ๋ฅผ ์ต์ข
์ ๊ฒํ์ฌ ๋น๋ ์ ๊ตฌ๋ฌธ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ์์ฒ ์ฐจ๋จํ์ต๋๋ค.
---
# Patch Notes - v2.24.0 (2026-04-30)
## ๐ New Features & Enhancements
### 1. Webview Drag & Drop File Upload
- **Feature:** ์ฌ์ฉ์๊ฐ ํ์ผ์ด๋ ํด๋๋ฅผ ์ฌ์ด๋๋ฐ ์ฑํ
์ฐฝ์ผ๋ก ์ง์ ๋๋๊ทธํ์ฌ ์
๋ก๋ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- **UX:** ๋๋๊ทธ ์ ์๊ฐ์ ์ค๋ฒ๋ ์ด์ ๋ธ๋ฌ ํจ๊ณผ๋ฅผ ์ ๊ณตํ์ฌ ์ง๊ด์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํฉ๋๋ค.
- **Reliability:** ํ์ผ ๋๋กญ ์ ์๋์ผ๋ก Base64 ์ธ์ฝ๋ฉ์ ๊ฑฐ์ณ ์์ ํ๊ฒ ๋ฐฑ์๋๋ก ์ ๋ฌ๋ฉ๋๋ค.
### 2. Webview Stability & Syntax Fix
- **Bug Fix:** ์ค์ฒฉ ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด ๋ด์์ ๋ฐ์ํ๋ ๋ฐฑํฑ(`) ๋ฐ ๋ณด๊ฐ๋ฒ(${}) ์ด์ค์ผ์ดํ ์ค๋ฅ๋ฅผ ์์ ํ์ฌ ๋น๋ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- **Feedback:** ํ์ผ ์ถ๊ฐ ์ Toast ์๋ฆผ ๋ฐ ํจ๊ณผ์์ ์ถ๊ฐํ์ฌ ์กฐ์ ํธ์์ฑ์ ๋์์ต๋๋ค.
---
# Patch Notes - v2.2.46
## ๐ Key Improvements & Bug Fixes
### 1. AI Communication Protocol Fix
- **Issue:** Previously, when a file was attached, the text prompt was completely overwritten by the `visionContent` structure, leading to empty messages being sent to LM Studio.
- **Fix:** Merged the text prompt with the vision content array so that both text and file metadata are correctly transmitted.
### 2. Autonomous Loop Optimization
- **Issue:** Broad keyword matching (e.g., "์กฐ์ฌ", "์ค๋ช
") triggered local file analysis tasks even for general questions, causing the agent to bypass the LLM and give incomplete answers.
- **Fix:** Refined the `isProjectAnalysisRequest` patterns to be more conservative, ensuring generic conversational requests are always handled by the AI model.
### 3. Second Brain Profile Management
- **Issue:** Adding new brain profiles was inconsistent because a virtual "default-brain" (injected in memory) was being saved into the permanent settings, causing profile list corruption.
- **Fix:**
- Decoupled runtime virtual profiles from persistence logic.
- Implemented direct settings access for profile addition to avoid stale config caches.
- Fixed UI sync issues immediately after adding a new brain folder.
### 4. Build & Reliability
- Removed premature empty stream chunks that were causing UI flickering.
- Verified build stability with `v2.2.46` VSIX package.
---
## v2.8.0 (2026-04-29) - Intelligent Collaborative System Evolution
### ๐ค Multi-Agent Workflow (MAW)
- **Planner Agent:** ์ ๋ต ์๋ฆฝ ๋ฐ ์์
๋จ๊ณ ์๋ ์ค๊ณ.
- **Researcher Agent:** ์ง์ ๋ฒ ์ด์ค(Second Brain) ์ฌ์ธต ๋ถ์ ๋ฐ ๋ฐ์ดํฐ ์ ์ .
- **Writer Agent:** ์ต์ข
๋ณด๊ณ ์ ํํ์ ๊ณ ํ์ง ๋ต๋ณ ์์ฑ ๋ฐ ํตํฉ.
- ๋ณต์กํ ์์ฒญ(๋ถ์, ๋ณด๊ณ ์ ๋ฑ) ๊ฐ์ง ์ ์๋์ผ๋ก ๋ฉํฐ ์์ด์ ํธ ๋ชจ๋ ํ์ฑํ.
### ๐ฎ Proactive Suggestion Engine
- **Behavioral Tracking:** ์ฌ์ฉ์ UI ์ฒด๋ฅ ์๊ฐ(Dwell Time) ๊ธฐ๋ฐ ์๋ ๊ฐ์ง.
- **Smart Tips:** ์ค์ , ์ง์ ๋๊ธฐํ, ์์ด์ ํธ ์ ํ ๋ฑ ์ํฉ์ ๋ง๋ ๋ฅ๋์ ๋์๋ง ์ ๊ณต.
### ๐จ UX & Reliability Improvements
- **Visual Feedback:** ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฅธ ์ํ๋ณ ์์ด์ฝ ๋ฐ ํผ๋๋ฐฑ ์ผ๊ด์ฑ ๊ฐํ.
- **Model Fix:** ๋ชจ๋ธ ์ ํ ๋ฐ ์ ์ฅ ๋ก์ง ์์ ํ ์๋ฃ.
- **Agent Handoff:** ๊ฐ ์์ด์ ํธ ๊ฐ ๋ฐ์ดํฐ ์ ๋ฌ ๋ฐ ์งํ ์ํฉ ์๊ฐํ ๊ฐ์ .
---
*Date: 2026-04-25*
*Version: 2.2.46*