chore: .astra 런타임 상태·chronicle 기록 동기화

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-06-11 13:42:24 +09:00
parent 2afd1ac589
commit b2cc5b9a96
13 changed files with 427 additions and 118 deletions
+41 -36
View File
@@ -3,15 +3,15 @@
<!-- ASTRA:AUTO-START -->
## Snapshot
- **Workspace**: `connectai` `v2.2.210` _(absolute path varies by environment; resolved from the active VS Code workspace)_
- **Workspace**: `connectai` `v2.2.212` _(absolute path varies by environment; resolved from the active VS Code workspace)_
- **Description**: The personal intelligence layer for Antigravity and VS Code. A private cognitive partner for deep project context, memory, and proactive strategic decision-making.
- **Stack**: TypeScript, Node.js, VS Code Extension, LM Studio SDK, Test runner
- **Stats**: 441 source files, ~71,522 lines across 5 top-level modules.
- **Stats**: 469 source files, ~76,324 lines across 5 top-level modules.
## Last Refresh
- **Time**: 2026-06-09T02:20:50.409Z
- **Files newly analysed**: 3
- **Files reused from cache**: 438
- **Time**: 2026-06-11T04:29:35.678Z
- **Files newly analysed**: 5
- **Files reused from cache**: 464
## Directory Map
```mermaid
@@ -23,7 +23,7 @@ mindmap
agent/
lib/
retrieval/
core/
intelligence/
media/
tests/
helpers/
@@ -40,11 +40,11 @@ mindmap
> Arrows: which top-level module imports from which.
```mermaid
flowchart LR
src["src/<br/>280 files"]
src["src/<br/>298 files"]
media["media/<br/>6 files"]
tests["tests/<br/>37 files"]
tests["tests/<br/>45 files"]
core_py["core_py/<br/>6 files"]
docs["docs/<br/>112 files"]
docs["docs/<br/>114 files"]
tests --> src
```
@@ -67,26 +67,26 @@ flowchart LR
## Modules
### `src/` — 280 files, ~53,526 lines
### `src/` — 298 files, ~56,880 lines
**Sub-directories**
- `src/features/` (103) — Astra Office — public API. 다음 세션에서 추가될 OfficeSnapshot presenter / schema 도 같은 entry 로 노출 예정. 현재 노출: full webview panel H
- `src/features/` (105) — Astra Office — public API. 다음 세션에서 추가될 OfficeSnapshot presenter / schema 도 같은 entry 로 노출 예정. 현재 노출: full webview panel H
- `src/sidebar/` (35) — Brain profile lifecycle 의 pure helpers — sidebarProvider 의 add/edit/delete 흐름에서 modal UI 와 config 쓰기를 제외한 데이터 변환 만 격리. 현
- `src/agent/` (29) — Post-answer hook registry — 답변 완료 후 실행되는 부가 작업 모음. 새 hook 추가 = 1 객체 push. agent.ts 는 이 배열을 iterate 만 함. 현재 등록 순서 (v2.2.1
- `src/lib/` (29) — Astra Mode Architecture Context Builder. 의도: 사용자가 Astra 자체의 mode 디자인 (Guard vs Multi-Agent 가 별도 모드여야 하는지) 을 묻는 메타 질문에 답할
- `src/retrieval/` (18) — Actionability Scoring — 검색 결과를 "현재 작업 상태" 신호로 재가중. 기존 TF-IDF (단어 매칭) + recency (시간) 만으로는 "지금 이 사용자가 하고 있는 작업과 직접 연결 된 문서
- `src/intelligence/` (16) — Confidence Engine — 답변 확신도 0~100 결정론적 산출. Self-Evolving OS 마스터 플랜 Phase 2 / Track 1-1. 신뢰 조건 T4 "확신이 없으면 사람에게 묻는다" 의 측정
- `src/core/` (15) — Astra Path Resolver (경로 해결기) Astra의 모든 데이터 파일(.astra 디렉토리)의 경로를 중앙에서 관리합니다. 확장 프로그램의 설치 경로(extensionUri) 기반으로 .astra 디렉토
- `src/extension/` (9) — 9 files (.ts)
- `src/memory/` (9) — Distillation Loop — stale Episodic Memory → Long-Term "episode-digest" 승급. 배경: Episodic Memory 가 무한히 누적되면 검색 노이즈. 30일+ 지
- `src/docs/` (6) — Bug: Edited agent.ts Edited agent.ts Edited agent.ts Edited agent.ts Edited agent.ts ...
- `src/integrations/` (6) — Per-chat conversation history for the Telegram bot. Why this exists: the previous bot was stateless — every inbound mess
- `src/lmstudio/` (4) — 4 files (.ts)
- `src/skills/` (4) — 4 files (.ts)
**Key files**
- `src/utils.ts` (472 lines)
- `src/config.ts` (585 lines)
- `src/agent.ts` (1503 lines)
- `src/config.ts` (637 lines)
- `src/agent.ts` (1514 lines)
- `src/features/company/types.ts` (446 lines) — Type definitions for the 1인 기업 (One-Person Company) mode. The mode turns the user into a virtual CEO that dispatches work to a roster of specialist agents. Each turn produces a session directory conta
- `src/core/services.ts` (176 lines)
- `src/sidebarProvider.ts` (3180 lines)
@@ -98,17 +98,17 @@ flowchart LR
- `src/skills/agentKnowledgeMap.ts` (374 lines)
- `src/features/datacollect/slashRouter.ts` (201 lines)
- `src/retrieval/types.ts` (66 lines) — Retrieval Types (검색 결과 통합 타입) 모든 검색 소스(Brain, Memory, Project, Episode)의 결과를 통합 인터페이스로 정의합니다.
- `src/intelligence/requirementGraph.ts` (273 lines) — Requirement Graph — 업무 유형별 필수 요소 정의 + 감지 + 커버리지 검사. Self-Evolving Digital Employee OS 마스터 플랜(docs/SELFEVOLVINGOSMASTERPLAN.md) Phase 1 / Track 2-1. 신뢰 조건 T3 "품질이 일관적이다 — 필수 요소 누락 없음" 담당. 동작 2단계: 1. In
- `src/memory/types.ts` (151 lines) — Memory Type Definitions (메모리 타입 정의) Astra의 5-Layer Cognitive Memory System의 모든 타입을 정의합니다. ① Short-Term ② Long-Term ③ Project ④ Procedural ⑤ Episodic
- `src/retrieval/scoring.ts` (541 lines) — Scoring Engine — TF-IDF + Bilingual Tokenizer 단순 includes() 키워드 매칭을 넘어서, TF-IDF 가중치 기반의 문서 스코어링을 제공합니다. 한국어/영어 양국어 토크나이저를 포함합니다.
- `src/features/stocks/types.ts` (53 lines) — Stocks 모듈 공유 타입. investresults/targetstocks.json 스키마를 그대로 받아서, ConnectAI 의 <workspace>/.astra/stocks.json 으로 옮긴 뒤 같은 필드명을 유지. 한글 필드명은 사용자의 도메인 데이터라 변경하지 않는다 — 마이그레이션 충돌 회피 + 사용자가 직접 JSON 편집할 때 frictio
- `src/lib/contextBuilders/promptDetection.ts` (85 lines) — 사용자 prompt 의 의도 분류 류 detection helpers. 모두 stateless 정규식 매칭. 옛 코드는 agent.ts 의 private 메서드로 박혀 있었는데, system prompt 빌더 (buildJarvisProjectBriefContext 등) 가 이걸 의존하면서 god-file 안에서 서로 얽힘. 헬퍼만 먼저 떼면 의존 그래프가
- `src/retrieval/lessonHelpers.ts` (325 lines) — Lesson / Experience Memory — pure helpers (no vscode dependency) "Lesson" = a markdown file in the active brain that captures a past mistake/risk and how to avoid repeating it. Identified by a lessons
- `src/intelligence/confidenceEngine.ts` (165 lines) — Confidence Engine — 답변 확신도 0~100 결정론적 산출. Self-Evolving OS 마스터 플랜 Phase 2 / Track 1-1. 신뢰 조건 T4 "확신이 없으면 사람에게 묻는다" 의 측정 기반 — Escalation Engine 의 입력. 설계 원칙 (termValidator 와 동일): LLM 호출 없음. 검색 그라운딩 신호(턴
- `src/retrieval/brainIndex.ts` (536 lines) — Brain Index — persistent, mtime-keyed tokenized cache of the Second Brain RAG 검색은 매 질의마다 브레인의 모든 .md 파일을 읽고 토크나이즈해서 TF-IDF 점수를 계산했습니다 — 파일 수가 많아지면 그게 병목입니다. 이 모듈은 <brainPath>/.astra/brain-index.json 에
- `src/security.ts` (159 lines)
- `src/features/secondBrainTrace.ts` (792 lines)
- `src/features/providers/types.ts` (63 lines) — Cloud LLM provider routing — model id prefix → provider id 매핑. Prefix 규칙: openrouter:anthropic/claude-3.5-sonnet → { provider: 'openrouter', model: 'anthropic/claude-3.5-sonnet' } anthropic:claude-3-5
- `src/integrations/telegram/telegramBot.ts` (270 lines)
- `src/lib/contextBuilders/localProjectIntent.ts` (233 lines)
- `src/intelligence/reflectionStore.ts` (162 lines) — Reflection Store — 업무 turn 회고 기록 + Failure Pattern 집계. Self-Evolving OS 마스터 플랜 Phase 1 / Track 2-4 (Reflection Engine v1) + Phase 3 / Track 3-6 (Failure Pattern DB v1 시드). 신뢰 조건 T5 "같은 실수를 반복하지 않는다" 의
### `media/` — 6 files, ~7,785 lines
@@ -120,7 +120,7 @@ flowchart LR
- `media/settings-panel.js` (505 lines)
- `media/settings-panel.css` (254 lines) — Stylesheet
### `tests/` — 37 files, ~5,875 lines
### `tests/` — 45 files, ~7,027 lines
*Depends on*: `src/`
**Sub-directories**
@@ -131,29 +131,29 @@ flowchart LR
**Key files**
- `tests/helpers/mockLLMClient.ts` (112 lines) — MockLLMClient — IAIService 의 Mock 구현체. 의도: 회사 모드 dispatcher / ChunkedWriter / ceoPlanner 등 LLM 을 호출하는 코드 경로를 CI 환경에서도 테스트 가능하게. 실제 Ollama / LM Studio 없이도 응답을 미리 정의하거나 동적으로 생성 가능. 사용 예: const ai = new
- `tests/agentEngine.test.ts` (413 lines) — AgentEngine Tests — Chunked Writer Architecture 예전 buildup(planner → researcher → reflector → writer → synthesizer)을 단일 ChunkedWriter 의 outline → section[N] → polish 로 교체한 뒤의 회귀 테스트. 다루는 범위: 1. ErrorC
- `tests/lmStudioLifecycle.test.ts` (326 lines) — Unit tests for ModelLifecycleManager. Strategy: inject mock ILMStudioClient and a simple in-memory IActivityTracker. No real LM Studio or SDK is touched — the manager file does not import the SDK dire
- `tests/lmStudioLifecycle.test.ts` (330 lines) — Unit tests for ModelLifecycleManager. Strategy: inject mock ILMStudioClient and a simple in-memory IActivityTracker. No real LM Studio or SDK is touched — the manager file does not import the SDK dire
- `tests/localPathPreflight.test.ts` (520 lines)
- `tests/telegramBot.test.ts` (363 lines) — Unit tests for TelegramBot + truncateForTelegram. Strategy: - TelegramBot is driven by an injected ITelegramClient stub. We script getUpdates to return queued batches and assert that: - the offset cur
- `tests/criticReflectionEval.test.ts` (200 lines) — Critic Agent / Reflection Store / Task Eval Harness (Self-Evolving OS P1 잔여 + P3) 테스트.
- `tests/lmStudioStreamer.test.ts` (222 lines) — Unit tests for LMStudioStreamer. Strategy: inject a fake ILMStudioClient that returns a fake model handle whose respond() yields a controllable async iterable. No real SDK or WebSocket touched.
- `tests/secondBrainTrace.test.ts` (407 lines)
- `tests/approvalQueue.test.ts` (164 lines) — Unit tests for ApprovalQueue. Strategy: drive enqueue → approve / reject / clear / pre-empt directly, confirm the onChange event fires at the right moments and callbacks fire exactly once.
- `tests/confidenceEngine.test.ts` (175 lines) — Confidence Engine + Escalation Engine (Self-Evolving OS Phase 2) 단위 테스트. 순수 함수만 검증 — vscode 의존 없음.
- `tests/knowledgeOps.test.ts` (174 lines) — Knowledge Validation / Belief Revision / Decay / Debt (Self-Evolving OS Phase 4 — 지식 운영) 테스트.
- `tests/needEngineQueue.test.ts` (159 lines) — Gap Detector / Need Engine / Knowledge Inventory / Learning Queue (Self-Evolving OS Phase 3 — 성장 루프 코어) 테스트.
- `tests/projectScaffolder.test.ts` (135 lines) — Unit tests for FileSystemProjectScaffolder. Drives against a real temp directory so end-to-end file IO + path-traversal defenses are exercised.
- `tests/requirementGraph.test.ts` (126 lines) — Requirement Graph (Self-Evolving OS Phase 1 / Track 2-1) 단위 테스트. 순수 함수만 검증 — vscode 의존 없음.
- `tests/researchSkill.test.ts` (122 lines) — Research Agent / Skill Score / Success Pattern DB (Self-Evolving OS Phase 6) 테스트.
- `tests/resilience_stress.test.ts` (197 lines) — Resilience & Boundary Stress Test Suite (v2.77.3) 이 테스트는 ConnectAI 엔진이 극한의 환경(인증 실패, 네트워크 차단, 타임아웃 등)에서 얼마나 안정적으로 복구되고, 신뢰성 지표(Resilience Metrics)를 정확히 기록하는지 검증합니다.
- `tests/skillInjectionService.test.ts` (172 lines) — Unit tests for FileSystemSkillInjectionService. Strategy: drive the service against a real temp directory so path-traversal defenses and writeFileSync paths are exercised end-to-end. The service accep
- `tests/stocksCriteria.test.ts` (129 lines) — criteriaEval — /stocks judge 결정론 평가기 테스트. 픽스처는 옛 LLM 프롬프트에 명시돼 있던 사용자의 실제 분류 예시 3종 (마녀공장/기가비스/엔켐) — 코드 판정이 사용자 패턴과 일치해야 한다.
- `tests/conflictCheck.test.ts` (63 lines) — Schedule Conflict Check (Self-Evolving OS Track 6-2/6-3) 테스트.
- `tests/dataProcessor.test.ts` (87 lines) — / <reference types="jest" />
- `tests/findBrainFilesCache.test.ts` (80 lines) — Unit tests for findBrainFiles TTL cache.
- `tests/integration/mockLLMClient.test.ts` (86 lines) — MockLLMClient 자체의 sanity test. 이게 통과하면 dispatcher / ceoPlanner / ChunkedWriter 등 IAIService 를 받는 코드가 실제 LLM 없이 단위 / integration 테스트 가능. 향후 dispatcher 의 multi-stage flow 같은 큰 integration 테스트는 이 mock 을
- `tests/officeSchema.test.ts` (241 lines)
- `tests/paths.test.ts` (84 lines) — Unit tests for the centralized path resolver.
- `tests/systemSpecs.test.ts` (90 lines) — Unit tests for SystemSpecs + HeuristicModelMemoryEstimator. Strategy: - HeuristicModelMemoryEstimator is pure — directly drive it with model ids. - NodeSystemSpecsProvider depends on os. so we test: a
- `tests/transaction.test.ts` (68 lines) — / <reference types="jest" />
- `tests/vulnerability.test.ts` (60 lines) — / <reference types="jest" />
- `tests/brainIndex.test.ts` (107 lines)
- `tests/calendarApi.test.ts` (131 lines)
- `tests/contextManager.test.ts` (149 lines)
- `tests/icsParser.test.ts` (134 lines)
- `tests/lessonHelpers.test.ts` (191 lines)
- `tests/projectChronicle.test.ts` (199 lines)
### `core_py/` — 6 files, ~409 lines
@@ -165,17 +165,18 @@ flowchart LR
- `core_py/optimizer.py` (55 lines)
- `core_py/queue_worker.py` (82 lines)
### `docs/` — 112 files, ~3,927 lines
### `docs/` — 114 files, ~4,223 lines
**Sub-directories**
- `docs/records/` (99) — Bug: /Volumes/Data/project/Antigravity/ConnectAI 프로젝트 코드 리뷰 해줄 수 있어? 개선할 부분이 있는지, 그러고...
- `docs/records/` (100) — Bug: /Volumes/Data/project/Antigravity/ConnectAI 프로젝트 코드 리뷰 해줄 수 있어? 개선할 부분이 있는지, 그러고...
- `docs/docs/` (5) — Bug: Viewed integrationretrieval.test.ts:1-59 integrationretrieval.test.ts를 통해 ...
- `docs/Meeting/` (0)
**Key files**
- `docs/TELEGRAM_REMOTE_EXECUTION_PLAN.md` (452 lines) — Telegram Remote Execution 기획서
- `docs/AgentEngine_Architecture.md` (314 lines) — AgentEngine Architecture Document
- `docs/records/ConnectAI/timeline.md` (248 lines) — Project Timeline
- `docs/records/ConnectAI/timeline.md` (251 lines) — Project Timeline
- `docs/SELF_EVOLVING_OS_MASTER_PLAN.md` (274 lines) — ASTRA Self-Evolving Digital Employee OS — 마스터 개발 계획 v1.1
- `docs/ASTRA_OFFICE_REFACTOR.md` (198 lines) — Astra Office Refactor — Design Doc
- `docs/EXPERIENCE_MEMORY_PLAN.md` (122 lines) — Experience Memory (Mistake / Lesson Loop) — Implementation Plan
- `docs/records/ConnectAI/development/2026-05-02_connectai_project_knowledge_overview.md` (121 lines) — Astra Project Knowledge Overview
@@ -197,14 +198,18 @@ flowchart LR
- `docs/records/ConnectAI/bugs/BUG-0008-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md` (16 lines) — Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...
- `docs/records/ConnectAI/bugs/BUG-0009-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md` (16 lines) — Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...
- `docs/records/ConnectAI/bugs/BUG-0010-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md` (16 lines) — Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...
- `docs/records/ConnectAI/bugs/BUG-0011-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md` (16 lines) — Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...
## VS Code Extension Surface
- **Extension ID**: `g1nation.astra`
- **Activation events**: `onStartupFinished`
- **Commands** (31):
- **Commands** (36):
- `g1nation.newChat` — Astra: New Chat
- `g1nation.eval.retrieval` — Astra: 검색 평가 실행 (recall@k / MRR)
- `g1nation.eval.tasks` — Astra: 업무 평가 실행 (회의록 골든셋)
- `g1nation.growth.report` — Astra: 성장 리포트 (Reflection 추이)
- `g1nation.growth.learningQueue` — Astra: 학습 큐 갱신 (Need Engine)
- `g1nation.knowledge.decayAudit` — Astra: 지식 노후 점검 (Knowledge Decay)
- `g1nation.research.runQueue` — Astra: 학습 실행 (Research Agent — 승인된 큐 항목)
- `g1nation.embeddings.backfill` — Astra: 두뇌 임베딩 전체 색인
- `g1nation.exportChat` — Astra: Export Chat as Markdown
- `g1nation.explainSelection` — Astra: Explain Selected Code
@@ -234,7 +239,7 @@ flowchart LR
- `g1nation.calendar.refresh` — Astra: Google Calendar 새로고침 📅
- `g1nation.calendar.connectOAuth` — Astra: Google Calendar OAuth 연결 (쓰기) 🔐
- `g1nation.devilAgent.toggle` — Astra: Toggle Devil Agent 🎭
- **Configuration** (129 settings):
- **Configuration** (138 settings):
- `g1nation.multiAgentEnabled` *(boolean)* _(default: `false`)_ — Enable Multi-Agent Workflow (Planner -> Researcher -> Writer) for complex tasks.
- `g1nation.datacollectBridgeTarget` *(string)* _(default: `"local"`)_
- `g1nation.datacollectBridgeUrl` *(string)* _(default: `"http://127.0.0.1:3002"`)_ — [local 타깃] Wiki/Datacollect MCP Bridge URL. /benchmark, /youtube, /wikify chat slash commands route here. The Bridge must be running (`npm run bridge` in the Datacollect project).
@@ -247,6 +252,7 @@ flowchart LR
- `g1nation.chatTemperature` *(number)* _(default: `0.3`)_
- `g1nation.meetUsesTasks` *(boolean)* _(default: `true`)_
- `g1nation.meetUsesCalendar` *(boolean)* _(default: `false`)_
- `g1nation.meetVerifyPass` *(boolean)* _(default: `false`)_
- `g1nation.teamVoiceGuide` *(string)* _(default: `""`)_
- `g1nation.memoryEnabled` *(boolean)* _(default: `true`)_ — Enable layered memory injection before each model response.
- `g1nation.memoryShortTermMessages` *(number)* _(default: `8`)_ — Number of recent conversation messages included as short-term memory.
@@ -294,8 +300,7 @@ flowchart LR
- `g1nation.skillKnowledgeMapPath` *(string)* _(default: `""`)_ — Absolute path to the agent ↔ knowledge mapping JSON. When empty, defaults to '<workspace>/.astra/agent-knowledge-map.json'.
- `g1nation.skillKnowledgeMap` *(object)* _(default: `{}`)_ — Inline fallback for the agent ↔ knowledge mapping. Used only when the JSON file is missing. Shape: { defaultAgent?, agents: [{ name, knowledgeFolders, model?, description? }] }. Folder paths can be ab
- `g1nation.agentSkillsPath` *(string)* _(default: `""`)_ — Absolute path to the agent skills folder (`.agent/skills/*.md`). When empty, defaults to '<workspace>/.agent/skills'. Use this on Windows or when your skills live outside the workspace.
- `g1nation.embeddingModel` *(string)* _(default: `""`)_ — Embedding model registered in LM Studio / Ollama (e.g. 'text-embedding-bge-small-en-v1.5', 'nomic-embed-text', 'multilingual-e5-small'). When empty, Astra uses TF-IDF only. When set, the brain is embe
- _…and 69 more_
- _…and 78 more_
## Dependencies
- **Runtime** (2): `@lmstudio/sdk`, `pdf-parse`
@@ -343,7 +348,7 @@ Astra는 대표님의 명시적인 승인 하에 로컬 시스템의 강력한
**Designed for High-Performance Decision Making.**
Copyright (C) **g1nation**. All rights reserved.
_Last auto-scan: 2026-06-09T02:20:50.409Z · signature `18ddda74`_
_Last auto-scan: 2026-06-11T04:29:35.678Z · signature `84d17da6`_
<!-- ASTRA:AUTO-END -->
## Purpose
+343 -61
View File
@@ -1,6 +1,6 @@
{
"version": 1,
"generatedAt": "2026-06-09T02:20:50.597Z",
"generatedAt": "2026-06-11T04:29:35.747Z",
"files": {
"src/agent/actions/brainOps.ts": {
"mtimeMs": 1779764602582.9768,
@@ -14,14 +14,15 @@
]
},
"src/agent/actions/calendar.ts": {
"mtimeMs": 1779764602583.981,
"size": 2264,
"lines": 43,
"mtimeMs": 1781152132419.819,
"size": 3755,
"lines": 66,
"role": "",
"imports": [
"src/agent/actions/types",
"src/agent/attrParsers",
"src/features/calendar"
"src/features/calendar",
"src/features/calendar/conflictCheck"
]
},
"src/agent/actions/fileCreateEdit.ts": {
@@ -100,9 +101,9 @@
]
},
"src/agent/attrParsers.ts": {
"mtimeMs": 1779764602587.8208,
"size": 4724,
"lines": 116,
"mtimeMs": 1781152115192.5432,
"size": 4985,
"lines": 121,
"role": "",
"imports": [
"src/features/tasks",
@@ -299,24 +300,33 @@
]
},
"src/agent/postAnswerHooks/index.ts": {
"mtimeMs": 1780278997000.157,
"size": 3900,
"lines": 96,
"mtimeMs": 1781147845848.1248,
"size": 11486,
"lines": 243,
"role": "Post-answer hook registry — 답변 완료 후 실행되는 부가 작업 모음. 새 hook 추가 = 1 객체 push. agent.ts 는 이 배열을 iterate 만 함. 현재 등록 순서 (v2.2.197): 1. devilRebuttal — Devil Agent 반박 카드 (비활성 시 silent skip) 2. postHocSelfChec",
"imports": [
"src/agent/postAnswerHooks/types",
"src/agent/llm/devilRebuttal",
"src/agent/postHocSelfCheck",
"src/agent/termValidator",
"src/intelligence/requirementGraph",
"src/intelligence/confidenceEngine",
"src/intelligence/escalationEngine",
"src/intelligence/criticAgent",
"src/intelligence/reflectionStore",
"src/intelligence/gapDetector",
"src/intelligence/skillScore",
"src/config"
]
},
"src/agent/postAnswerHooks/types.ts": {
"mtimeMs": 1780278967597.8257,
"size": 2001,
"lines": 48,
"mtimeMs": 1781144501440.8574,
"size": 2345,
"lines": 52,
"role": "Post-Answer Hook 인터페이스 — 답변 streaming 완료 후 실행되는 부가 작업. 옛 구조: agent.ts 의 maybeEmitDevilRebuttal, maybePostHocSelfCheck, maybeRunTermValidator 3개 private method. 새 hook 추가 시 (1) method 정의 (2) import (3)",
"imports": []
"imports": [
"src/intelligence/confidenceEngine"
]
},
"src/agent/postHocSelfCheck.ts": {
"mtimeMs": 1780033021215.5054,
@@ -346,9 +356,9 @@
]
},
"src/agent.ts": {
"mtimeMs": 1780278886140.8762,
"size": 81193,
"lines": 1503,
"mtimeMs": 1781144502524.7754,
"size": 81710,
"lines": 1514,
"role": "",
"imports": [
"src/utils",
@@ -422,6 +432,7 @@
"src/agent/postAnswerHooks",
"src/agent/handlePrompt/applyAutoContinuation",
"src/features/approval/approvalQueue",
"src/intelligence/confidenceEngine",
"src/features/providers",
"src/features/selfReflector/selfReflectorExecution",
"src/features/selfReflector/selfReflectorHollow"
@@ -462,9 +473,9 @@
]
},
"src/config.ts": {
"mtimeMs": 1780910530256.6797,
"size": 32937,
"lines": 585,
"mtimeMs": 1781147453907.465,
"size": 35924,
"lines": 637,
"role": "",
"imports": []
},
@@ -648,9 +659,9 @@
]
},
"src/extension/evalCommands.ts": {
"mtimeMs": 1780913394558.156,
"size": 12681,
"lines": 228,
"mtimeMs": 1781147900732.2805,
"size": 29561,
"lines": 521,
"role": "",
"imports": [
"src/config",
@@ -658,7 +669,18 @@
"src/retrieval",
"src/retrieval/brainIndex",
"src/retrieval/embeddings",
"src/retrieval/evalHarness"
"src/retrieval/evalHarness",
"src/intelligence/taskEvalHarness",
"src/intelligence/requirementGraph",
"src/intelligence/epistemicGuardBlock",
"src/intelligence/llmCall",
"src/intelligence/reflectionStore",
"src/intelligence/needEngine",
"src/intelligence/knowledgeDecay",
"src/intelligence/skillScore",
"src/intelligence/researchAgent",
"src/intelligence/knowledgeValidation",
"src/intelligence/learningQueue"
]
},
"src/extension/initialSetup.ts": {
@@ -889,14 +911,21 @@
]
},
"src/features/calendar/calendarCache.ts": {
"mtimeMs": 1779065453870.9949,
"size": 12065,
"lines": 241,
"mtimeMs": 1781152082335.483,
"size": 13392,
"lines": 271,
"role": "Google Calendar (iCal) 캐시 — fetch + parse + 회사 shared/calendarcache.md 에 저장. Connectorigin 의 googlecalendar.py 를 TypeScript / native fetch 로 옮김. OAuth 없음. 사용자가 Google Calendar 설정 → \"비공개 주소(iCal 형식)\" 복",
"imports": [
"src/features/calendar/icsParser"
]
},
"src/features/calendar/conflictCheck.ts": {
"mtimeMs": 1781152051164.7207,
"size": 3481,
"lines": 81,
"role": "Schedule Conflict Check — 일정 생성 전 기존 일정과의 겹침 감지. Self-Evolving OS 마스터 플랜 병렬 트랙 6-2 + 6-3. Requirement Graph 의 일정 필수 요소 \"충돌 확인\" 과 Constitution \"승인 없는 외부 액션 금지\" 의 실행 계층: - 에이전트가 <createcalendarevent> 로 ",
"imports": []
},
"src/features/calendar/icsParser.ts": {
"mtimeMs": 1779065453870.9949,
"size": 4937,
@@ -905,13 +934,14 @@
"imports": []
},
"src/features/calendar/index.ts": {
"mtimeMs": 1779879082214.362,
"size": 711,
"lines": 40,
"mtimeMs": 1781152148411.5476,
"size": 877,
"lines": 48,
"role": "",
"imports": [
"src/features/calendar/icsParser",
"src/features/calendar/calendarCache",
"src/features/calendar/conflictCheck",
"src/features/calendar/oauth",
"src/features/calendar/calendarApi",
"src/features/calendar/tasksApi"
@@ -1172,9 +1202,9 @@
"imports": []
},
"src/features/datacollect/handlers.ts": {
"mtimeMs": 1780624678671.3047,
"size": 35540,
"lines": 666,
"mtimeMs": 1781084265385.7295,
"size": 39566,
"lines": 724,
"role": "Datacollect handlers — /benchmark · /youtube · /blog · /wikify · /meet. (/research(NotebookLM)는 v2.2.205 에서 제거 — 로컬 Datacollect 앱 전용으로 분리) v2.2.201 에서 slashRouter.ts 에서 분리. Datacollect bridge (port 30",
"imports": [
"src/features/datacollect/slashRouter",
@@ -1198,9 +1228,9 @@
]
},
"src/features/datacollect/prompts/meetPrompt.ts": {
"mtimeMs": 1780626429387.7917,
"size": 7379,
"lines": 95,
"mtimeMs": 1781084257519.8074,
"size": 12477,
"lines": 194,
"role": "회의 녹취 텍스트 → 사실 기반 구조화 회의록(Actionable Minutes) LLM 프롬프트. 사용자 정의 규칙: Fact/Discussion/Decision/Risk/Action 분류, 메타데이터 우선.",
"imports": []
},
@@ -1540,6 +1570,16 @@
"src/features/calendar/calendarApi"
]
},
"src/features/stocks/criteriaEval.ts": {
"mtimeMs": 1781086243443.0957,
"size": 12293,
"lines": 209,
"role": "/stocks judge 의 결정론적 기준 평가기. 기존에는 \"유보율: 5,800%\" 같은 문자열 파싱과 임계값 비교(ROE ≥ 10% 등)까지 전부 LLM 에게 맡겼는데, 로컬 소형 모델은 콤마 숫자 파싱·다중 기준 동시 비교에서 자주 틀린다. 수치 기준은 코드로 100% 정확하게 계산하고, LLM 은 ① '기술력' 도메인 정성 판단(키워드 매칭이 모호할",
"imports": [
"src/features/stocks/types",
"src/features/stocks/naverFundamentals"
]
},
"src/features/stocks/discoveryAnalyzer.ts": {
"mtimeMs": 1779764602625.2075,
"size": 10526,
@@ -1564,21 +1604,22 @@
]
},
"src/features/stocks/llmJudge.ts": {
"mtimeMs": 1779764602626.2107,
"size": 7011,
"lines": 127,
"mtimeMs": 1781084049810.22,
"size": 6072,
"lines": 125,
"role": "",
"imports": [
"src/core/services",
"src/utils",
"src/features/stocks/stocksStore",
"src/features/stocks/types"
"src/features/stocks/criteriaEval",
"src/features/stocks/naverFundamentals"
]
},
"src/features/stocks/naverFundamentals.ts": {
"mtimeMs": 1779764602626.2107,
"size": 7238,
"lines": 161,
"mtimeMs": 1781086142605.6724,
"size": 8323,
"lines": 178,
"role": "",
"imports": [
"src/utils"
@@ -1616,9 +1657,9 @@
]
},
"src/features/stocks/slashStocks.ts": {
"mtimeMs": 1779857133519.0603,
"size": 33999,
"lines": 621,
"mtimeMs": 1781084110909.264,
"size": 34650,
"lines": 629,
"role": "",
"imports": [
"src/utils",
@@ -1874,6 +1915,137 @@
"role": "Subset of the Telegram Bot API types we actually consume. Source: https://core.telegram.org/bots/api Only fields the bot reads or writes are typed — leaving the rest as unknown keeps the surface narro",
"imports": []
},
"src/intelligence/confidenceEngine.ts": {
"mtimeMs": 1781142298902.0667,
"size": 6993,
"lines": 165,
"role": "Confidence Engine — 답변 확신도 0~100 결정론적 산출. Self-Evolving OS 마스터 플랜 Phase 2 / Track 1-1. 신뢰 조건 T4 \"확신이 없으면 사람에게 묻는다\" 의 측정 기반 — Escalation Engine 의 입력. 설계 원칙 (termValidator 와 동일): LLM 호출 없음. 검색 그라운딩 신호(턴",
"imports": []
},
"src/intelligence/criticAgent.ts": {
"mtimeMs": 1781144246295.8977,
"size": 7294,
"lines": 174,
"role": "Critic Agent + Debate Loop (v1) — 제출된 업무 산출물의 LLM 검수. Self-Evolving OS 마스터 플랜 Phase 1 / Track 2-3. 신뢰 조건 T3 의 LLM 계층: Requirement Coverage(결정론적, 정규식) 가 \"요소가 언급 됐는가\" 만 보면, Critic 은 \"내용이 충실 한가 + 결정/미결 구",
"imports": [
"src/intelligence/requirementGraph"
]
},
"src/intelligence/epistemicGuardBlock.ts": {
"mtimeMs": 1781142349593.672,
"size": 2559,
"lines": 45,
"role": "Epistemic Guard — 모름/추정/확실 3분류 강제 시스템 프롬프트 블록. Self-Evolving OS 마스터 플랜 Phase 2 / Track 1-3 (Anti-Hallucination Layer). 신뢰 조건 T1 \"모르면 모른다고 말한다\" 담당. CoVe(coveBlock) 와의 분업: - CoVe: 검색 출처가 있을 때 주장-출처 매핑을 ",
"imports": []
},
"src/intelligence/escalationEngine.ts": {
"mtimeMs": 1781142325031.3643,
"size": 3501,
"lines": 74,
"role": "Escalation Engine — 인간 개입 필요성 판단. Self-Evolving OS 마스터 플랜 Phase 2 / Track 1-2. 신뢰 조건 T4 의 행동 부분: Confidence Engine 이 \"얼마나 확실한가\" 를 재면, 이 모듈은 \"그래서 사람에게 물어야 하는가\" 를 결정한다. 설계서 13장 조건: 확신도 낮음 / 영향도 높음 / 정보 ",
"imports": [
"src/intelligence/confidenceEngine",
"src/intelligence/requirementGraph"
]
},
"src/intelligence/gapDetector.ts": {
"mtimeMs": 1781146607158.5022,
"size": 3135,
"lines": 73,
"role": "Gap Detector — Gap = Requirement Knowledge (설계서 7.4). Self-Evolving OS 마스터 플랜 Phase 3 / Track 3-2. 업무 turn 마다 \"필요한 것\" (Requirement Graph 의 필수 요소)과 \"가진 것\"(검색 그라운딩 + 산출물 커버리지)을 비교해 부족 지식·영향도·긴급도를 산출한다",
"imports": [
"src/intelligence/requirementGraph",
"src/intelligence/confidenceEngine"
]
},
"src/intelligence/knowledgeDecay.ts": {
"mtimeMs": 1781147140600.4475,
"size": 5151,
"lines": 110,
"role": "Knowledge Decay — 지식 노후 감쇠 점검 (설계서 10장, \"인간처럼 잊어버리는 기능\"). Self-Evolving OS 마스터 플랜 Phase 4 / Track 4-3. 분야별 반감기로 지식의 신선도 계수를 계산하고, 노후 지식을 보고서로 노출한다. v1 은 비침습적 감사 — 검색 랭킹은 건드리지 않는다. RAG 평가 하니스로 튜닝된 검색 경",
"imports": []
},
"src/intelligence/knowledgeValidation.ts": {
"mtimeMs": 1781147318275.7917,
"size": 6473,
"lines": 168,
"role": "Knowledge Validation + Belief Revision — 지식 저장 전 검증 (설계서 10장). Self-Evolving OS 마스터 플랜 Phase 4 / Track 4-1 + 4-2. 새 지식 후보를 기존 지식과 비교해 수용/검토/거부를 판정하고, 충돌 시 Add/Update/Retire 권고를 만든다. Constitution 준수: 이",
"imports": []
},
"src/intelligence/learningQueue.ts": {
"mtimeMs": 1781146722080.366,
"size": 4962,
"lines": 118,
"role": "Learning Queue — 승인 기반 학습 대기열 (설계서 9장). Self-Evolving OS 마스터 플랜 Phase 3 / Track 3-5. Need Engine 의 우선순위를 사람이 승인 가능한 큐로 영속화한다. Constitution 준수 (Track 8-2, Permission Based Learning): - 시스템은 항목을 propose",
"imports": [
"src/intelligence/needEngine"
]
},
"src/intelligence/llmCall.ts": {
"mtimeMs": 1781144318025.0918,
"size": 2099,
"lines": 52,
"role": "단순 non-streaming LLM 호출 — Ollama / LM Studio(OpenAI 호환) 듀얼 엔드포인트. postHocSelfCheck 의 호출 패턴을 재사용 가능한 헬퍼로 분리. 평가 하니스·Critic 등 AgentExecutor 밖에서 LLM 1회 호출이 필요한 곳이 사용한다 (확장 명령 등). agent turn 내부에서는 agent.t",
"imports": []
},
"src/intelligence/needEngine.ts": {
"mtimeMs": 1781147322252.6475,
"size": 9219,
"lines": 220,
"role": "Need Engine — 학습 필요성 산출 (설계서 7.6) + Knowledge Inventory v1 (7.3). Self-Evolving OS 마스터 플랜 Phase 3 / Track 3-3 + 3-1. Reflection 기록을 집계해 \"무엇을 먼저 배워야 하는가\" 를 점수로 산출한다 — 성장 루프의 두뇌. Need Score (설계서 공식, 0~1",
"imports": [
"src/intelligence/reflectionStore"
]
},
"src/intelligence/orgMemoryBlock.ts": {
"mtimeMs": 1781147430047.9055,
"size": 2750,
"lines": 68,
"role": "Organizational Memory — 조직 규칙·프로세스·선호 방식 시스템 프롬프트 블록. Self-Evolving OS 마스터 플랜 Phase 5 / Track 5-2 (설계서 11장 Organizational Memory). \"이 회사는 속도 우선, 완벽주의 지양\" 류의 조직 문화·업무 방식을 모든 업무 turn 에 주입한다. Terminology",
"imports": []
},
"src/intelligence/reflectionStore.ts": {
"mtimeMs": 1781146621996.6653,
"size": 6906,
"lines": 162,
"role": "Reflection Store — 업무 turn 회고 기록 + Failure Pattern 집계. Self-Evolving OS 마스터 플랜 Phase 1 / Track 2-4 (Reflection Engine v1) + Phase 3 / Track 3-6 (Failure Pattern DB v1 시드). 신뢰 조건 T5 \"같은 실수를 반복하지 않는다\" 의",
"imports": []
},
"src/intelligence/requirementGraph.ts": {
"mtimeMs": 1781144397584.8677,
"size": 12495,
"lines": 273,
"role": "Requirement Graph — 업무 유형별 필수 요소 정의 + 감지 + 커버리지 검사. Self-Evolving Digital Employee OS 마스터 플랜(docs/SELFEVOLVINGOSMASTERPLAN.md) Phase 1 / Track 2-1. 신뢰 조건 T3 \"품질이 일관적이다 — 필수 요소 누락 없음\" 담당. 동작 2단계: 1. In",
"imports": []
},
"src/intelligence/researchAgent.ts": {
"mtimeMs": 1781147776688.333,
"size": 7355,
"lines": 153,
"role": "Research Agent — 학습 큐 approved 항목의 조사 실행 (설계서 9장). Self-Evolving OS 마스터 플랜 Phase 6 / Track 7-1. 학습 루프의 마지막 구간: Need Engine → Learning Queue(approved) → Research Agent → Validation 게이트 → 저장 제안 v1 은 \"조사",
"imports": [
"src/intelligence/learningQueue",
"src/intelligence/knowledgeValidation"
]
},
"src/intelligence/skillScore.ts": {
"mtimeMs": 1781147811826.0857,
"size": 6870,
"lines": 168,
"role": "Skill Score + Success Pattern DB — 역량 점수와 성공 사례 축적 (설계서 12장). Self-Evolving OS 마스터 플랜 Phase 6 / Track 7-3 + 7-4. Skill Score (0~100, 업무 유형 단위 v1): 최근 N건 reflection 의 (확신도 50% + 요소 충족률 30% + 비에스컬레이션율 2",
"imports": [
"src/intelligence/reflectionStore"
]
},
"src/intelligence/taskEvalHarness.ts": {
"mtimeMs": 1781144360998.8086,
"size": 7942,
"lines": 185,
"role": "Task Eval Harness — 업무 산출물 골든셋 자동 채점 (Self Evaluation v1). Self-Evolving OS 마스터 플랜 Phase 3 / Track 3-4. \"성장세를 숫자로 증명\" 의 핵심: 같은 골든셋을 버전마다 돌려 점수 추이를 비교한다 (검색 평가 하니스가 recall@1 37.5%→75% 를 증명한 것과 같은 방법론을 ",
"imports": [
"src/intelligence/requirementGraph"
]
},
"src/lib/contextBuilders/astraModeArchitecture.ts": {
"mtimeMs": 1779764602634.5583,
"size": 3982,
@@ -1960,9 +2132,9 @@
]
},
"src/lib/contextBuilders/memoryContext.ts": {
"mtimeMs": 1780911285246.217,
"size": 17357,
"lines": 331,
"mtimeMs": 1781147441753.4504,
"size": 20436,
"lines": 381,
"role": "",
"imports": [
"src/agent",
@@ -1981,7 +2153,12 @@
"src/retrieval/semanticRerank",
"src/retrieval/intentClarification",
"src/retrieval/citationTrace",
"src/retrieval/terminologyBlock"
"src/retrieval/terminologyBlock",
"src/intelligence/requirementGraph",
"src/intelligence/epistemicGuardBlock",
"src/intelligence/reflectionStore",
"src/intelligence/orgMemoryBlock",
"src/intelligence/confidenceEngine"
]
},
"src/lib/contextBuilders/modelCandidates.ts": {
@@ -2310,9 +2487,9 @@
"imports": []
},
"src/retrieval/citationTrace.ts": {
"mtimeMs": 1780032397612.986,
"size": 2348,
"lines": 49,
"mtimeMs": 1781142381872.4841,
"size": 4887,
"lines": 102,
"role": "Citation Trace — 답변 끝 에 \"출처:\" 한 줄 명시 지시. CoVe Strict 모드 (v2.2.184) 와 차이: - CoVe Strict: 모든 사실 주장 뒤에 inline [S1] 인용 강제 — verbose, 학술적 - Citation Trace: 답변 끝에 사용된 출처 한 줄 정리 — 가벼움, 항상 ON 권장 둘은 함께 동작 가능. ",
"imports": [
"src/retrieval/types"
@@ -3013,6 +3190,29 @@
"src/agent"
]
},
"tests/confidenceEngine.test.ts": {
"mtimeMs": 1781142599349.454,
"size": 7643,
"lines": 175,
"role": "Confidence Engine + Escalation Engine (Self-Evolving OS Phase 2) 단위 테스트. 순수 함수만 검증 — vscode 의존 없음.",
"imports": [
"src/intelligence/confidenceEngine",
"src/intelligence/escalationEngine",
"src/intelligence/epistemicGuardBlock",
"src/retrieval/citationTrace",
"src/retrieval/types"
]
},
"tests/conflictCheck.test.ts": {
"mtimeMs": 1781152169364.555,
"size": 2794,
"lines": 63,
"role": "Schedule Conflict Check (Self-Evolving OS Track 6-2/6-3) 테스트.",
"imports": [
"src/features/calendar/conflictCheck",
"src/agent/attrParsers"
]
},
"tests/contextManager.test.ts": {
"mtimeMs": 1779764602681.109,
"size": 7904,
@@ -3022,6 +3222,18 @@
"src/lib/contextManager"
]
},
"tests/criticReflectionEval.test.ts": {
"mtimeMs": 1781144662610.272,
"size": 8327,
"lines": 200,
"role": "Critic Agent / Reflection Store / Task Eval Harness (Self-Evolving OS P1 잔여 + P3) 테스트.",
"imports": [
"src/intelligence/criticAgent",
"src/intelligence/reflectionStore",
"src/intelligence/taskEvalHarness",
"src/intelligence/requirementGraph"
]
},
"tests/dataProcessor.test.ts": {
"mtimeMs": 1778028987448.8394,
"size": 3517,
@@ -3086,6 +3298,19 @@
"src/utils"
]
},
"tests/knowledgeOps.test.ts": {
"mtimeMs": 1781147477013.794,
"size": 8035,
"lines": 174,
"role": "Knowledge Validation / Belief Revision / Decay / Debt (Self-Evolving OS Phase 4 — 지식 운영) 테스트.",
"imports": [
"src/intelligence/knowledgeValidation",
"src/intelligence/knowledgeDecay",
"src/intelligence/needEngine",
"src/intelligence/reflectionStore",
"src/intelligence/orgMemoryBlock"
]
},
"tests/lessonHelpers.test.ts": {
"mtimeMs": 1778664139972.9592,
"size": 9591,
@@ -3096,9 +3321,9 @@
]
},
"tests/lmStudioLifecycle.test.ts": {
"mtimeMs": 1779764602684.1619,
"size": 11865,
"lines": 326,
"mtimeMs": 1780971798141.8428,
"size": 12218,
"lines": 330,
"role": "Unit tests for ModelLifecycleManager. Strategy: inject mock ILMStudioClient and a simple in-memory IActivityTracker. No real LM Studio or SDK is touched — the manager file does not import the SDK dire",
"imports": [
"src/lmstudio/lifecycleManager",
@@ -3142,6 +3367,18 @@
"role": "",
"imports": []
},
"tests/needEngineQueue.test.ts": {
"mtimeMs": 1781146804618.2693,
"size": 7123,
"lines": 159,
"role": "Gap Detector / Need Engine / Knowledge Inventory / Learning Queue (Self-Evolving OS Phase 3 — 성장 루프 코어) 테스트.",
"imports": [
"src/intelligence/gapDetector",
"src/intelligence/needEngine",
"src/intelligence/learningQueue",
"src/intelligence/reflectionStore"
]
},
"tests/officeSchema.test.ts": {
"mtimeMs": 1779065453896.7021,
"size": 10125,
@@ -3208,6 +3445,27 @@
"src/features/providers/streamHelpers"
]
},
"tests/requirementGraph.test.ts": {
"mtimeMs": 1781140474254.644,
"size": 5535,
"lines": 126,
"role": "Requirement Graph (Self-Evolving OS Phase 1 / Track 2-1) 단위 테스트. 순수 함수만 검증 — vscode 의존 없음.",
"imports": [
"src/intelligence/requirementGraph"
]
},
"tests/researchSkill.test.ts": {
"mtimeMs": 1781147950430.0676,
"size": 5860,
"lines": 122,
"role": "Research Agent / Skill Score / Success Pattern DB (Self-Evolving OS Phase 6) 테스트.",
"imports": [
"src/intelligence/researchAgent",
"src/intelligence/skillScore",
"src/intelligence/learningQueue",
"src/intelligence/reflectionStore"
]
},
"tests/resilience_stress.test.ts": {
"mtimeMs": 1779764602686.1758,
"size": 8610,
@@ -3273,6 +3531,16 @@
"src/skills/skillInjectionService"
]
},
"tests/stocksCriteria.test.ts": {
"mtimeMs": 1781086406001.8665,
"size": 7191,
"lines": 129,
"role": "criteriaEval — /stocks judge 결정론 평가기 테스트. 픽스처는 옛 LLM 프롬프트에 명시돼 있던 사용자의 실제 분류 예시 3종 (마녀공장/기가비스/엔켐) — 코드 판정이 사용자 패턴과 일치해야 한다.",
"imports": [
"src/features/stocks/criteriaEval",
"src/features/stocks/types"
]
},
"tests/systemPrompt.test.ts": {
"mtimeMs": 1779764602687.5603,
"size": 1487,
@@ -3551,7 +3819,7 @@
"imports": []
},
"docs/records/ConnectAI/chronicle.config.json": {
"mtimeMs": 1780969084053.7776,
"mtimeMs": 1781146591626.768,
"size": 371,
"lines": 11,
"role": "JSON configuration",
@@ -3781,6 +4049,13 @@
"role": "ADR: 아래 프로젝트의 로직을 분석하고 어떻게 하면 astra가 더 정확하고, 정교하게 개선할 수 있는 부분이 있는지 검토해주고 의견을 주면 좋겠어. ...",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0033-e-wiki-connectai-지금-코드-개선-중인데-분석해주면-좋겠어-지금-너의-기능에서-어떠한-부분이-더.md": {
"mtimeMs": 1781146591614.5254,
"size": 1791,
"lines": 19,
"role": "ADR: E:\\Wiki\\connectai 지금 코드 개선 중인데 분석해주면 좋겠어. 지금 너의 기능에서 어떠한 부분이 더 개선이 되고 있는지. 어떠한 효...",
"imports": []
},
"docs/records/ConnectAI/development/2026-05-02_answer-format-readability-tuning.md": {
"mtimeMs": 1778028987330.4185,
"size": 1564,
@@ -4132,9 +4407,9 @@
"imports": []
},
"docs/records/ConnectAI/timeline.md": {
"mtimeMs": 1780914060076.0566,
"size": 15782,
"lines": 248,
"mtimeMs": 1781146591617.6985,
"size": 15976,
"lines": 251,
"role": "Project Timeline",
"imports": []
},
@@ -4145,6 +4420,13 @@
"role": "🛠️ ConnectAI 아키텍처 리팩토링 로드맵",
"imports": []
},
"docs/SELF_EVOLVING_OS_MASTER_PLAN.md": {
"mtimeMs": 1781151693182.0251,
"size": 21957,
"lines": 274,
"role": "ASTRA Self-Evolving Digital Employee OS — 마스터 개발 계획 v1.1",
"imports": []
},
"docs/TELEGRAM_REMOTE_EXECUTION_PLAN.md": {
"mtimeMs": 1778664139927.3354,
"size": 12706,
@@ -1,5 +1,5 @@
{
"result": "직답 결과 — single-pass mock 응답입니다.",
"createdAt": 1781085022765,
"createdAt": 1781152586601,
"modelVersion": "unknown"
}
@@ -1,5 +1,5 @@
{
"result": "---\nid: wiki_on\ndate: 2026-06-10T09:50:22.767Z\ntype: knowledge_artifact\nstandard: P-Reinforce v3.0\ntags: [automated, connect_ai, brain_sync]\n---\n\n## 📌 Brief Summary\n직답 결과 — single-pass mock 응답입니다.\n\n직답 결과 — single-pass mock 응답입니다.\n---\n## 🛡️ Reliability & Audit Summary\n> [!NOTE]\n> 이 문서는 ConnectAI의 **Intelligent Resilience** 엔진에 의해 검증 및 정제되었습니다.\n\n| Metric | Value | Status |\n| :--- | :--- | :--- |\n| **Conflict Risk** | `0/100` | ✅ Low |\n| **Fallbacks Used** | `0` | ✅ None |\n| **Auto Retries** | `0` | ✅ Stable |\n| **Deduplication** | `0` | Standard |\n| **Processing Time** | `0.0s` | ✅ Fast |\n\n### 🔍 Decision Audit Trail\n- **[DIRECT]** 답변 작성 중... (단일 호출 fast-path) (20ms)\n",
"createdAt": 1781085022767,
"result": "---\nid: wiki_on\ndate: 2026-06-11T04:36:26.603Z\ntype: knowledge_artifact\nstandard: P-Reinforce v3.0\ntags: [automated, connect_ai, brain_sync]\n---\n\n## 📌 Brief Summary\n직답 결과 — single-pass mock 응답입니다.\n\n직답 결과 — single-pass mock 응답입니다.\n---\n## 🛡️ Reliability & Audit Summary\n> [!NOTE]\n> 이 문서는 ConnectAI의 **Intelligent Resilience** 엔진에 의해 검증 및 정제되었습니다.\n\n| Metric | Value | Status |\n| :--- | :--- | :--- |\n| **Conflict Risk** | `0/100` | ✅ Low |\n| **Fallbacks Used** | `0` | ✅ None |\n| **Auto Retries** | `0` | ✅ Stable |\n| **Deduplication** | `0` | Standard |\n| **Processing Time** | `0.0s` | ✅ Fast |\n\n### 🔍 Decision Audit Trail\n- **[DIRECT]** 답변 작성 중... (단일 호출 fast-path) (20ms)\n",
"createdAt": 1781152586603,
"modelVersion": "unknown"
}
@@ -1,7 +1,7 @@
{
"missionId": "wiki_on",
"status": "completed",
"startTime": "2026-06-10T09:50:22.743Z",
"startTime": "2026-06-11T04:36:26.579Z",
"totalElapsedMs": 25,
"results": {
"direct": "직답 결과 — single-pass mock 응답입니다."
@@ -14,14 +14,14 @@
"to": "direct",
"durationMs": 20,
"message": "답변 작성 중... (단일 호출 fast-path)",
"ts": "2026-06-10T09:50:22.763Z"
"ts": "2026-06-11T04:36:26.599Z"
},
{
"from": "direct",
"to": "completed",
"durationMs": 5,
"message": "미션 완료",
"ts": "2026-06-10T09:50:22.768Z"
"ts": "2026-06-11T04:36:26.604Z"
}
],
"resilienceMetrics": {
@@ -1,5 +1,5 @@
{
"result": "Final report with inconsistencies. This should be long enough to pass validation.",
"createdAt": 1781085029846,
"createdAt": 1781152593245,
"modelVersion": "unknown"
}
@@ -1,5 +1,5 @@
{
"result": "Final report with inconsistencies. This should be long enough to pass validation.",
"createdAt": 1781085029845,
"createdAt": 1781152593243,
"modelVersion": "unknown"
}
@@ -1,5 +1,5 @@
{
"result": "[{\"heading\":\"본문\",\"scope\":\"전체 답변\"}]",
"createdAt": 1781085029841,
"createdAt": 1781152593239,
"modelVersion": "unknown"
}
@@ -1,5 +1,5 @@
{
"result": "[CONFLICT WARNING] 성능이 200% 증가했습니다. vs 그러나 동시에 50% 감소했습니다. 최적화와 성능 저하가 동시에 발견됨.",
"createdAt": 1781085029843,
"createdAt": 1781152593241,
"modelVersion": "unknown"
}
@@ -1,8 +1,8 @@
{
"missionId": "stress_conflict_1781085029821",
"missionId": "stress_conflict_1781152593224",
"status": "completed",
"startTime": "2026-06-10T09:50:29.821Z",
"totalElapsedMs": 26,
"startTime": "2026-06-11T04:36:33.224Z",
"totalElapsedMs": 22,
"results": {
"outline": "[{\"heading\":\"본문\",\"scope\":\"전체 답변\"}]",
"section_0": "[CONFLICT WARNING] 성능이 200% 증가했습니다. vs 그러나 동시에 50% 감소했습니다. 최적화와 성능 저하가 동시에 발견됨.",
@@ -14,30 +14,30 @@
{
"from": "idle",
"to": "outline",
"durationMs": 19,
"durationMs": 13,
"message": "답변 구조 잡는 중...",
"ts": "2026-06-10T09:50:29.840Z"
"ts": "2026-06-11T04:36:33.237Z"
},
{
"from": "outline",
"to": "section",
"durationMs": 2,
"durationMs": 3,
"message": "본문 작성 중...",
"ts": "2026-06-10T09:50:29.842Z"
"ts": "2026-06-11T04:36:33.240Z"
},
{
"from": "section",
"to": "polish",
"durationMs": 2,
"message": "최종 다듬기 중...",
"ts": "2026-06-10T09:50:29.844Z"
"ts": "2026-06-11T04:36:33.242Z"
},
{
"from": "polish",
"to": "completed",
"durationMs": 2,
"durationMs": 3,
"message": "미션 완료",
"ts": "2026-06-10T09:50:29.846Z"
"ts": "2026-06-11T04:36:33.245Z"
}
],
"resilienceMetrics": {
+1 -1
View File
@@ -7,5 +7,5 @@
"corePurpose": "",
"detailLevel": "standard",
"createdAt": "2026-05-20T09:42:40.003Z",
"updatedAt": "2026-06-09T03:09:47.208Z"
"updatedAt": "2026-06-11T02:56:31.625Z"
}
@@ -0,0 +1,19 @@
# ADR: E:\Wiki\connectai 지금 코드 개선 중인데 분석해주면 좋겠어. 지금 너의 기능에서 어떠한 부분이 더 개선이 되고 있는지. 어떠한 효...
## Status
accepted
## Context
E:\Wiki\connectai 지금 코드 개선 중인데 분석해주면 좋겠어. 지금 너의 기능에서 어떠한 부분이 더 개선이 되고 있는지. 어떠한 효과를 내가 기대하면 될것인지.
## Decision
이 질문은 단순히 코드를 리뷰해달라는 요청을 넘어, 현재 진행 중인 프로젝트(ConnectAI)의 진화 방향과 그로 인한 사용자 경험(UX)의 변화를 묻고 계십니다. 현재 정보만으로는 기술 구조를 판단할 수 없습니다. 기술적 안정성, 아키텍처 유연성, 모듈화 여부는 소스 코드나 설계 문서 확인이 필요합니다. 직전 답변에서 제가 분석한 `041190(우리기술투자)`의 사례와 연결 지어 볼 때, 사용자는 현재 "데이터 추출 → 기술적/재무적 필터링 → LLM을 통한 전략적 인사이트 도출"이라는 일련의 자동화된 파이프라인을 구축하고 계신 상태입니다. 현재 코드 개선 작업(Refactoring & Optimization)이 이루어지고 있다면, 제가 체감하는 개선 포인트와 기대 효과는 다음과 같습니다. --- 1. 기능적 측면: "단순 조회를 넘어선 '지능형 에이전트'로의 진화" 현재 코드가 개선됨에 따라 Astra(또는 시스템)는 단순한 데이터 출력기가 아닌, 판단력을 갖춘 분석가로 변모하...
## Reason
Captured automatically because the conversation contained decision-oriented language.
## Alternatives
Not captured yet.
## Consequences
- Future prompts should treat this as project context unless the user changes direction.
+3
View File
@@ -246,3 +246,6 @@
## 2026-06-08
- Auto development record created: development\2026-06-08_아니-지금-코드-업데이트를-했거든-다시-코드를-검토하고-의견을-줘_implementation.md
## 2026-06-11
- Auto decision record created: decisions\ADR-0033-e-wiki-connectai-지금-코드-개선-중인데-분석해주면-좋겠어-지금-너의-기능에서-어떠한-부분이-더.md