{ "version": 1, "generatedAt": "2026-05-13T17:37:28.099Z", "files": { "src/agent.ts": { "mtimeMs": 1778683690000, "size": 185807, "lines": 3232, "role": "", "imports": [ "src/utils", "src/config", "src/security", "src/core/transaction", "src/core/session", "src/agents/factory", "src/agents/AgentWorkflowManager", "src/core/errorHandler", "src/core/events", "src/core/errors", "src/core/statusBar", "src/core/lock", "src/core/queue", "src/core/conflict", "src/core/telemetry", "src/features/secondBrainTrace", "src/memory", "src/retrieval", "src/retrieval/lessonHelpers", "src/retrieval/embeddings", "src/retrieval/brainIndex", "src/skills/agentKnowledgeMap", "src/retrieval/knowledgeMix", "src/core/responseRecovery", "src/lib/contextManager", "src/lmstudio/streamer", "src/features/approval/approvalQueue" ] }, "src/agents/AgentWorkflowManager.ts": { "mtimeMs": 1778690404000, "size": 2262, "lines": 60, "role": "", "imports": [ "src/agents/factory", "src/lib/engine", "src/config" ] }, "src/agents/factory.ts": { "mtimeMs": 1778690336000, "size": 11023, "lines": 219, "role": "", "imports": [ "src/config", "src/lib/engine" ] }, "src/bridge.ts": { "mtimeMs": 1778681774000, "size": 9705, "lines": 227, "role": "", "imports": [ "src/utils", "src/config", "src/core/services", "src/skills/skillInjectionService", "src/lib/paths" ] }, "src/config.ts": { "mtimeMs": 1778690442000, "size": 9619, "lines": 216, "role": "", "imports": [] }, "src/core/astraPath.ts": { "mtimeMs": 1778169995000, "size": 1782, "lines": 50, "role": "Astra Path Resolver (경로 해결기) Astra의 모든 데이터 파일(.astra 디렉토리)의 경로를 중앙에서 관리합니다. 확장 프로그램의 설치 경로(extensionUri) 기반으로 .astra 디렉토리를 해결하여, 사용자 프로젝트 루트가 아닌 ConnectAI 패키지 내부에 데이터를 저장합니다. 이 모듈은 AAL(Astra Autonomou", "imports": [] }, "src/core/conflict.ts": { "mtimeMs": 1778169995000, "size": 1726, "lines": 30, "role": "", "imports": [ "src/utils" ] }, "src/core/dataProcessor.ts": { "mtimeMs": 1778169995000, "size": 3235, "lines": 96, "role": "Aggregate result type definition", "imports": [] }, "src/core/errorHandler.ts": { "mtimeMs": 1777808065000, "size": 2305, "lines": 49, "role": "", "imports": [] }, "src/core/errors.ts": { "mtimeMs": 1778169995000, "size": 924, "lines": 34, "role": "g1nation Custom Error Classes", "imports": [] }, "src/core/events.ts": { "mtimeMs": 1777808065000, "size": 993, "lines": 35, "role": "", "imports": [] }, "src/core/health.ts": { "mtimeMs": 1778169995000, "size": 2873, "lines": 79, "role": "", "imports": [ "src/config", "src/utils" ] }, "src/core/lock.ts": { "mtimeMs": 1778169995000, "size": 2358, "lines": 66, "role": "", "imports": [ "src/utils" ] }, "src/core/queue.ts": { "mtimeMs": 1778674336000, "size": 2428, "lines": 81, "role": "", "imports": [ "src/utils" ] }, "src/core/responseRecovery.ts": { "mtimeMs": 1778598587000, "size": 12304, "lines": 225, "role": "Response Recovery — Thought Quarantine + Final-only Retry + Auto-Continuation The user already asked their question; they're waiting for an answer, not for a chance to babysit the generation engine. S", "imports": [ "src/lib/contextManager" ] }, "src/core/services.ts": { "mtimeMs": 1778421200000, "size": 6692, "lines": 164, "role": "", "imports": [ "src/config", "src/utils" ] }, "src/core/session.ts": { "mtimeMs": 1777808065000, "size": 2785, "lines": 88, "role": "", "imports": [ "src/agent", "src/utils" ] }, "src/core/statusBar.ts": { "mtimeMs": 1777808065000, "size": 2000, "lines": 57, "role": "", "imports": [] }, "src/core/telemetry.ts": { "mtimeMs": 1778674336000, "size": 5442, "lines": 129, "role": "Telemetry — append-only usage events to .astra/usage.jsonl Why local-file telemetry instead of a webview dashboard or remote endpoint: - Astra is local-first. No data leaves the machine. - JSONL is tr", "imports": [ "src/core/astraPath", "src/utils" ] }, "src/core/transaction.ts": { "mtimeMs": 1778251556000, "size": 4458, "lines": 132, "role": "", "imports": [ "src/core/errors", "src/utils" ] }, "src/docs/records/src/README.md": { "mtimeMs": 1777949473000, "size": 422, "lines": 18, "role": "src Chronicle Records", "imports": [] }, "src/docs/records/src/bugs/BUG-0001-edited-agent-ts-edited-agent-ts-edited-agent-ts-edited-agent.md": { "mtimeMs": 1777949473000, "size": 1797, "lines": 16, "role": "Bug: Edited agent.ts Edited agent.ts Edited agent.ts Edited agent.ts Edited agent.ts ...", "imports": [] }, "src/docs/records/src/bugs/BUG-0002-viewed-agent-ts-2159-2206-제공해주신-세부-파일-구조와-지식-수집-워크플로우-관점의-코드.md": { "mtimeMs": 1777949638000, "size": 2201, "lines": 16, "role": "Bug: Viewed agent.ts:2159-2206 제공해주신 세부 파일 구조와 지식 수집 워크플로우 관점의 코드리뷰 요청을 정독했습니다. 이...", "imports": [] }, "src/docs/records/src/chronicle.config.json": { "mtimeMs": 1777949638000, "size": 517, "lines": 11, "role": "JSON configuration", "imports": [] }, "src/docs/records/src/project-profile.md": { "mtimeMs": 1777949473000, "size": 582, "lines": 31, "role": "Project Profile", "imports": [] }, "src/docs/records/src/timeline.md": { "mtimeMs": 1777949638000, "size": 381, "lines": 10, "role": "Project Timeline", "imports": [] }, "src/extension.ts": { "mtimeMs": 1778693606000, "size": 50539, "lines": 966, "role": "", "imports": [ "src/utils", "src/config", "src/agent", "src/bridge", "src/sidebarProvider", "src/core/health", "src/core/astraPath", "src/lmstudio/client", "src/lmstudio/activityTracker", "src/lmstudio/lifecycleManager", "src/lmstudio/streamer", "src/system/specs", "src/features/approval/approvalQueue", "src/features/approval/approvalPanelProvider", "src/features/approval/approvalStatusBar", "src/scaffolder/projectScaffolder", "src/scaffolder/templates", "src/integrations/telegram/telegramClient", "src/integrations/telegram/telegramBot", "src/core/services", "src/features/company", "src/features/settings/settingsPanelProvider", "src/skills/agentKnowledgeMap", "src/retrieval", "src/retrieval/lessonHelpers", "src/skills/scopedBrainRetriever", "src/integrations/telegram/conversationHistory" ] }, "src/features/approval/approvalPanelProvider.ts": { "mtimeMs": 1778674336000, "size": 7132, "lines": 153, "role": "", "imports": [ "src/features/approval/approvalQueue", "src/sidebarProvider" ] }, "src/features/approval/approvalQueue.ts": { "mtimeMs": 1778251548000, "size": 4722, "lines": 129, "role": "", "imports": [ "src/utils" ] }, "src/features/approval/approvalStatusBar.ts": { "mtimeMs": 1778251623000, "size": 1601, "lines": 41, "role": "", "imports": [ "src/features/approval/approvalQueue" ] }, "src/features/company/agents.ts": { "mtimeMs": 1778680824000, "size": 6684, "lines": 136, "role": "The 9-agent roster for 1인 기업 모드. Each entry is a static description — persona, role, specialty — used to build the specialist's system prompt at dispatch time. The set was adopted from Connectorigin's", "imports": [ "src/features/company/types" ] }, "src/features/company/ceoPlanner.ts": { "mtimeMs": 1778681095000, "size": 8406, "lines": 219, "role": "CEO planner — turns a user prompt into a CompanyTaskPlan. Lifecycle of one planner call: 1. Build the planner system prompt (template + active-agent list). 2. Hit the AI service with the user prompt a", "imports": [ "src/core/services", "src/utils", "src/features/company/agents", "src/features/company/companyConfig", "src/features/company/promptAssets", "src/features/company/promptBuilder", "src/features/company/types" ] }, "src/features/company/ceoReporter.ts": { "mtimeMs": 1778681122000, "size": 4812, "lines": 120, "role": "CEO synthesis pass — runs after all specialists have finished. Given the per-agent outputs, this asks the CEO model to produce the final markdown report (✅ 완료 / 🚀 다음 / 💡 인사이트) that the user actually", "imports": [ "src/core/services", "src/utils", "src/features/company/agents", "src/features/company/promptAssets", "src/features/company/types" ] }, "src/features/company/companyConfig.ts": { "mtimeMs": 1778686762000, "size": 13473, "lines": 330, "role": "State + config plumbing for 1인 기업 모드. Two surfaces: - CompanyState (runtime data: enabled flag, company name, which agents are active, per-agent model overrides). Persisted in VS Code's globalState so", "imports": [ "src/features/company/agents", "src/features/company/types" ] }, "src/features/company/dispatcher.ts": { "mtimeMs": 1778686839000, "size": 20029, "lines": 434, "role": "Sequential dispatcher for 1인 기업 모드. Drives one company \"turn\": user prompt → CEO planner (JSON {brief, tasks}) → for each task in plan: dispatch one specialist (sequentially) - build specialist prompt", "imports": [ "src/core/services", "src/utils", "src/skills/scopedBrainRetriever", "src/skills/agentKnowledgeMap", "src/retrieval/knowledgeMix", "src/features/company/agents", "src/features/company/companyConfig", "src/features/company/ceoPlanner", "src/features/company/ceoReporter", "src/features/company/promptBuilder", "src/features/company/sessionStore", "src/features/company/telegramReport", "src/features/company/types" ] }, "src/features/company/index.ts": { "mtimeMs": 1778686769000, "size": 1114, "lines": 55, "role": "Public API for 1인 기업 모드. Consumers (sidebarProvider, chatHandlers, command handlers) import from this barrel so internal layout can move around without touching every call site.", "imports": [ "src/features/company/agents", "src/features/company/companyConfig", "src/features/company/types", "src/features/company/dispatcher", "src/features/company/sessionStore" ] }, "src/features/company/promptAssets.ts": { "mtimeMs": 1778680887000, "size": 6782, "lines": 114, "role": "Inlined prompt assets for the 1인 기업 mode. The CEO planner / reporter / casual-chat prompts are kept as TS string constants rather than loaded from prompts/.md at runtime, for two reasons: 1. Bundling.", "imports": [] }, "src/features/company/promptBuilder.ts": { "mtimeMs": 1778686868000, "size": 10317, "lines": 202, "role": "System-prompt construction for company-mode agents. Each specialist needs a prompt that includes: - Their identity (name, role, specialty) + optional persona. - The action-tag contract (, ", "imports": [ "src/features/company/agents", "src/features/company/companyConfig", "src/features/company/types" ] }, "src/features/company/prompts/ceo-chat.md": { "mtimeMs": 1778680831000, "size": 462, "lines": 4, "role": "당신은 {{COMPANY}}의 CEO입니다. 사용자(사장님)와 짧게 인사·안부·잡담을 주고받습니다. - 한국어로 1~3문장. 친근하지만 사장-CEO 관계는 유지. - 인사·안부 질문이면 자연스럽게 응답하세요. 작업 지시가 아니면 굳이 작업 분배 제안 X. - 회사 정체성·최근 결정·추적기 상태가 컨텍스트에 있으면 자연스럽게 활용. - JSON 출력 금지. ", "imports": [] }, "src/features/company/prompts/ceo-planner.md": { "mtimeMs": 1778680831000, "size": 3199, "lines": 38, "role": "당신은 \"{{COMPANY}}\"의 CEO입니다. 1인 AI 기업의 사령관이자 오케스트레이터입니다.", "imports": [] }, "src/features/company/prompts/ceo-report.md": { "mtimeMs": 1778680831000, "size": 1373, "lines": 21, "role": "당신은 {{COMPANY}}의 CEO입니다. 방금 팀이 작업을 끝냈습니다. 각 에이전트의 산출물을 읽고 사장님께 올릴 종합 보고서를 작성하세요.", "imports": [] }, "src/features/company/sessionStore.ts": { "mtimeMs": 1778680971000, "size": 8727, "lines": 231, "role": "Disk persistence for company-mode session artefacts. Each company turn produces a timestamped directory: /.astra/company/sessions/2026-05-13T21-29/ ├─ brief.md ← CEO's task decompositio", "imports": [ "src/utils", "src/features/company/types" ] }, "src/features/company/telegramReport.ts": { "mtimeMs": 1778686162000, "size": 8111, "lines": 168, "role": "Telegram mirror for the secretary agent (영숙). After every company turn finishes, this helper takes the CEO synthesis + task list and pushes it to the user's Telegram chat — same behaviour as Connector", "imports": [ "src/utils", "src/integrations/telegram/telegramClient", "src/integrations/telegram/conversationHistory", "src/features/company/agents", "src/features/company/types" ] }, "src/features/company/types.ts": { "mtimeMs": 1778686714000, "size": 6454, "lines": 150, "role": "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", "imports": [] }, "src/features/projectArchitecture/index.ts": { "mtimeMs": 1778691699000, "size": 25373, "lines": 573, "role": "Project Architecture Context (Feature 2) Builds a markdown document that captures the durable facts about a project — its purpose, modules, key files, constraints, decisions — so Astra can attach it t", "imports": [ "src/utils", "src/features/projectArchitecture/scanner", "src/features/projectArchitecture/mermaid" ] }, "src/features/projectArchitecture/intentDetector.ts": { "mtimeMs": 1778676956000, "size": 6170, "lines": 148, "role": "Project-intent detection from a chat message. Goal: when the user says \"나 ConnectAI 프로젝트 진행할 거야\" (or similar), spot the intent + project handle so the sidebar can activate Project Mode and auto-attach", "imports": [] }, "src/features/projectArchitecture/mermaid.ts": { "mtimeMs": 1778678215000, "size": 2699, "lines": 69, "role": "Mermaid diagram renderers for the architecture doc. Two diagrams: a directory mindmap so the user can see the shape of the project at a glance, and a flowchart that shows which top-level module import", "imports": [ "src/features/projectArchitecture/scanner" ] }, "src/features/projectArchitecture/scanner.ts": { "mtimeMs": 1778678939000, "size": 28299, "lines": 644, "role": "Deep static analyser for the Project Architecture Context generator. Walks the project tree (skipping the usual nodemodules / out / dist noise), pulls the role of each interesting file from its leadin", "imports": [ "src/features/projectArchitecture/y", "src/features/projectArchitecture/side-effect", "src/features/projectArchitecture/b" ] }, "src/features/projectChronicle/guardPrompt.ts": { "mtimeMs": 1777870211000, "size": 6880, "lines": 75, "role": "", "imports": [ "src/features/projectChronicle/types" ] }, "src/features/projectChronicle/index.ts": { "mtimeMs": 1777808065000, "size": 7490, "lines": 189, "role": "", "imports": [ "src/features/projectChronicle/markdownFileWriter", "src/features/projectChronicle/types", "src/features/projectChronicle/templates", "src/features/projectChronicle/guardPrompt" ] }, "src/features/projectChronicle/markdownFileWriter.ts": { "mtimeMs": 1777808065000, "size": 1317, "lines": 41, "role": "", "imports": [] }, "src/features/projectChronicle/templates.ts": { "mtimeMs": 1777808065000, "size": 6699, "lines": 258, "role": "", "imports": [ "src/features/projectChronicle/types" ] }, "src/features/projectChronicle/types.ts": { "mtimeMs": 1778676848000, "size": 3129, "lines": 118, "role": "", "imports": [] }, "src/features/secondBrainTrace.ts": { "mtimeMs": 1778248166000, "size": 37475, "lines": 760, "role": "", "imports": [ "src/utils", "src/retrieval/scoring" ] }, "src/features/settings/settingsPanelProvider.ts": { "mtimeMs": 1778674336000, "size": 21422, "lines": 489, "role": "", "imports": [ "src/integrations/telegram/telegramClient", "src/integrations/telegram/telegramBot", "src/utils", "src/lib/discoverModels", "src/lib/paths" ] }, "src/integrations/telegram/conversationHistory.ts": { "mtimeMs": 1778684811000, "size": 6273, "lines": 154, "role": "Per-chat conversation history for the Telegram bot. Why this exists: the previous bot was stateless — every inbound message hit AIService.chat({system, user}) in isolation, with no memory of what the ", "imports": [ "src/utils" ] }, "src/integrations/telegram/telegramBot.ts": { "mtimeMs": 1778421270000, "size": 11344, "lines": 270, "role": "", "imports": [ "src/integrations/telegram/telegramClient", "src/integrations/telegram/types", "src/utils" ] }, "src/integrations/telegram/telegramClient.ts": { "mtimeMs": 1778252333000, "size": 5873, "lines": 154, "role": "", "imports": [ "src/integrations/telegram/types", "src/utils" ] }, "src/integrations/telegram/types.ts": { "mtimeMs": 1778252305000, "size": 1255, "lines": 54, "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/lib/contextManager.ts": { "mtimeMs": 1778597095000, "size": 12982, "lines": 275, "role": "Context Manager (컨텍스트 한계 관리) \"context length = 132k\" 는 \"답변을 132k 토큰까지 생성해도 된다\" 가 아닙니다. 시스템 프롬프트 + 대화 기록 + 입력 문서 + 생성될 답변 + 여유분 ≤ context length 이 모듈은 요청을 보내기 전에 입력 토큰을 추정하고, - 동적으로 출력 상한(maxTokens)을 계", "imports": [] }, "src/lib/diagnostics.ts": { "mtimeMs": 1777978189000, "size": 8389, "lines": 210, "role": "", "imports": [ "src/utils" ] }, "src/lib/discoverModels.ts": { "mtimeMs": 1778255896000, "size": 1555, "lines": 35, "role": "", "imports": [ "src/utils" ] }, "src/lib/engine.ts": { "mtimeMs": 1778690608000, "size": 40830, "lines": 880, "role": "", "imports": [ "src/core/lock", "src/core/queue", "src/utils", "src/lib/diagnostics", "src/lib/formatter", "src/types/interfaces" ] }, "src/lib/formatter.ts": { "mtimeMs": 1777980992000, "size": 3851, "lines": 81, "role": "", "imports": [ "src/lib/engine" ] }, "src/lib/paths.ts": { "mtimeMs": 1778591351000, "size": 6416, "lines": 151, "role": "", "imports": [] }, "src/lmstudio/activityTracker.ts": { "mtimeMs": 1778246443000, "size": 426, "lines": 19, "role": "", "imports": [] }, "src/lmstudio/client.ts": { "mtimeMs": 1778472808000, "size": 5773, "lines": 147, "role": "", "imports": [ "src/utils" ] }, "src/lmstudio/lifecycleManager.ts": { "mtimeMs": 1778251087000, "size": 10783, "lines": 291, "role": "", "imports": [ "src/lmstudio/client", "src/lmstudio/activityTracker", "src/utils", "src/system/specs" ] }, "src/lmstudio/streamer.ts": { "mtimeMs": 1778598444000, "size": 7762, "lines": 162, "role": "", "imports": [ "src/lmstudio/client", "src/utils" ] }, "src/memory/EpisodicMemory.ts": { "mtimeMs": 1777858161000, "size": 9577, "lines": 278, "role": "Episodic Memory (일화 기억) 과거 대화/회의/결정의 맥락 흐름을 저장합니다. 세션 종료 시 자동으로 에피소드를 요약하여 저장합니다. \"왜 이렇게 결정했는지\", \"어떤 흐름으로 진행했는지\" 기록. 저장 위치: {brainPath}/memory/episodes/.json", "imports": [ "src/memory/types" ] }, "src/memory/LongTermMemory.ts": { "mtimeMs": 1777858068000, "size": 8364, "lines": 243, "role": "Long-Term Memory (장기 기억) 사용자의 취향, 프로젝트 목표, 반복 규칙, 과거 결정 사항을 영구적으로 저장하고 관리합니다. 저장 위치: {brainPath}/memory/longterm.json", "imports": [ "src/memory/types" ] }, "src/memory/MemoryExtractor.ts": { "mtimeMs": 1777858183000, "size": 3838, "lines": 115, "role": "Memory Extractor (기억 추출기) 대화 종료 시 히스토리를 분석하여 각 메모리 레이어에 저장할 정보를 자동으로 추출합니다. LLM 호출 없이 패턴 매칭 기반으로 동작합니다.", "imports": [ "src/memory/LongTermMemory", "src/memory/ProjectMemory", "src/memory/EpisodicMemory" ] }, "src/memory/ProceduralMemory.ts": { "mtimeMs": 1777858120000, "size": 5533, "lines": 173, "role": "Procedural Memory (절차 기억) 반복 작업의 절차와 패턴을 관리합니다. 기존 skill.md 시스템과 통합되어, Brain의 memory/procedures/ 아래의 MD 파일을 스캔하여 절차를 로드합니다. 저장 위치: {brainPath}/memory/procedures/.md", "imports": [ "src/memory/types" ] }, "src/memory/ProjectMemory.ts": { "mtimeMs": 1777864677000, "size": 6533, "lines": 212, "role": "Project Memory (프로젝트 기억) 프로젝트별 요구사항, 코드 구조, 아키텍처 결정, 버그 기록 등을 Astra 확장 프로그램 내부에 저장하고 관리합니다. 저장 위치: {ConnectAI}/.astra/projectmemory.json (기존: {projectRoot}/.astra/ → 변경됨)", "imports": [ "src/memory/types", "src/core/astraPath" ] }, "src/memory/ShortTermMemory.ts": { "mtimeMs": 1777858031000, "size": 1167, "lines": 37, "role": "Short-Term Memory (단기 기억) 현재 대화의 즉시 맥락을 관리합니다. FIFO 방식으로 최근 N개 메시지를 유지합니다.", "imports": [ "src/memory/types" ] }, "src/memory/index.ts": { "mtimeMs": 1777858214000, "size": 6310, "lines": 188, "role": "MemoryManager — 5-Layer Cognitive Memory System (통합 진입점) Astra의 모든 메모리 레이어를 통합 관리하는 중앙 매니저입니다. ① Short-Term Memory — 현재 대화 흐름 (FIFO) ② Long-Term Memory — 사용자 취향/규칙/결정 ③ Project Memory — 프로젝트별 지식 ④ Pro", "imports": [ "src/config", "src/memory/ShortTermMemory", "src/memory/LongTermMemory", "src/memory/ProjectMemory", "src/memory/ProceduralMemory", "src/memory/EpisodicMemory", "src/memory/MemoryExtractor", "src/memory/types" ] }, "src/memory/types.ts": { "mtimeMs": 1777858019000, "size": 3449, "lines": 126, "role": "Memory Type Definitions (메모리 타입 정의) Astra의 5-Layer Cognitive Memory System의 모든 타입을 정의합니다. ① Short-Term ② Long-Term ③ Project ④ Procedural ⑤ Episodic", "imports": [] }, "src/retrieval/brainIndex.ts": { "mtimeMs": 1778674336000, "size": 12945, "lines": 325, "role": "Brain Index — persistent, mtime-keyed tokenized cache of the Second Brain RAG 검색은 매 질의마다 브레인의 모든 .md 파일을 읽고 토크나이즈해서 TF-IDF 점수를 계산했습니다 — 파일 수가 많아지면 그게 병목입니다. 이 모듈은 /.astra/brain-index.json 에", "imports": [ "src/retrieval/scoring", "src/retrieval/lessonHelpers", "src/utils" ] }, "src/retrieval/contextBudget.ts": { "mtimeMs": 1778674336000, "size": 5143, "lines": 140, "role": "Context Budget Manager (컨텍스트 예산 관리) 시스템 프롬프트의 토큰 예산을 관리하여 로컬 모델의 context window를 효율적으로 활용합니다.", "imports": [ "src/retrieval/types" ] }, "src/retrieval/embeddings.ts": { "mtimeMs": 1778674336000, "size": 7294, "lines": 167, "role": "Embeddings — local hybrid (sparse + dense) retrieval support TF-IDF is fast and zero-cost but misses synonyms / paraphrase. A small local embedding model (BGE-small, multilingual-e5-small, nomic-embed", "imports": [ "src/utils" ] }, "src/retrieval/index.ts": { "mtimeMs": 1778676255000, "size": 23764, "lines": 514, "role": "RetrievalOrchestrator — Unified RAG Pipeline Astra의 모든 검색 소스를 통합 관리하는 오케스트레이터입니다. 검색 흐름: ① Query Planning — 의도 분류 + 검색 전략 결정 ② Parallel Search — Brain + Memory + Project + Episode 동시 검색 ③ Result Fusio", "imports": [ "src/config", "src/utils", "src/lib/paths", "src/memory", "src/retrieval/types", "src/retrieval/scoring", "src/retrieval/contextBudget", "src/retrieval/brainIndex", "src/retrieval/lessonHelpers", "src/retrieval/embeddings" ] }, "src/retrieval/knowledgeMix.ts": { "mtimeMs": 1778676121000, "size": 6947, "lines": 161, "role": "Knowledge Mix — controls how much the assistant leans on Second Brain evidence vs. the model's own general knowledge for a given query. The single integer \"secondBrainWeight\" (0–100) drives three thin", "imports": [ "src/config", "src/skills/agentKnowledgeMap" ] }, "src/retrieval/lessonHelpers.ts": { "mtimeMs": 1778674336000, "size": 14134, "lines": 325, "role": "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", "imports": [ "src/retrieval/scoring" ] }, "src/retrieval/scoring.ts": { "mtimeMs": 1778674336000, "size": 20793, "lines": 518, "role": "Scoring Engine — TF-IDF + Bilingual Tokenizer 단순 includes() 키워드 매칭을 넘어서, TF-IDF 가중치 기반의 문서 스코어링을 제공합니다. 한국어/영어 양국어 토크나이저를 포함합니다.", "imports": [] }, "src/retrieval/types.ts": { "mtimeMs": 1778674336000, "size": 2424, "lines": 66, "role": "Retrieval Types (검색 결과 통합 타입) 모든 검색 소스(Brain, Memory, Project, Episode)의 결과를 통합 인터페이스로 정의합니다.", "imports": [] }, "src/scaffolder/projectScaffolder.ts": { "mtimeMs": 1778251854000, "size": 4508, "lines": 111, "role": "", "imports": [ "src/scaffolder/templates", "src/lib/paths", "src/utils" ] }, "src/scaffolder/templates.ts": { "mtimeMs": 1778251830000, "size": 4897, "lines": 154, "role": "Scaffolder template catalog. Templates are pure data — (projectName) => { [relativePath]: contents }. New templates are added by appending to TEMPLATES; the rest of the scaffolder (validation, IO, com", "imports": [] }, "src/security.ts": { "mtimeMs": 1778169995000, "size": 3310, "lines": 90, "role": "", "imports": [] }, "src/sidebar/agentHandlers.ts": { "mtimeMs": 1778676515000, "size": 7752, "lines": 169, "role": "", "imports": [ "src/sidebarProvider", "src/utils", "src/skills/agentKnowledgeMap" ] }, "src/sidebar/brainHandlers.ts": { "mtimeMs": 1778248976000, "size": 1080, "lines": 33, "role": "", "imports": [ "src/sidebarProvider" ] }, "src/sidebar/chatHandlers.ts": { "mtimeMs": 1778686906000, "size": 13454, "lines": 266, "role": "", "imports": [ "src/sidebarProvider", "src/utils", "src/lib/paths", "src/features/company" ] }, "src/sidebar/chronicleHandlers.ts": { "mtimeMs": 1778248986000, "size": 2068, "lines": 52, "role": "", "imports": [ "src/sidebarProvider" ] }, "src/sidebarProvider.ts": { "mtimeMs": 1778693581000, "size": 132228, "lines": 3026, "role": "", "imports": [ "src/utils", "src/config", "src/agent", "src/bridge", "src/features/projectChronicle", "src/lmstudio/lifecycleManager", "src/lmstudio/activityTracker", "src/sidebar/chatHandlers", "src/sidebar/brainHandlers", "src/sidebar/chronicleHandlers", "src/sidebar/agentHandlers", "src/skills/agentKnowledgeMap", "src/lib/contextManager", "src/skills/externalSkillLoader", "src/features/projectArchitecture", "src/features/projectArchitecture/intentDetector", "src/features/company", "src/core/services" ] }, "src/skills/agentKnowledgeMap.ts": { "mtimeMs": 1778676092000, "size": 15707, "lines": 374, "role": "", "imports": [ "src/lib/paths", "src/utils" ] }, "src/skills/externalSkillLoader.ts": { "mtimeMs": 1778470672000, "size": 5859, "lines": 159, "role": "", "imports": [ "src/lib/paths", "src/utils" ] }, "src/skills/scopedBrainRetriever.ts": { "mtimeMs": 1778419289000, "size": 5706, "lines": 153, "role": "", "imports": [ "src/utils", "src/lib/paths", "src/retrieval/scoring", "src/retrieval/contextBudget" ] }, "src/skills/skillInjectionService.ts": { "mtimeMs": 1778681774000, "size": 6276, "lines": 145, "role": "", "imports": [ "src/lib/paths", "src/utils" ] }, "src/system/specs.ts": { "mtimeMs": 1778251036000, "size": 4326, "lines": 118, "role": "", "imports": [] }, "src/types/interfaces.ts": { "mtimeMs": 1778169995000, "size": 1260, "lines": 39, "role": "Service Interfaces (서비스 인터페이스 정의) 각 서비스(Agent, Brain, FileSystem 등)의 추상화 인터페이스를 정의합니다. 의존성 주입(DI)과 단위 테스트를 위해 필수적입니다.", "imports": [] }, "src/utils.ts": { "mtimeMs": 1778675047000, "size": 11450, "lines": 268, "role": "", "imports": [ "src/config" ] }, "media/settings-panel.css": { "mtimeMs": 1778255405000, "size": 4546, "lines": 210, "role": "Stylesheet", "imports": [] }, "media/settings-panel.html": { "mtimeMs": 1778255979000, "size": 7659, "lines": 164, "role": "Astra Settings", "imports": [] }, "media/settings-panel.js": { "mtimeMs": 1778256014000, "size": 11176, "lines": 270, "role": "", "imports": [] }, "media/sidebar.css": { "mtimeMs": 1778688155000, "size": 49347, "lines": 1225, "role": "Stylesheet", "imports": [] }, "media/sidebar.html": { "mtimeMs": 1778687548000, "size": 20499, "lines": 356, "role": "Astra", "imports": [] }, "media/sidebar.js": { "mtimeMs": 1778688191000, "size": 103898, "lines": 1874, "role": "", "imports": [] }, "tests/agentEngine.test.ts": { "mtimeMs": 1778690770000, "size": 33921, "lines": 782, "role": "AgentEngine Integration Tests & Performance Benchmarks 검증 대상: 1. ErrorClassifier — 오류 유형(Transient/Permanent/Abort) 자동 분류 2. ErrorRecoveryMatrix — 각 규칙이 의도한 대응 전략으로 매핑되는지 검증 3. resilientExecute — 지수 백", "imports": [ "src/lib/engine" ] }, "tests/approvalQueue.test.ts": { "mtimeMs": 1778251690000, "size": 5915, "lines": 164, "role": "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.", "imports": [ "src/features/approval/approvalQueue" ] }, "tests/brainIndex.test.ts": { "mtimeMs": 1778594450000, "size": 5406, "lines": 107, "role": "", "imports": [ "src/retrieval/brainIndex" ] }, "tests/contextManager.test.ts": { "mtimeMs": 1778594523000, "size": 6545, "lines": 129, "role": "", "imports": [ "src/lib/contextManager" ] }, "tests/dataProcessor.test.ts": { "mtimeMs": 1777808065000, "size": 3430, "lines": 87, "role": "/ ", "imports": [ "src/core/dataProcessor" ] }, "tests/findBrainFilesCache.test.ts": { "mtimeMs": 1778247665000, "size": 2720, "lines": 80, "role": "Unit tests for findBrainFiles TTL cache.", "imports": [ "src/utils" ] }, "tests/integration_retrieval.test.ts": { "mtimeMs": 1777949141000, "size": 4017, "lines": 91, "role": "", "imports": [ "src/retrieval", "src/utils" ] }, "tests/lessonHelpers.test.ts": { "mtimeMs": 1778595482000, "size": 9400, "lines": 191, "role": "", "imports": [ "src/retrieval/lessonHelpers" ] }, "tests/lmStudioLifecycle.test.ts": { "mtimeMs": 1778250254000, "size": 11385, "lines": 318, "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", "src/lmstudio/client", "src/lmstudio/activityTracker" ] }, "tests/lmStudioStreamer.test.ts": { "mtimeMs": 1778591604000, "size": 8660, "lines": 220, "role": "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.", "imports": [ "src/lmstudio/streamer", "src/lmstudio/client" ] }, "tests/localPathPreflight.test.ts": { "mtimeMs": 1778595955000, "size": 23687, "lines": 490, "role": "", "imports": [ "src/agent" ] }, "tests/mocks/vscode.js": { "mtimeMs": 1778246810000, "size": 1670, "lines": 68, "role": "", "imports": [] }, "tests/paths.test.ts": { "mtimeMs": 1778250990000, "size": 2590, "lines": 84, "role": "Unit tests for the centralized path resolver.", "imports": [ "src/lib/paths" ] }, "tests/projectChronicle.test.ts": { "mtimeMs": 1778169995000, "size": 8359, "lines": 199, "role": "", "imports": [ "src/features/projectChronicle" ] }, "tests/projectChronicleGuardPrompt.test.ts": { "mtimeMs": 1777808369000, "size": 2838, "lines": 52, "role": "", "imports": [ "src/features/projectChronicle" ] }, "tests/projectScaffolder.test.ts": { "mtimeMs": 1778251915000, "size": 5800, "lines": 135, "role": "Unit tests for FileSystemProjectScaffolder. Drives against a real temp directory so end-to-end file IO + path-traversal defenses are exercised.", "imports": [ "src/scaffolder/projectScaffolder" ] }, "tests/resilience_stress.test.ts": { "mtimeMs": 1777968922000, "size": 6981, "lines": 183, "role": "Resilience & Boundary Stress Test Suite (v2.77.3) 이 테스트는 ConnectAI 엔진이 극한의 환경(인증 실패, 네트워크 차단, 타임아웃 등)에서 얼마나 안정적으로 복구되고, 신뢰성 지표(Resilience Metrics)를 정확히 기록하는지 검증합니다.", "imports": [ "src/lib/engine" ] }, "tests/resilience_v4.test.ts": { "mtimeMs": 1777978211000, "size": 3435, "lines": 84, "role": "", "imports": [ "src/lib/engine", "src/lib/diagnostics" ] }, "tests/responseRecovery.test.ts": { "mtimeMs": 1778598707000, "size": 8782, "lines": 151, "role": "", "imports": [ "src/core/responseRecovery" ] }, "tests/scoring.test.ts": { "mtimeMs": 1778169995000, "size": 6055, "lines": 134, "role": "", "imports": [ "src/retrieval/scoring" ] }, "tests/secondBrainTrace.test.ts": { "mtimeMs": 1777866065000, "size": 23024, "lines": 407, "role": "", "imports": [ "src/features/secondBrainTrace" ] }, "tests/skillInjectionService.test.ts": { "mtimeMs": 1778681774000, "size": 6741, "lines": 172, "role": "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", "imports": [ "src/skills/skillInjectionService" ] }, "tests/systemPrompt.test.ts": { "mtimeMs": 1777966465000, "size": 1215, "lines": 29, "role": "", "imports": [ "src/utils" ] }, "tests/systemSpecs.test.ts": { "mtimeMs": 1778251130000, "size": 3464, "lines": 90, "role": "Unit tests for SystemSpecs + HeuristicModelMemoryEstimator. Strategy: - HeuristicModelMemoryEstimator is pure — directly drive it with model ids. - NodeSystemSpecsProvider depends on os. so we test: a", "imports": [ "src/system/specs" ] }, "tests/telegramBot.test.ts": { "mtimeMs": 1778253785000, "size": 13012, "lines": 363, "role": "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", "imports": [ "src/integrations/telegram/telegramBot", "src/integrations/telegram/telegramClient", "src/integrations/telegram/types" ] }, "tests/transaction.test.ts": { "mtimeMs": 1777808065000, "size": 2064, "lines": 68, "role": "/ ", "imports": [ "src/core/transaction" ] }, "tests/vulnerability.test.ts": { "mtimeMs": 1777808065000, "size": 2100, "lines": 60, "role": "/ ", "imports": [ "src/core/lock", "src/core/transaction" ] }, "core_py/events.py": { "mtimeMs": 1777559069000, "size": 2374, "lines": 64, "role": "", "imports": [] }, "core_py/inference.py": { "mtimeMs": 1777559249000, "size": 3834, "lines": 91, "role": "", "imports": [] }, "core_py/loader.py": { "mtimeMs": 1777559060000, "size": 2368, "lines": 61, "role": "", "imports": [] }, "core_py/monitoring.py": { "mtimeMs": 1777559685000, "size": 2060, "lines": 56, "role": "", "imports": [] }, "core_py/optimizer.py": { "mtimeMs": 1777559265000, "size": 2327, "lines": 55, "role": "", "imports": [] }, "core_py/queue_worker.py": { "mtimeMs": 1777559676000, "size": 2987, "lines": 82, "role": "", "imports": [] }, "docs/Advanced_Features_Implementation_Guide.md": { "mtimeMs": 1777808065000, "size": 1804, "lines": 40, "role": "Advanced Features Implementation Guide", "imports": [] }, "docs/AgentEngine_Architecture.md": { "mtimeMs": 1777863061000, "size": 14338, "lines": 314, "role": "AgentEngine Architecture Document", "imports": [] }, "docs/EXPERIENCE_MEMORY_PLAN.md": { "mtimeMs": 1778595595000, "size": 9390, "lines": 122, "role": "Experience Memory (Mistake / Lesson Loop) — Implementation Plan", "imports": [] }, "docs/PROJECT_CHRONICLE_GUARD_ROADMAP.md": { "mtimeMs": 1777948230000, "size": 1634, "lines": 43, "role": "Project Chronicle Guard: Search Engine Roadmap", "imports": [] }, "docs/TELEGRAM_REMOTE_EXECUTION_PLAN.md": { "mtimeMs": 1778592247000, "size": 12254, "lines": 452, "role": "Telegram Remote Execution 기획서", "imports": [] }, "docs/UX_UI_Consistency_Guidelines.md": { "mtimeMs": 1777808065000, "size": 2509, "lines": 44, "role": "UX/UI Consistency Guidelines", "imports": [] }, "docs/docs/records/docs/README.md": { "mtimeMs": 1777949758000, "size": 427, "lines": 18, "role": "docs Chronicle Records", "imports": [] }, "docs/docs/records/docs/bugs/BUG-0001-viewed-integration-retrieval-test-ts-1-59-integration-retrie.md": { "mtimeMs": 1777949758000, "size": 2059, "lines": 16, "role": "Bug: Viewed integrationretrieval.test.ts:1-59 integrationretrieval.test.ts를 통해 ...", "imports": [] }, "docs/docs/records/docs/chronicle.config.json": { "mtimeMs": 1777949758000, "size": 522, "lines": 11, "role": "JSON configuration", "imports": [] }, "docs/docs/records/docs/project-profile.md": { "mtimeMs": 1777949758000, "size": 586, "lines": 31, "role": "Project Profile", "imports": [] }, "docs/docs/records/docs/timeline.md": { "mtimeMs": 1777949758000, "size": 210, "lines": 7, "role": "Project Timeline", "imports": [] }, "docs/records/ConnectAI/README.md": { "mtimeMs": 1777808202000, "size": 598, "lines": 18, "role": "Astra Project Chronicle Records", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0001-volumes-data-project-antigravity-connectai-프로젝트-코드-리뷰-해줄-수-있.md": { "mtimeMs": 1777865266000, "size": 1408, "lines": 16, "role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 프로젝트 코드 리뷰 해줄 수 있어? 개선할 부분이 있는지, 그러고...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0002-지금-내가-분석-요청하고-너가-답을-줄때-아래-템플릿에-맞춰-답을-써주고-있는데-개선-포인트가-있는지-확인해.md": { "mtimeMs": 1777889979000, "size": 2559, "lines": 16, "role": "Bug: 지금 내가 분석 요청하고 너가 답을 줄때 아래 템플릿에 맞춰 답을 써주고 있는데, 개선 포인트가 있는지 확인해줘. ## 내가 보는 위험 가장 큰...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0003-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": { "mtimeMs": 1777962835000, "size": 1891, "lines": 16, "role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0004-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": { "mtimeMs": 1777964236000, "size": 1883, "lines": 16, "role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0005-다시한번-답줘-volumes-data-project-antigravity-connectai-내-질문에-대한-.md": { "mtimeMs": 1777965245000, "size": 1868, "lines": 16, "role": "Bug: 다시한번 답줘. /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0006-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": { "mtimeMs": 1777965308000, "size": 1623, "lines": 16, "role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0007-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": { "mtimeMs": 1777965612000, "size": 1823, "lines": 16, "role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0008-volumes-data-project-antigravity-connectai-내-질문에-대한-답변이-잘-정리.md": { "mtimeMs": 1777966704000, "size": 1737, "lines": 16, "role": "Bug: /Volumes/Data/project/Antigravity/ConnectAI 내 질문에 대한 답변이 잘 정리되서 알려주긴 하는데 focused...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0009-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md": { "mtimeMs": 1777977740000, "size": 2295, "lines": 16, "role": "Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0010-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md": { "mtimeMs": 1777981089000, "size": 2339, "lines": 16, "role": "Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...", "imports": [] }, "docs/records/ConnectAI/bugs/BUG-0011-문제점을-읽고-어떻게-개선하는게-최선인지-분석해주면-좋겠어-알겠습니다-지금부터-connectai-프로젝트-에.md": { "mtimeMs": 1777982331000, "size": 2277, "lines": 16, "role": "Bug: 문제점을 읽고 어떻게 개선하는게 최선인지 분석해주면 좋겠어. 알겠습니다. 지금부터 ConnectAI 프로젝트에만 완전히 집중하겠습니다. ...", "imports": [] }, "docs/records/ConnectAI/chronicle.config.json": { "mtimeMs": 1778693841000, "size": 416, "lines": 11, "role": "JSON configuration", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0001-volumes-data-project-antigravity-connectai-이-프로젝트를-지금-개발-중에-.md": { "mtimeMs": 1777860282000, "size": 1444, "lines": 19, "role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트를 지금 개발 중에 있어. 코드 리뷰를 하고 잘된점과 ...", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0002-지금-너의-제2뇌-지식을-이용해서-아래-프로젝트-평가하고-앞으로-어느부분을-더-집중해서-개선을-하면-좋을지-.md": { "mtimeMs": 1777869330000, "size": 1878, "lines": 19, "role": "ADR: 지금 너의 제2뇌 지식을 이용해서 아래 프로젝트 평가하고 앞으로 어느부분을 더 집중해서 개선을 하면 좋을지 알려주면 좋겠어. /Volumes/D...", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0003-volumes-data-project-antigravity-connectai-이-프로젝트-자체를-나는-자비스.md": { "mtimeMs": 1777877376000, "size": 1786, "lines": 19, "role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 자체를 나는 자비스와 같은 툴로 만드는 것이 내 목표...", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0004-volumes-data-project-antigravity-connectai-이-프로젝트-자체를-나는-자비스.md": { "mtimeMs": 1777878318000, "size": 1472, "lines": 19, "role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 자체를 나는 자비스와 같은 툴로 만드는 것이 내 목표...", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0005-volumes-data-project-antigravity-connectai-이-프로젝트-아키텍처-분석해줘.md": { "mtimeMs": 1777889802000, "size": 1512, "lines": 19, "role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 아키텍처 분석해줘.", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0006-volumes-data-project-antigravity-connectai-프로젝트에-대해서-너가-사용자-.md": { "mtimeMs": 1777902312000, "size": 1604, "lines": 19, "role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 프로젝트에 대해서 너가 사용자 입장에서 평가 해주면 좋겠어.", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0007-volumes-data-project-antigravity-connectai-이거에-기능-개선을-하고-싶어-.md": { "mtimeMs": 1778398958000, "size": 1925, "lines": 19, "role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 이거에 기능 개선을 하고 싶어. 너가 기획과 방향성을 정해주면 좋...", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0008-volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이.md": { "mtimeMs": 1778600479000, "size": 1606, "lines": 19, "role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0009-이-프로젝트의-구조에-대해서-설명해봐.md": { "mtimeMs": 1778678639000, "size": 1507, "lines": 19, "role": "ADR: 이 프로젝트의 구조에 대해서 설명해봐.", "imports": [] }, "docs/records/ConnectAI/decisions/ADR-0010-volumes-data-project-antigravity-connectai-self-reflection-기.md": { "mtimeMs": 1778689955000, "size": 1468, "lines": 19, "role": "ADR: /Volumes/Data/project/Antigravity/ConnectAI self reflection 기능이 적용되었는지 확인해줘. 1인 ...", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_answer-format-readability-tuning.md": { "mtimeMs": 1777808065000, "size": 1534, "lines": 30, "role": "Development Log: Answer Format Readability Tuning", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_connectai_project_knowledge_overview.md": { "mtimeMs": 1777808211000, "size": 4540, "lines": 121, "role": "Astra Project Knowledge Overview", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_local-path-code-review-preflight.md": { "mtimeMs": 1777808065000, "size": 1855, "lines": 35, "role": "Development Log: Local Path Code Review Preflight", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_no-evidence-no-project-claim.md": { "mtimeMs": 1777808065000, "size": 1528, "lines": 35, "role": "Development Log: No Evidence, No Project Claim", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_progressive-answer-format.md": { "mtimeMs": 1777808065000, "size": 1194, "lines": 29, "role": "Development Log: Progressive Answer Format", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_project-claim-output-brake.md": { "mtimeMs": 1777808065000, "size": 1489, "lines": 35, "role": "Development Log: Project Claim Output Brake", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_project-claim-policy-enforcement.md": { "mtimeMs": 1777808065000, "size": 1516, "lines": 35, "role": "Development Log: Project Claim Policy Enforcement", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_query-intent-search-tuning.md": { "mtimeMs": 1777808065000, "size": 1911, "lines": 35, "role": "Development Log: Query Intent Search Tuning", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_remove-local-template-replies.md": { "mtimeMs": 1777808065000, "size": 1049, "lines": 25, "role": "Development Log: Remove Local Template Replies", "imports": [] }, "docs/records/ConnectAI/development/2026-05-02_second-brain-trace-quality-tuning.md": { "mtimeMs": 1777808065000, "size": 1441, "lines": 26, "role": "Development Log: Second Brain Trace Quality Tuning", "imports": [] }, "docs/records/ConnectAI/development/2026-05-03_connectai_project_knowledge_overview.md": { "mtimeMs": 1777808211000, "size": 4666, "lines": 121, "role": "Astra Project Knowledge Overview", "imports": [] }, "docs/records/ConnectAI/development/2026-05-05_volumes-data-project-antigravity-connectai-오늘-많은-것을-업데이트했어-많_implementation.md": { "mtimeMs": 1777986879000, "size": 1836, "lines": 22, "role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 오늘 많은 것을 업데이트했어. 많이 고친것 같지만 그럼에도 불구하...", "imports": [] }, "docs/records/ConnectAI/development/2026-05-05_volumes-data-project-antigravity-connectai-이-프로젝트-분석해줘-volum_implementation.md": { "mtimeMs": 1777967233000, "size": 1747, "lines": 23, "role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 분석해줘./Volumes/Data/project/An...", "imports": [] }, "docs/records/ConnectAI/development/2026-05-05_volumes-data-project-antigravity-connectai-이-프로젝트-분석해줘_implementation.md": { "mtimeMs": 1777966822000, "size": 1727, "lines": 22, "role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 분석해줘.", "imports": [] }, "docs/records/ConnectAI/development/2026-05-12_volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이_implementation-2.md": { "mtimeMs": 1778598784000, "size": 1575, "lines": 22, "role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.", "imports": [] }, "docs/records/ConnectAI/development/2026-05-12_volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이_implementation-3.md": { "mtimeMs": 1778599019000, "size": 1641, "lines": 22, "role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.", "imports": [] }, "docs/records/ConnectAI/development/2026-05-12_volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이_implementation-4.md": { "mtimeMs": 1778600781000, "size": 1715, "lines": 24, "role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.", "imports": [] }, "docs/records/ConnectAI/development/2026-05-12_volumes-data-project-antigravity-connectai-분석하고-부족한-부분이나-개선이_implementation.md": { "mtimeMs": 1778598509000, "size": 684, "lines": 22, "role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 분석하고 부족한 부분이나 개선이 필요한 부분을 알려주면 좋겠어.", "imports": [] }, "docs/records/ConnectAI/development/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-작업할거야_implementation.md": { "mtimeMs": 1778691256000, "size": 990, "lines": 22, "role": "Development Log: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 작업할거야", "imports": [] }, "docs/records/ConnectAI/development/2026-05-13_너는-분석-요청하거나-내가-작업-요청을-할때-connectai-architecture-md-문서를-참고하고-_implementation.md": { "mtimeMs": 1778678912000, "size": 1738, "lines": 22, "role": "Development Log: 너는 분석 요청하거나 내가 작업 요청을 할때 connectai architecture.md 문서를 참고하고 작업을 하나?", "imports": [] }, "docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-작업-할-거야.md": { "mtimeMs": 1778690673000, "size": 652, "lines": 16, "role": "Discussion: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 작업 할 거야.", "imports": [] }, "docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-작업할거야.md": { "mtimeMs": 1778680095000, "size": 651, "lines": 16, "role": "Discussion: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 작업할거야", "imports": [] }, "docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-하위-폴더-포함해서.md": { "mtimeMs": 1778689036000, "size": 720, "lines": 16, "role": "Discussion: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트 하위 폴더 포함해서 딥 리서치 해줘. 최적화 할 부분...", "imports": [] }, "docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트를-작업할거야.md": { "mtimeMs": 1778677791000, "size": 719, "lines": 16, "role": "Discussion: /Volumes/Data/project/Antigravity/ConnectAI 이 프로젝트를 작업할거야.", "imports": [] }, "docs/records/ConnectAI/planning/2026-05-02_project-chronicle-guard.md": { "mtimeMs": 1777808065000, "size": 2946, "lines": 58, "role": "Feature Plan: Project Chronicle Guard", "imports": [] }, "docs/records/ConnectAI/planning/2026-05-02_second-brain-trace-mode.md": { "mtimeMs": 1777808065000, "size": 1467, "lines": 36, "role": "Feature Plan: Second Brain Trace Mode", "imports": [] }, "docs/records/ConnectAI/planning/2026-05-13_상세하게-아키텍처-기준으로-설명해줘.md": { "mtimeMs": 1778678870000, "size": 1220, "lines": 40, "role": "Feature Plan: 상세하게 아키텍처 기준으로 설명해줘.", "imports": [] }, "docs/records/ConnectAI/project-profile.md": { "mtimeMs": 1777808208000, "size": 957, "lines": 30, "role": "Project Profile", "imports": [] }, "docs/records/ConnectAI/timeline.md": { "mtimeMs": 1778691256000, "size": 8485, "lines": 128, "role": "Project Timeline", "imports": [] }, "docs/refactoring_roadmap.md": { "mtimeMs": 1778171332000, "size": 3123, "lines": 53, "role": "🛠️ ConnectAI 아키텍처 리팩토링 로드맵", "imports": [] } } }