chore(records): Project Chronicle 자동 기록 및 .astra 런타임 자산 동기화 (BUG-0021~0025, ADR-0040~0041, timeline)

This commit is contained in:
2026-06-12 15:38:19 +09:00
parent ba1463e2a3
commit ea913b2361
47 changed files with 1499 additions and 137 deletions
+594 -66
View File
@@ -1,6 +1,6 @@
{
"version": 1,
"generatedAt": "2026-06-11T05:40:30.394Z",
"generatedAt": "2026-06-12T06:37:14.133Z",
"files": {
"src/agent/actions/brainOps.ts": {
"mtimeMs": 1779764602582.9768,
@@ -210,6 +210,13 @@
"src/lib/contextManager"
]
},
"src/agent/hangulHygiene.ts": {
"mtimeMs": 1781239601929.7876,
"size": 3244,
"lines": 61,
"role": "한·영 깨진 토큰 감지·수리 — 소형 로컬 모델의 토큰 붕괴 보정. 증상: 한국어 단어 중간에 영문 토큰이 섞임 — \"덩어리\"→\"덩ey\", \"결과적으로\"→\"결ently\". 프롬프트 규칙([출력 위생])으로는 못 막는다 — 지시 불이행이 아니라 디코딩 사고라서. 보정: 결정론 감지(아래 패턴) + 발견 시 1회 LLM 수리 패스. - 감지 패턴: 한글 음절 ",
"imports": []
},
"src/agent/llm/callNonStreaming.ts": {
"mtimeMs": 1779764602592.8665,
"size": 4334,
@@ -302,9 +309,9 @@
]
},
"src/agent/postAnswerHooks/index.ts": {
"mtimeMs": 1781147845848.1248,
"size": 11486,
"lines": 243,
"mtimeMs": 1781232089341.6956,
"size": 12177,
"lines": 251,
"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",
@@ -358,9 +365,9 @@
]
},
"src/agent.ts": {
"mtimeMs": 1781144502524.7754,
"size": 81710,
"lines": 1514,
"mtimeMs": 1781239617439.6067,
"size": 88521,
"lines": 1634,
"role": "",
"imports": [
"src/utils",
@@ -370,6 +377,10 @@
"src/core/session",
"src/agents/AgentWorkflowManager",
"src/lib/contextBuilders/astraModeArchitecture",
"src/lib/contextBuilders/scheduleContext",
"src/lib/contextBuilders/selfAssessContext",
"src/lib/contextBuilders/urlContext",
"src/intelligence/correctionLoop",
"src/lib/contextBuilders/multiAgentRouting",
"src/lib/contextBuilders/thinkingPartnerContract",
"src/lib/contextBuilders/droppedHistorySummary",
@@ -436,6 +447,7 @@
"src/features/approval/approvalQueue",
"src/intelligence/confidenceEngine",
"src/features/providers",
"src/agent/hangulHygiene",
"src/features/selfReflector/selfReflectorExecution",
"src/features/selfReflector/selfReflectorHollow"
]
@@ -475,8 +487,8 @@
]
},
"src/config.ts": {
"mtimeMs": 1781147453907.465,
"size": 35924,
"mtimeMs": 1781167857164.7136,
"size": 35286,
"lines": 637,
"role": "",
"imports": []
@@ -651,6 +663,15 @@
"role": "Project Timeline",
"imports": []
},
"src/extension/brainBootstrap.ts": {
"mtimeMs": 1781165381545.3738,
"size": 4679,
"lines": 90,
"role": "두뇌(Second Brain) 기본 위치 부트스트랩 — 첫 실행 온보딩. 문제: 두뇌 미설정 시 config 가 ~/.g1nation-brain(숨김 점폴더)로 조용히 폴백했다. - 폴더가 실제로 생성되지 않고, 설정 UI 에도 보이지 않으며, 숨김 폴더라 비개발자 사용자는 자신의 성장 데이터(레슨·기억·지식)가 어디 쌓이는지 알 수 없다. - 컴퓨터마다 ",
"imports": [
"src/utils"
]
},
"src/extension/calendarSetup.ts": {
"mtimeMs": 1779764602603.984,
"size": 10765,
@@ -660,6 +681,15 @@
"src/features/calendar"
]
},
"src/extension/embeddingBootstrap.ts": {
"mtimeMs": 1781172021718.2744,
"size": 4667,
"lines": 80,
"role": "임베딩 모델 자동 감지 부트스트랩 — 하이브리드(sparse+dense) 검색 온보딩. 문제: g1nation.embeddingModel 기본값이 '' (비활성) — LM Studio 에 임베딩 모델이 로드돼 있어도 사용자가 설정 키와 모델명 문자열을 알아야만 켜진다. 비개발자 사용자에게는 사실상 영구 비활성. 측정 결과 임베딩 블렌드가 어휘 갭 (\"심판\"",
"imports": [
"src/utils"
]
},
"src/extension/evalCommands.ts": {
"mtimeMs": 1781147900732.2805,
"size": 29561,
@@ -685,6 +715,16 @@
"src/intelligence/learningQueue"
]
},
"src/extension/featureInventory.ts": {
"mtimeMs": 1781234194666.4055,
"size": 7556,
"lines": 115,
"role": "ASTRA 기능 인벤토리 자동 생성 — 자기 지식 구식화의 근본 수정. 문제 (반복 발생한 심각 버그): ASTRA 의 자기 지식이 사람이 쓴 스냅샷 (selfIdentity 블록, \"ASTRA 자기 아키텍처\" 위키 문서)에 의존했다. 스냅샷은 작성 시점에 박제되므로 릴리스마다 구식이 되고, ASTRA 는 자기 평가·개선 제안에서 이미 있는 기능을 \"신규 ",
"imports": [
"src/utils",
"src/agent/postAnswerHooks"
]
},
"src/extension/initialSetup.ts": {
"mtimeMs": 1779764602604.987,
"size": 2982,
@@ -706,14 +746,15 @@
]
},
"src/extension/lessons.ts": {
"mtimeMs": 1779764602605.9907,
"size": 7459,
"lines": 135,
"mtimeMs": 1781234976058.6348,
"size": 7786,
"lines": 140,
"role": "",
"imports": [
"src/utils",
"src/retrieval",
"src/retrieval/lessonHelpers"
"src/retrieval/lessonHelpers",
"src/intelligence/lessonNetwork"
]
},
"src/extension/providerCommands.ts": {
@@ -763,9 +804,9 @@
]
},
"src/extension.ts": {
"mtimeMs": 1780971569736.942,
"size": 18383,
"lines": 372,
"mtimeMs": 1781232046994.3347,
"size": 21727,
"lines": 418,
"role": "",
"imports": [
"src/features/teamops/handlers",
@@ -793,6 +834,12 @@
"src/extension/calendarSetup",
"src/extension/initialSetup",
"src/features/stocks",
"src/features/briefing/dailyBriefing",
"src/extension/brainBootstrap",
"src/extension/embeddingBootstrap",
"src/extension/featureInventory",
"src/features/growth/growthCycleWatcher",
"src/features/growth/sleepDigest",
"src/extension/providerCommands",
"src/extension/scaffoldCommand",
"src/extension/lessonCommands",
@@ -800,7 +847,8 @@
"src/extension/telegramCommands",
"src/extension/settingsSetup",
"src/integrations/telegram/telegramSetup",
"src/features/setup/datacollectSetup"
"src/features/setup/datacollectSetup",
"src/features/growth/conflictScan"
]
},
"src/features/approval/approvalPanelProvider.ts": {
@@ -902,10 +950,24 @@
"role": "자동 분리: src/sidebarProvider.ts 4002-5116 (IIFE 본문) 에서 추출. 동작 동등. ${assets.derivedBase} placeholder 는 panelHtml 에서 .replace() 로 실제 값 주입. 다음 세션에서 OfficeSnapshot 기반으로 단계적으로 잘라낼 예정.",
"imports": []
},
"src/features/briefing/dailyBriefing.ts": {
"mtimeMs": 1781170096875.4578,
"size": 9101,
"lines": 184,
"role": "데일리 브리핑 워처 — 평일(월~금) KST 09:30 에 \"오늘의 할 일\"을 텔레그램으로 발송. 소스: 1. Google Calendar — iCal 캐시 새로고침 후 오늘 일정 (readCalendarEventsCache) 2. Google Tasks — 오늘 마감 + 기한 지난 미완료 + 날짜 없는 [조건부] task (listTasks) 발송 조건 ",
"imports": [
"src/utils",
"src/integrations/telegram/telegramClient",
"src/extension/telegramCommands",
"src/features/calendar/calendarCache",
"src/features/calendar/tasksApi",
"src/features/datacollect/scheduling/meetRegistration"
]
},
"src/features/calendar/calendarApi.ts": {
"mtimeMs": 1779065453869.39,
"size": 8987,
"lines": 205,
"mtimeMs": 1781169418789.298,
"size": 9935,
"lines": 218,
"role": "Google Calendar API v3 — event create/list 호출. access token 은 caller 가 직접 주입한다. 만료 처리는 withFreshAccessToken 헬퍼가 refresh token 으로 갱신 → 호출 → 401 발생 시 한 번 더 갱신 + 재시도. 외부 라이브러리(googleapis) 안 씀 — Calendar ",
"imports": [
"src/features/calendar/oauth",
@@ -957,9 +1019,9 @@
"imports": []
},
"src/features/calendar/tasksApi.ts": {
"mtimeMs": 1779879080585.057,
"size": 7206,
"lines": 169,
"mtimeMs": 1781160799880.293,
"size": 7421,
"lines": 172,
"role": "Google Tasks API v1 — task create 호출. Calendar / Sheets 와 같은 OAuth 토큰을 공유한다 (scope 에 tasks 포함). Tasks 는 date-only 모델(시간 없음)이라 /meet 의 액션 아이템처럼 \"시간 없이 마감일만 있는 할 일\" 에 자연스럽게 맞는다. 외부 라이브러리 안 씀 — Tasks API",
"imports": [
"src/features/calendar/calendarApi"
@@ -1197,16 +1259,16 @@
]
},
"src/features/datacollect/bridgeClient.ts": {
"mtimeMs": 1780624716182.2822,
"size": 8197,
"lines": 177,
"mtimeMs": 1781239127096.5232,
"size": 8238,
"lines": 178,
"role": "",
"imports": []
},
"src/features/datacollect/handlers.ts": {
"mtimeMs": 1781084265385.7295,
"size": 39566,
"lines": 724,
"mtimeMs": 1781239638273.816,
"size": 46089,
"lines": 821,
"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",
@@ -1217,7 +1279,9 @@
"src/features/datacollect/prompts/wikifyPrompt",
"src/features/datacollect/prompts/meetPrompt",
"src/features/calendar",
"src/features/datacollect/scheduling/calendarHelpers"
"src/features/datacollect/scheduling/meetRegistration",
"src/features/datacollect/scheduling/calendarHelpers",
"src/agent/hangulHygiene"
]
},
"src/features/datacollect/llm.ts": {
@@ -1230,9 +1294,9 @@
]
},
"src/features/datacollect/prompts/meetPrompt.ts": {
"mtimeMs": 1781084257519.8074,
"size": 12477,
"lines": 194,
"mtimeMs": 1781160824134.4404,
"size": 13297,
"lines": 201,
"role": "회의 녹취 텍스트 → 사실 기반 구조화 회의록(Actionable Minutes) LLM 프롬프트. 사용자 정의 규칙: Fact/Discussion/Decision/Risk/Action 분류, 메타데이터 우선.",
"imports": []
},
@@ -1251,10 +1315,10 @@
"imports": []
},
"src/features/datacollect/prompts/wikifyPrompt.ts": {
"mtimeMs": 1779764602619.1604,
"size": 4597,
"lines": 88,
"role": "추출된 웹사이트 본문 → Datacollect Research(P-Reinforce v3.0)와 동일한 위키 문서 프롬프트. Bridge의 /api/research/synthesize 템플릿을 웹 본문 소스용으로 이식.",
"mtimeMs": 1781239076699.4426,
"size": 8441,
"lines": 158,
"role": "추출된 웹사이트 본문 → P-Reinforce 위키 문서 프롬프트. 포맷 정본은 Datacollect 브리지의 wikiformat.mjs — 핸들러가 GET /api/wiki/template 로 받아 canonical 로 주입한다 (양쪽 포맷 통일). 브리지가 구버전(엔드포인트 없음)일 때만 아래 내장 사본(fallback)을 쓴다. 내장 사본은 정본을 따",
"imports": []
},
"src/features/datacollect/prompts/youtubePrompts.ts": {
@@ -1265,12 +1329,25 @@
"imports": []
},
"src/features/datacollect/scheduling/calendarHelpers.ts": {
"mtimeMs": 1780538342100.897,
"size": 4615,
"lines": 97,
"mtimeMs": 1781160936476.3435,
"size": 4854,
"lines": 99,
"role": "/meet 슬래시 명령의 후처리 — 회의록에서 action items 를 뽑아 캘린더 task 일정을 계산하는 stateless helpers. slashRouter 의 inline 블록을 분리. - addBusinessDays(base, n) — 토·일 제외 영업일 n 일 후 날짜 - toYmd(d) — Date → 'YYYY-MM-DD' - extrac",
"imports": []
},
"src/features/datacollect/scheduling/meetRegistration.ts": {
"mtimeMs": 1781170008519.57,
"size": 20511,
"lines": 392,
"role": "/meet 액션 아이템의 \"확신 게이트\" 등록 시스템. 정책 (사용자 정의): - 확정(합의+기한) → 자동 등록. - 진행미정 / 기한미정 / 조건부 → 등록 보류 + 사용자에게 질문, /meet confirm 답변으로 등록 완결. - 반복(예: 매주 목요일) → 반복 등록하지 않고 첫 1회만 등록 (까먹음 방지). - 과거 날짜(옛 녹취) → 과거 날짜",
"imports": [
"src/features/calendar/calendarApi",
"src/features/calendar/tasksApi",
"src/features/datacollect/scheduling/calendarHelpers",
"src/utils",
"src/features/calendar/calendarCache"
]
},
"src/features/datacollect/slashRouter.ts": {
"mtimeMs": 1780281950731.9368,
"size": 10210,
@@ -1319,6 +1396,56 @@
"src/features/_shared/eventSourcedStore"
]
},
"src/features/growth/conflictScan.ts": {
"mtimeMs": 1781234897748.83,
"size": 14843,
"lines": 263,
"role": "신규 지식 충돌 스캔 — 지식 정합성의 \"쓰기 시점\" 게이트. 기존 충돌 감지(검색 시점 [CONFLICT WARNING])는 두 문서가 우연히 같이 검색될 때만 동작한다. 이 스캔은 새로 추가·변경된 두뇌 문서를 매일 능동적으로 기존 유사 문서와 대조해, 검색되기 전에 모순을 표면화한다 (Mem0 의 UPDATE/DELETE 판단의 보수적 변형 — 시스템",
"imports": [
"src/config",
"src/utils",
"src/retrieval",
"src/retrieval/brainIndex",
"src/intelligence/llmCall",
"src/features/growth/sleepDigest"
]
},
"src/features/growth/growthCycleWatcher.ts": {
"mtimeMs": 1781231979220.9685,
"size": 19659,
"lines": 318,
"role": "주간 성장 사이클 워처 — Self-Evolving OS 의 폐루프 자동화. 기존엔 평가·학습큐·노후점검·학습실행이 전부 수동 명령이었다. 이 워처가 매주 (기본 일요일 20:00 KST) 자동으로: 1. 검색 평가 — 골든셋 recall@k/MRR (주간 추이 데이터, TF-IDF 경로) 2. 학습 큐 갱신 — Reflection → Need Engine",
"imports": [
"src/config",
"src/utils",
"src/retrieval",
"src/retrieval/brainIndex",
"src/retrieval/evalHarness",
"src/intelligence/reflectionStore",
"src/intelligence/needEngine",
"src/intelligence/knowledgeDecay",
"src/intelligence/skillScore",
"src/intelligence/researchAgent",
"src/intelligence/knowledgeValidation",
"src/intelligence/learningQueue",
"src/intelligence/llmCall",
"src/intelligence/correctionLoop",
"src/integrations/telegram/telegramClient",
"src/extension/telegramCommands"
]
},
"src/features/growth/sleepDigest.ts": {
"mtimeMs": 1781232042506.8752,
"size": 13185,
"lines": 271,
"role": "Sleep-time 지식 사전 소화 (Sleep-time Compute, arXiv 2504.13171 의 ASTRA 이식). 아이디어: 로컬 LLM 의 최대 약점(느린 추론)을 응답 시점에서 유휴 시간으로 옮긴다. 유휴 시간에 두뇌의 \"raw context\"(위키 원문 더미)를 \"learned context\"(예상 질의별 압축 소화 노트)로 변환해 두면,",
"imports": [
"src/config",
"src/utils",
"src/intelligence/llmCall",
"src/features/growth/conflictScan"
]
},
"src/features/hire/hireStore.ts": {
"mtimeMs": 1780275773463.53,
"size": 4567,
@@ -1893,9 +2020,9 @@
]
},
"src/integrations/telegram/telegramSetup.ts": {
"mtimeMs": 1779764602633.7812,
"size": 10136,
"lines": 176,
"mtimeMs": 1781170079525.693,
"size": 11600,
"lines": 197,
"role": "",
"imports": [
"src/integrations/telegram/telegramBot",
@@ -1906,6 +2033,7 @@
"src/skills/scopedBrainRetriever",
"src/sidebarProvider",
"src/integrations/telegram/promptBuilders",
"src/features/datacollect/scheduling/meetRegistration",
"src/features/company",
"src/integrations/telegram/conversationHistory"
]
@@ -1924,6 +2052,17 @@
"role": "Confidence Engine — 답변 확신도 0~100 결정론적 산출. Self-Evolving OS 마스터 플랜 Phase 2 / Track 1-1. 신뢰 조건 T4 \"확신이 없으면 사람에게 묻는다\" 의 측정 기반 — Escalation Engine 의 입력. 설계 원칙 (termValidator 와 동일): LLM 호출 없음. 검색 그라운딩 신호(턴",
"imports": []
},
"src/intelligence/correctionLoop.ts": {
"mtimeMs": 1781234941518.895,
"size": 17684,
"lines": 382,
"role": "Correction Loop — 사용자 정정 1회가 시스템을 세 군데서 성장시키는 단일 파이프라인. 사용자 정정 (\"아니야, 그거 6월이야\") ① 감지(looksLikeCorrection) + LLM 오류 분류(classifyCorrection) ├→ 태깅된 레슨 저장 (lessons/ — error-tag frontmatter) └→ 회귀 케이스 적립 (",
"imports": [
"src/intelligence/llmCall",
"src/intelligence/learningQueue",
"src/intelligence/lessonNetwork"
]
},
"src/intelligence/criticAgent.ts": {
"mtimeMs": 1781144246295.8977,
"size": 7294,
@@ -1983,6 +2122,15 @@
"src/intelligence/needEngine"
]
},
"src/intelligence/lessonNetwork.ts": {
"mtimeMs": 1781234925667.318,
"size": 4326,
"lines": 93,
"role": "레슨 네트워크 — A-MEM(NeurIPS 2025, Zettelkasten 원리)의 ASTRA 이식. 문제: lessons/ 가 고립된 카드 모음 — 새 레슨이 과거의 비슷한 교훈과 연결되지 않아 \"같은 종류의 실수\"라는 패턴이 파일 수준에서 보이지 않는다. A-MEM 의 두 메커니즘을 파일 기반으로 구현: 1. 동적 링킹: 새 레슨 저장 시 기존 레슨과",
"imports": [
"src/retrieval/scoring"
]
},
"src/intelligence/llmCall.ts": {
"mtimeMs": 1781144318025.0918,
"size": 2099,
@@ -2113,8 +2261,8 @@
]
},
"src/lib/contextBuilders/localProjectIntent.ts": {
"mtimeMs": 1779764602637.9385,
"size": 14145,
"mtimeMs": 1781240137750.4143,
"size": 14163,
"lines": 233,
"role": "",
"imports": [
@@ -2134,9 +2282,9 @@
]
},
"src/lib/contextBuilders/memoryContext.ts": {
"mtimeMs": 1781147441753.4504,
"size": 20436,
"lines": 381,
"mtimeMs": 1781173219871.77,
"size": 25179,
"lines": 444,
"role": "",
"imports": [
"src/agent",
@@ -2146,6 +2294,7 @@
"src/retrieval/lessonHelpers",
"src/retrieval/embeddings",
"src/retrieval/brainIndex",
"src/intelligence/correctionLoop",
"src/skills/agentKnowledgeMap",
"src/retrieval/knowledgeMix",
"src/retrieval/conflictBlock",
@@ -2234,6 +2383,17 @@
"src/lib/contextBuilders/projectEvidence"
]
},
"src/lib/contextBuilders/scheduleContext.ts": {
"mtimeMs": 1781170311837.847,
"size": 5418,
"lines": 97,
"role": "일정/할일 질의 컨텍스트 빌더 — \"오늘 업무 목록 알려줘\" 류 질문에 연결된 Google Calendar(iCal 캐시) + Google Tasks 의 실데이터를 주입한다. 문제: 채팅 경로(RAG)는 두뇌·기억만 검색해서, 캘린더가 연결돼 있어도 \"오늘 일정\"을 묻면 모델이 모르거나 지어냈다. 데일리 브리핑(텔레그램)과 같은 소스를 채팅에도 노출한다. ",
"imports": [
"src/utils",
"src/features/calendar/calendarCache",
"src/features/calendar/tasksApi"
]
},
"src/lib/contextBuilders/secondBrainInventory.ts": {
"mtimeMs": 1779764602643.456,
"size": 6314,
@@ -2244,10 +2404,19 @@
"src/features/secondBrainTrace"
]
},
"src/lib/contextBuilders/selfAssessContext.ts": {
"mtimeMs": 1781234219748.3652,
"size": 3903,
"lines": 61,
"role": "자기 평가/개선 질의 컨텍스트 — \"기능 개선 아이디어 줘\" 류 질문에 ASTRA 의 현행 기능 인벤토리(자동 생성 문서)를 결정론적으로 직접 주입한다. 문제 (3회 재발한 자기 지식 구식화의 마지막 구멍): 인벤토리 문서를 자동 생성해도 RAG 점수 경쟁에서 안 뽑히거나 모델이 검색 없이 기억으로 답하면 — 실제 사례: 답변 말미에 \"출처: 모델 지식 (",
"imports": [
"src/extension/featureInventory"
]
},
"src/lib/contextBuilders/selfIdentity.ts": {
"mtimeMs": 1781156179655.8901,
"size": 2663,
"lines": 26,
"mtimeMs": 1781231922976.9702,
"size": 3418,
"lines": 28,
"role": "[ASTRA 자기 지식 + 1인칭 정체성] 블록 — Astra/Agent 양쪽 모드 system prompt 가 공유. 왜 필요한가 (BUG: 자기 오보고): - 이 블록이 없으면 \"너는 어떻게 성장해?\" 같은 메타 질문에 모델이 학습 데이터의 일반 LLM 보일러플레이트(\"나는 frozen 모델이라 학습하지 않는다\")로 답한다. 실제 ASTRA 는 레슨·장",
"imports": []
},
@@ -2274,6 +2443,16 @@
"role": "Thinking partner response contract — system prompt 에 항상 prepend 되는 6항목 응답 규약. 100% stateless 한 정적 문자열이라 god-file agent.ts 에 박혀 있을 이유 없음. 단위 테스트 / 다른 모드에서 재사용 / contract 수정 시 변경 범위 최소화를 위해 별도 모듈로 격리. 6",
"imports": []
},
"src/lib/contextBuilders/urlContext.ts": {
"mtimeMs": 1781239183459.6887,
"size": 3408,
"lines": 64,
"role": "URL 컨텍스트 빌더 — 채팅 프롬프트에 URL 이 있으면 본문을 추출해 실데이터로 주입. 문제: /wikify 는 URL 에 접근하지만(브리지 /api/web-extract), 일반 채팅에 URL 을 주면 추출 경로가 없어 모델이 \"접근할 수 없습니다\"라고 답하거나 내용을 추측했다. 수정: 강제 주입 패턴의 4번째 적용 (일정→캘린더, 자기평가→인벤토리,",
"imports": [
"src/utils",
"src/features/datacollect/bridgeClient"
]
},
"src/lib/contextManager.ts": {
"mtimeMs": 1779764602646.58,
"size": 13536,
@@ -2477,9 +2656,9 @@
]
},
"src/retrieval/brainIndex.ts": {
"mtimeMs": 1780911242607.242,
"size": 22019,
"lines": 536,
"mtimeMs": 1781171738808.4268,
"size": 23847,
"lines": 566,
"role": "Brain Index — persistent, mtime-keyed tokenized cache of the Second Brain RAG 검색은 매 질의마다 브레인의 모든 .md 파일을 읽고 토크나이즈해서 TF-IDF 점수를 계산했습니다 — 파일 수가 많아지면 그게 병목입니다. 이 모듈은 <brainPath>/.astra/brain-index.json 에",
"imports": [
"src/retrieval/scoring",
@@ -2533,9 +2712,9 @@
]
},
"src/retrieval/embeddings.ts": {
"mtimeMs": 1778667198243.6443,
"size": 7294,
"lines": 167,
"mtimeMs": 1781171386826.0757,
"size": 8182,
"lines": 184,
"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"
@@ -2558,9 +2737,9 @@
]
},
"src/retrieval/index.ts": {
"mtimeMs": 1780913354474.1672,
"size": 36447,
"lines": 747,
"mtimeMs": 1781171760925.9387,
"size": 37706,
"lines": 765,
"role": "RetrievalOrchestrator — Unified RAG Pipeline Astra의 모든 검색 소스를 통합 관리하는 오케스트레이터입니다. 검색 흐름: ① Query Planning — 의도 분류 + 검색 전략 결정 ② Parallel Search — Brain + Memory + Project + Episode 동시 검색 ③ Result Fusio",
"imports": [
"src/config",
@@ -3110,8 +3289,8 @@
"imports": []
},
"src/utils.ts": {
"mtimeMs": 1780626069575.9587,
"size": 27057,
"mtimeMs": 1781240101964.1643,
"size": 27593,
"lines": 472,
"role": "",
"imports": [
@@ -3231,6 +3410,16 @@
"src/lib/contextManager"
]
},
"tests/correctionLoop.test.ts": {
"mtimeMs": 1781173427471.894,
"size": 7272,
"lines": 158,
"role": "Correction Loop 단위 테스트 — 순수 로직 (감지·프로필·레슨·큐 등록·영속화). LLM 의존 부분(classifyCorrection)은 엔드포인트 실패 → 휴리스틱 fallback 경로만 검증.",
"imports": [
"src/intelligence/correctionLoop",
"src/intelligence/learningQueue"
]
},
"tests/criticReflectionEval.test.ts": {
"mtimeMs": 1781144662610.272,
"size": 8327,
@@ -3261,6 +3450,16 @@
"src/features/devilAgent/devilPrompt"
]
},
"tests/featureInventory.test.ts": {
"mtimeMs": 1781232120081.0696,
"size": 2613,
"lines": 58,
"role": "기능 인벤토리 자동 생성 + 충돌 스캔 대상 필터 — 순수 로직 테스트. (자기 지식 구식화 버그의 근본 수정: 인벤토리가 package.json 에서 기계 생성되는지)",
"imports": [
"src/extension/featureInventory",
"src/features/growth/conflictScan"
]
},
"tests/findBrainFilesCache.test.ts": {
"mtimeMs": 1778549008921.7842,
"size": 2800,
@@ -3270,6 +3469,15 @@
"src/utils"
]
},
"tests/hangulHygiene.test.ts": {
"mtimeMs": 1781239721715.7893,
"size": 2573,
"lines": 54,
"role": "한·영 깨진 토큰 감지·수리 — 순수 로직 테스트.",
"imports": [
"src/agent/hangulHygiene"
]
},
"tests/helpers/mockLLMClient.ts": {
"mtimeMs": 1779764602682.1555,
"size": 3675,
@@ -3329,6 +3537,17 @@
"src/retrieval/lessonHelpers"
]
},
"tests/lessonNetwork.test.ts": {
"mtimeMs": 1781235008042.3987,
"size": 4375,
"lines": 84,
"role": "레슨 네트워크(A-MEM 이식) + 통합 초안 형식 — 순수 로직 테스트.",
"imports": [
"src/intelligence/lessonNetwork",
"src/features/growth/conflictScan",
"src/retrieval/scoring"
]
},
"tests/lmStudioLifecycle.test.ts": {
"mtimeMs": 1780971798141.8428,
"size": 12218,
@@ -3369,6 +3588,15 @@
"src/lib/contextBuilders/multiAgentRouting"
]
},
"tests/meetRegistration.test.ts": {
"mtimeMs": 1781162418444.7136,
"size": 5116,
"lines": 110,
"role": "/meet 확신 게이트 — 분류·confirm 파싱·날짜 정규화 테스트. 정책: 확정+기한만 자동, 진행미정/기한미정/조건부는 보류, 반복은 첫 1회, 과거 날짜는 등록하되 완료확인 표기, 기한 해석 불가 확정건은 보류(추측 등록 금지).",
"imports": [
"src/features/datacollect/scheduling/meetRegistration"
]
},
"tests/mocks/vscode.js": {
"mtimeMs": 1778549008931.3582,
"size": 1738,
@@ -3503,6 +3731,31 @@
"src/core/responseRecovery"
]
},
"tests/retrievalEvalCompare.test.ts": {
"mtimeMs": 1781167712806.1748,
"size": 4115,
"lines": 86,
"role": "검색 모드 A/B 측정 — 파일 단위(baseline) vs 섹션 청크(Phase 1-가). 평소 테스트 런에서는 skip 된다 (실제 두뇌 폴더 + 수천 파일 인덱싱이 필요해 CI/패키징에 부적합). 수동 실행: ASTRAEVALBRAIN=\"E:/Wiki/2nd/10Wiki/Topics\" npx jest tests/retrievalEvalCompare.t",
"imports": [
"src/retrieval",
"src/retrieval/evalHarness",
"src/utils",
"src/retrieval/brainIndex"
]
},
"tests/retrievalEvalEmbedding.test.ts": {
"mtimeMs": 1781170974222.5422,
"size": 5598,
"lines": 106,
"role": "하이브리드(sparse+dense) 검색 측정 — 청크 TF-IDF vs 청크+임베딩 (alpha sweep). 평소 테스트 런에서는 skip (실제 두뇌 + 로컬 임베딩 서버 필요). 수동 실행: ASTRAEVALBRAIN=\"E:/Wiki/2nd/10Wiki/Topics\" \\ ASTRAEVALEMBEDMODEL=\"text-embedding-nomic-em",
"imports": [
"src/retrieval",
"src/retrieval/evalHarness",
"src/utils",
"src/retrieval/brainIndex",
"src/retrieval/embeddings"
]
},
"tests/scoring.test.ts": {
"mtimeMs": 1778043314856.5872,
"size": 6189,
@@ -3521,6 +3774,17 @@
"src/features/secondBrainTrace"
]
},
"tests/selfAssessContext.test.ts": {
"mtimeMs": 1781232946761.048,
"size": 3413,
"lines": 68,
"role": "자기 평가 정본 주입 + 충돌 신뢰도 비교 — 순수 로직 테스트.",
"imports": [
"src/lib/contextBuilders/selfAssessContext",
"src/extension/featureInventory",
"src/features/growth/conflictScan"
]
},
"tests/sheetsApi.test.ts": {
"mtimeMs": 1779065453899.3755,
"size": 4026,
@@ -3540,6 +3804,15 @@
"src/skills/skillInjectionService"
]
},
"tests/sleepDigest.test.ts": {
"mtimeMs": 1781231131342.9487,
"size": 4527,
"lines": 101,
"role": "Sleep-time 사전 소화 — 순수 로직 테스트 (대상 선정·노후화 판정·노트 형식). LLM 호출(runSleepDigestOnce)은 제외 — 통합 검증은 수동 명령으로.",
"imports": [
"src/features/growth/sleepDigest"
]
},
"tests/stocksCriteria.test.ts": {
"mtimeMs": 1781086406001.8665,
"size": 7191,
@@ -3598,6 +3871,16 @@
"src/core/transaction"
]
},
"tests/urlContext.test.ts": {
"mtimeMs": 1781239218670.592,
"size": 2655,
"lines": 48,
"role": "URL 컨텍스트 + wikify 정본 포맷 — 순수 로직 테스트.",
"imports": [
"src/lib/contextBuilders/urlContext",
"src/features/datacollect/prompts/wikifyPrompt"
]
},
"tests/vulnerability.test.ts": {
"mtimeMs": 1777511752615.9702,
"size": 2160,
@@ -3862,8 +4145,43 @@
"role": "Bug: 이번 회의록을 참고해서 이전 회의록과 비교했을때 많은 부분이 개선된 것이 확인이 되었어. 그렇지만 아래와 같이 지금 만든 회의록에 대한 피드백을...",
"imports": []
},
"docs/records/ConnectAI/bugs/BUG-0021-이번-결과는-이전-두-번보다-확실히-개선되었습니다-점수로-보면-1차-회의록-83점-2차-회의록-88-90점-.md": {
"mtimeMs": 1781156720475.01,
"size": 2579,
"lines": 16,
"role": "Bug: 이번 결과는 이전 두 번보다 확실히 개선되었습니다. 점수로 보면: 1차 회의록: 83점 2차 회의록: 88~90점 이번 회의록...",
"imports": []
},
"docs/records/ConnectAI/bugs/BUG-0022-내일-별-보고가-있어-이번주-작업과-차주-작업-관련해서-pm팀-업무-보고를-해야하는데-간단하고-간결하게-주요.md": {
"mtimeMs": 1781161289463.564,
"size": 2605,
"lines": 16,
"role": "Bug: 내일 별 보고가 있어. 이번주 작업과 차주 작업 관련해서 pm팀 업무 보고를 해야하는데 간단하고 간결하게 주요 이슈 사항들을 보고 할 수 있게 ...",
"imports": []
},
"docs/records/ConnectAI/bugs/BUG-0023-지금-스크립트-봤는데-아래와-같은-피드백을-줄께-너의-성장에-도움이-될만한것들은-성장요소로-쓰면-좋겠어-전체.md": {
"mtimeMs": 1781161523565.7075,
"size": 2715,
"lines": 16,
"role": "Bug: 지금 스크립트 봤는데 아래와 같은 피드백을 줄께. 너의 성장에 도움이 될만한것들은 성장요소로 쓰면 좋겠어. 전체적으로는 괜찮아요. 특히 PM 보...",
"imports": []
},
"docs/records/ConnectAI/bugs/BUG-0024-이메일-하나-작성해줘-점검-시나리오-2026-6-18-메타버스-사유-메타버스-라이브-서버-스펙-다운-다만-스.md": {
"mtimeMs": 1781168627170.849,
"size": 2577,
"lines": 16,
"role": "Bug: 이메일 하나 작성해줘. 점검 시나리오 : 2026-6-18 메타버스 사유 : 메타버스 라이브 서버 스펙 다운 다만 스펙 다운이라고 패치 노트를 ...",
"imports": []
},
"docs/records/ConnectAI/bugs/BUG-0025-아-문제는-이메일-받는-사람이-점검이-있을것이라는-것을-몰라-그래서-점검을-진행하려한다고-정중히.md": {
"mtimeMs": 1781168834822.8625,
"size": 1679,
"lines": 16,
"role": "Bug: 아 문제는 이메일 받는 사람이 점검이 있을것이라는 것을 몰라. 그래서 점검을 진행하려한다고 정중히",
"imports": []
},
"docs/records/ConnectAI/chronicle.config.json": {
"mtimeMs": 1781156389303.169,
"mtimeMs": 1781246227698.825,
"size": 371,
"lines": 11,
"role": "JSON configuration",
@@ -4142,6 +4460,97 @@
"role": "ADR: 너가 ASTRA야 왜 남처럼 이야기 하지?",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0040-스크립트로-써달라했자나.md": {
"mtimeMs": 1781161547920.235,
"size": 1516,
"lines": 19,
"role": "ADR: 스크립트로 써달라했자나",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0041-좋아-다음에-업무-스크립트-써달라고했을때-이-규칙을-사용해줘.md": {
"mtimeMs": 1781161592347.8997,
"size": 1591,
"lines": 19,
"role": "ADR: 좋아. 다음에 업무 스크립트 써달라고했을때 이 규칙을 사용해줘~",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0042-어-지금-다시-보면-3dism-계정관련해서는-6-11-롯데-이노베이트-미팅을-통해-칼리버스-전용-계정-생성을.md": {
"mtimeMs": 1781161751144.0005,
"size": 1935,
"lines": 19,
"role": "ADR: 어 지금 다시 보면 3Dism 계정관련해서는 6/11 롯데 이노베이트 미팅을 통해 칼리버스 전용 계정 생성을 마쳤습니다. 라고 했는데 마쳤다고 ...",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0043-지금-같은-질문에는-아래와-같은-답변은-불필요한거-같아-다가오는-주요-일정-메타버스-라이브-서버-스펙-다운-.md": {
"mtimeMs": 1781169926345.4453,
"size": 1908,
"lines": 19,
"role": "ADR: 지금 같은 질문에는 아래와 같은 답변은 불필요한거 같아. [다가오는 주요 일정] 메타버스 라이브 서버 스펙 다운/인스턴스 삭제 작업 (D-7) ...",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0044-어-캘린더로-보면-6월-12일-날짜로-등록된-테스크가-4개가-있는데-예정된-주요-일정은-없습니다가-맞아.md": {
"mtimeMs": 1781170027295.177,
"size": 1698,
"lines": 19,
"role": "ADR: 어 캘린더로 보면 6월 12일 날짜로 등록된 테스크가 4개가 있는데 예정된 주요 일정은 없습니다가 맞아?",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0045-여전히-6월-12일-업무-목록이-없다고-답하네.md": {
"mtimeMs": 1781170097209.9717,
"size": 1562,
"lines": 19,
"role": "ADR: 여전히 6월 12일 업무 목록이 없다고 답하네?",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0046-self-evolving-기능이-있는데-이-기능을-어떻게-하면-더-날카롭게-할-수-있을까.md": {
"mtimeMs": 1781172642379.3794,
"size": 1522,
"lines": 19,
"role": "ADR: self evolving 기능이 있는데 이 기능을 어떻게 하면 더 날카롭게 할 수 있을까?",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0047-아스트라를-성장하고-self-envolving을-더-고도화-하기-위해서-어떠한-로직을-추가로-개발하면-좋을지.md": {
"mtimeMs": 1781229170549.6265,
"size": 1642,
"lines": 19,
"role": "ADR: 아스트라를 성장하고 self-envolving을 더 고도화 하기 위해서 어떠한 로직을 추가로 개발하면 좋을지 의견있어?",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0048-e-wiki-connectai-의-기능-중-astra의-업무-능력이나-지식-self-envolving-혹은-.md": {
"mtimeMs": 1781232584790.917,
"size": 1665,
"lines": 19,
"role": "ADR: E:\\Wiki\\connectai 의 기능 중 astra의 업무 능력이나 지식 self-envolving 혹은 대화 방법이라거나 답변 관련하여 개...",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0049-koritips-com-블로그에-대한-평가해줘.md": {
"mtimeMs": 1781232964837.836,
"size": 1468,
"lines": 19,
"role": "ADR: koritips.com 블로그에 대한 평가해줘.",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0050-e-wiki-connectai-의-기능-중-astra의-업무-능력이나-지식-self-envolving-혹은-.md": {
"mtimeMs": 1781233897833.9773,
"size": 1677,
"lines": 19,
"role": "ADR: E:\\Wiki\\connectai 의 기능 중 astra의 업무 능력이나 지식 self-envolving 혹은 대화 방법이라거나 답변 관련하여 개...",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0051-e-wiki-connectai-프로젝트에서-아스트라가-답변을-하는-포맷에-대해-분석하고-어떻게-하면-사용자가.md": {
"mtimeMs": 1781239596642.4785,
"size": 1762,
"lines": 19,
"role": "ADR: E:\\Wiki\\connectai 프로젝트에서 아스트라가 답변을 하는 포맷에 대해 분석하고 어떻게 하면 사용자가 더 읽기 편한 포멧으로 작성될 수...",
"imports": []
},
"docs/records/ConnectAI/decisions/ADR-0052-시각적-요소를-늘리는-방향.md": {
"mtimeMs": 1781239705410.6494,
"size": 1472,
"lines": 19,
"role": "ADR: 시각적 요소를 늘리는 방향.",
"imports": []
},
"docs/records/ConnectAI/development/2026-05-02_answer-format-readability-tuning.md": {
"mtimeMs": 1778028987330.4185,
"size": 1564,
@@ -4394,6 +4803,97 @@
"role": "Development Log: 아니 지금 코드 업데이트를 했거든. 다시 코드를 검토하고 의견을 줘.",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_6월-12일-업무-목록-알려줘_implementation.md": {
"mtimeMs": 1781170123344.3845,
"size": 1713,
"lines": 22,
"role": "Development Log: 6월 12일 업무 목록 알려줘",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_너는-스스로-너-자신이-성장할-수-있는-기능이-있어_implementation.md": {
"mtimeMs": 1781172558512.6155,
"size": 1627,
"lines": 22,
"role": "Development Log: 너는 스스로 너 자신이 성장할 수 있는 기능이 있어?",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_아-내용을-잘못-줬어-작업-시간은-약-4시간-정도-예상-11시에-시작해서-15시까지-로-시간을-다시-조정해주_implementation.md": {
"mtimeMs": 1781168751631.405,
"size": 1734,
"lines": 22,
"role": "Development Log: 아 내용을 잘못 줬어. 작업 시간은 약 4시간 정도 예상 11시에 시작해서 15시까지. 로 시간을 다시 조정해주고 점검 예상 시간 관련해서 정정...",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_아니-너의-답변-방식을-좀-더-개선하면-좋을-것-같아-나의-질문은-오늘-즉-6월-11일-업무-브리핑해줘는-6_implementation.md": {
"mtimeMs": 1781169872096.6626,
"size": 1850,
"lines": 22,
"role": "Development Log: 아니 너의 답변 방식을 좀 더 개선하면 좋을 것 같아. 나의 질문은 오늘 즉 6월 11일 업무 브리핑해줘는. 6월 11일 날짜에 캘린더에 등록된...",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_아니-오늘날짜로-브리핑해달-라고-헀자나-그러면-6월-11일-업무-목록을-알려줘야지_implementation.md": {
"mtimeMs": 1781169744395.8994,
"size": 1758,
"lines": 22,
"role": "Development Log: 아니 오늘날짜로 브리핑해달ㄹ라고 헀자나. 그러면 6월 11일 업무 목록을 알려줘야지.",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_앞으로는-내-의도를-잘-파악해주면-좋겠어_implementation.md": {
"mtimeMs": 1781169957034.6182,
"size": 1772,
"lines": 22,
"role": "Development Log: 앞으로는 내 의도를 잘 파악해주면 좋겠어.",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_오늘-날짜-업무-알려줘_implementation.md": {
"mtimeMs": 1781169987573.6775,
"size": 1320,
"lines": 22,
"role": "Development Log: 오늘 날짜 업무 알려줘.",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_오늘-업무-목록-줘_implementation.md": {
"mtimeMs": 1781170061965.1648,
"size": 1506,
"lines": 22,
"role": "Development Log: 오늘 업무 목록 줘.",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_캘린더를-보면-오늘-날짜로-2개-테스크가-있는데-롯데-자이언츠-이머시브-현황-확인과-즐겨찾기-ui-수정이-있_implementation.md": {
"mtimeMs": 1781169806677.5552,
"size": 1804,
"lines": 22,
"role": "Development Log: 캘린더를 보면 오늘 날짜로 2개 테스크가 있는데 ? 롯데 자이언츠 이머시브 현황 확인과 즐겨찾기 UI 수정이 있자나.",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_캘린더를-읽고-정확한-내용을-줘_implementation.md": {
"mtimeMs": 1781170156036.4238,
"size": 1593,
"lines": 22,
"role": "Development Log: 캘린더를 읽고 정확한 내용을 줘.",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-11_캘린더에서-오늘날짜-기준으로-할일-브리핑해줘-간단하게_implementation.md": {
"mtimeMs": 1781169689828.0005,
"size": 1080,
"lines": 22,
"role": "Development Log: 캘린더에서 오늘날짜 기준으로 할일 브리핑해줘. 간단하게",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-12_e-wiki-connectai-에서-wikify-사용되는-포멧에-대한-의견-부족한거나-개선이-필요한-부분이-_implementation.md": {
"mtimeMs": 1781239096463.1362,
"size": 1619,
"lines": 22,
"role": "Development Log: E:\\Wiki\\connectai 에서 wikify 사용되는 포멧에 대한 의견. 부족한거나 개선이 필요한 부분이 있는지.",
"imports": []
},
"docs/records/ConnectAI/development/2026-06-12_e-wiki-connectai-의-기능-중-astra의-업무-능력이나-지식-self-envolving-혹은-_implementation.md": {
"mtimeMs": 1781234652056.5469,
"size": 1750,
"lines": 23,
"role": "Development Log: E:\\Wiki\\connectai 의 기능 중 astra의 업무 능력이나 지식 self-envolving 혹은 대화 방법이라거나 답변 관련하여 개...",
"imports": []
},
"docs/records/ConnectAI/discussions/2026-05-13_volumes-data-project-antigravity-connectai-이-프로젝트-작업-할-거야.md": {
"mtimeMs": 1778720117404.2578,
"size": 668,
@@ -4443,6 +4943,13 @@
"role": "Discussion: 진행해",
"imports": []
},
"docs/records/ConnectAI/discussions/2026-06-11_duns를-재발급-받아야-하는데-발행시-사용한-이메일을-알-수가-없어-이럴때-어떻게-해야해.md": {
"mtimeMs": 1781162469078.791,
"size": 1514,
"lines": 16,
"role": "Discussion: DUNS를 재발급 받아야 하는데, 발행시 사용한 이메일을 알 수가 없어. 이럴때 어떻게 해야해?",
"imports": []
},
"docs/records/ConnectAI/discussions/2026-06-11_너는-어떻게-너-스스로의-지식을-쌓고-성장해가는거야.md": {
"mtimeMs": 1781155163227.4497,
"size": 1522,
@@ -4450,6 +4957,13 @@
"role": "Discussion: 너는 어떻게 너 스스로의 지식을 쌓고 성장해가는거야?",
"imports": []
},
"docs/records/ConnectAI/discussions/2026-06-12_우리-개발실은-가우시안-스필리터-그리고-월마트에서-이머시브-스토어-그리고-ai로-영상-사운드-제작팀이-있어-.md": {
"mtimeMs": 1781243961658.7224,
"size": 1747,
"lines": 16,
"role": "Discussion: 우리 개발실은 가우시안 스필리터, 그리고 월마트에서 이머시브 스토어, 그리고 ai로 영상, 사운드 제작팀이 있어. 인원은 30명정도야. 여기에는...",
"imports": []
},
"docs/records/ConnectAI/planning/2026-05-02_project-chronicle-guard.md": {
"mtimeMs": 1778028987339.2349,
"size": 3004,
@@ -4485,6 +4999,20 @@
"role": "Feature Plan: 지금 connectai architecture.md 문서 내용 중 업데이트가 필요한 부분이 있는지 확인해줘. 그러고 최신화해줘. 너가 분석해",
"imports": []
},
"docs/records/ConnectAI/planning/2026-06-11_e-wiki-connectai-프로젝트의-코딩-설계가-잘되어-있는지-유지-보수가-쉽게-되어-있는지-검토해줄-.md": {
"mtimeMs": 1781165413304.578,
"size": 3506,
"lines": 40,
"role": "Feature Plan: E:\\Wiki\\connectai 프로젝트의 코딩, 설계가 잘되어 있는지, 유지 보수가 쉽게 되어 있는지 검토해줄 수 있어?",
"imports": []
},
"docs/records/ConnectAI/planning/2026-06-12_https-koritips-com-블로그에-대한-조사-내용-평가를-해줘.md": {
"mtimeMs": 1781246227682.2588,
"size": 3418,
"lines": 40,
"role": "Feature Plan: https://koritips.com 블로그에 대한 조사, 내용 평가를 해줘.",
"imports": []
},
"docs/records/ConnectAI/project-profile.md": {
"mtimeMs": 1778028987341.925,
"size": 987,
@@ -4500,9 +5028,9 @@
"imports": []
},
"docs/records/ConnectAI/timeline.md": {
"mtimeMs": 1781156389286.0684,
"size": 18155,
"lines": 287,
"mtimeMs": 1781246227685.3547,
"size": 24287,
"lines": 392,
"role": "Project Timeline",
"imports": []
},