- ArtifactQualityReviewService를 확장해 HTML의 board/strategy decision gap, DOCX evidence table·callout 부족, XLSX dashboard trend·variance·sheet summary·headline tile 부족을 개별 이슈로 판정하도록 보강 - ArtifactRepairGuideService와 DeckRepairGuideService를 보강해 decision summary, next steps, evidence table, trend/variance, dashboard tile 등 실제 보강 행동을 바로 제안하는 repair guide를 반환하도록 정리 - ExcelSkill review 입력을 세분화하고 Html/PPT golden 테스트를 strategy brief, PMO steering 시나리오까지 확대해 문서군 golden 회귀 범위를 넓힘 - 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_finish_batch\\ -p:IntermediateOutputPath=obj\\verify_doc_finish_batch\\ / dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal (ArtifactQualityReviewServiceTests, ArtifactRepairGuideServiceTests, DeckQualityReviewServiceTests, DeckRepairGuideServiceTests, HtmlSkillGoldenReportTests, PptxSkillGoldenDeckTests, DocxSkillGoldenDocumentTests, ExcelSkillGoldenWorkbookTests) -p:OutputPath=bin\\verify_doc_finish_batch_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_finish_batch_tests\
118 KiB
업데이트: 2026-04-14 19:50 (KST) 업데이트: 2026-04-14 21:25 (KST)
- 문서 생성 고도화 2차를 반영했습니다.
src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs를 추가해 HTML/DOCX/XLSX 산출물에 대해 로컬 품질 점수와 보완 포인트를 계산하고,HtmlSkill,DocxSkill,ExcelSkill이 같은 리뷰 모델을 공유하도록 맞췄습니다. src/AxCopilot/Services/Agent/DocxSkill.cs는template_path,cover_subtitle,cover_meta,toc를 지원하도록 확장했습니다. DOCX 템플릿 복제 후 본문을 재구성하고, 커버 페이지와 TOC 필드를 삽입한 뒤 structured review 결과를 함께 반환합니다.src/AxCopilot/Services/Agent/ExcelSkill.cs는 executive summary sheet에 detail sheet 링크를 자동 생성하고, KPI/highlights/actions 구조를 workbook quality review와 연결하도록 보강했습니다.src/AxCopilot/Services/Agent/HtmlSkill.cs는 로컬 품질 리뷰를 결과 요약에 포함하도록 바꿨고, 문서형 번들 스킬로executive-brief,kpi-workbook,board-report-html을 추가했습니다.- 테스트:
ArtifactQualityReviewServiceTests,DocxSkillTemplateFeaturesTests,ExcelSkillExecutiveSummaryLinkTests추가 - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_phase2\\ -p:IntermediateOutputPath=obj\\verify_doc_phase2\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|DocxSkillTemplateFeaturesTests|ExcelSkillExecutiveSummaryLinkTests|DocumentAssemblerSemanticTests|DocumentPlannerBusinessDocumentTests|HtmlSkillConsultingSectionsTests|ExcelSkillSummarySheetTests" -p:OutputPath=bin\\verify_doc_phase2_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_phase2_tests\\통과 9
업데이트: 2026-04-14 22:52 (KST)
- 문서 포맷 고도화와 PPTX 확장 포인트를 함께 반영했습니다.
src/AxCopilot/Services/Agent/ExcelSkill.cs는conditional_formats를 지원해 색상 스케일과 데이터 바 조건부서식을 OpenXML로 직접 생성하고, workbook quality review에도 조건부서식 개수를 반영합니다. src/AxCopilot/Services/Agent/DocxSkill.cs는style_map을 지원하도록 확장했습니다. 템플릿에 정의된 제목/헤딩/본문 스타일을 실제 문단의ParagraphStyleId로 연결해 사내 템플릿 기반 문서 품질을 높였습니다.src/AxCopilot/Services/Agent/HtmlSkill.cs는print_header,print_footer를 받아 인쇄용 헤더/푸터 프레임을 렌더링하고,src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs는 HTML/DOCX/XLSX 품질 리뷰 문자열과 판정 로직을 공통 형식으로 정리했습니다.- PPTX는
src/AxCopilot/Services/Agent/PptxTemplatePackRegistry.cs를 새로 추가해strategy,board,pmo,finance,sales,operating_model템플릿 팩을 정의했습니다.src/AxCopilot/Services/Agent/PptxSkill.cs는template_pack파라미터와 objective/audience 기반 pack suggestion을 받아 이후 목적형 deck 고도화를 이어가기 쉬운 구조가 됐습니다. - 테스트:
ArtifactQualityReviewServiceTests,ExcelSkillDataValidationTests,ExcelSkillConditionalFormattingTests,DocxSkillStyleMapTests,HtmlSkillPrintFrameTests,PptxSkillTemplatePackTests - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_next_doc_ppt\\ -p:IntermediateOutputPath=obj\\verify_next_doc_ppt\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ExcelSkillDataValidationTests|ExcelSkillConditionalFormattingTests|ExcelSkillExecutiveSummaryLinkTests|ExcelSkillSummarySheetTests|DocxSkillTemplateFeaturesTests|DocxSkillStyleMapTests|HtmlSkillConsultingSectionsTests|HtmlSkillPrintFrameTests|DocumentAssemblerDocxFeaturesTests|PptxSkillConsultingDeckTests|PptxSkillAutoRepairTests|PptxSkillTemplatePackTests" -p:OutputPath=bin\\verify_next_doc_ppt_tests\\ -p:IntermediateOutputPath=obj\\verify_next_doc_ppt_tests\\통과 15
업데이트: 2026-04-14 19:50 (KST)
- Agent loop/queue/context 품질을 보강했습니다.
src/AxCopilot/Services/Agent/AgentCommandQueue.cs로 실행 중 추가 입력을 우선순위와 interrupt 여부까지 포함해 관리하고,AgentLoopService는 이를 안전하게 반영합니다. AgentToolResultBudget,AgentQueryContextBuilder,ChatModels는 tool result preview를 메시지에 캐시해 긴 세션과 재질문에서도 같은 축약 결과를 재사용하도록 정리했습니다.- 코드 탭의 내장 언어 지원을
src/AxCopilot/Services/CodeLanguageCatalog.cs로 통합했고, 설정의 코드 탭에 지원 언어(LSP)와 코드 탭 기본 지원 언어를 명시적으로 표시합니다. PptxSkill에executive_summary,recommendation,roadmap,comparison,kpi_dashboard레이아웃을 추가했고,DocumentPlannerTool은 발표 자료 계획을Executive Summary -> Situation & Imperative -> Key Findings -> Options & Recommendation -> Implementation Roadmap -> Impact & Ask구조로 생성합니다.pptx-creator.skill.md도 AX nativepptx_create중심으로 재작성했습니다.- 테스트:
CodeLanguageCatalogTests,AgentCommandQueueTests,AgentToolResultBudgetTests,DocumentPlannerPresentationTests,PptxSkillConsultingDeckTests추가 및 기존WorkspaceContextGeneratorTests.cs(76)nullable 경고 수정 - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_impl\\ -p:IntermediateOutputPath=obj\\verify_impl\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "CodeLanguageCatalogTests|AgentCommandQueueTests|AgentToolResultBudgetTests|DocumentPlannerPresentationTests|PptxSkillConsultingDeckTests" -p:OutputPath=bin\\verify_impl_tests\\ -p:IntermediateOutputPath=obj\\verify_impl_tests\\통과 15
AX Copilot - 媛쒕컻 臾몄꽌
理쒖쥌 ?낅뜲?댄듃: 2026-04-14 19:13 (KST) 쨌 踰꾩쟾 0.7.3
?낅뜲?댄듃 濡쒓렇
-
?낅뜲?댄듃: 2026-04-14 19:13 (KST)
-
claude-code湲곗? Phase 4瑜??댁뼱??諛섏쁺?덉뒿?덈떎.src/AxCopilot/Services/Agent/McpSkillCatalog.cs瑜?異붽???MCP ?쒕쾭 硫뷀??곗씠?곕?mcpsource scope??synthetic skill濡?蹂?섑븯怨?ToolRegistry.RegisterMcpToolsAsync()?댄썑 snapshot??媛깆떊?섎룄濡??곌껐?덉뒿?덈떎. -
src/AxCopilot/Services/Agent/SkillService.cs??source policy瑜?managed/user/additional/project/plugin/mcp/legacy?⑥쐞濡??먮떒?섎룄濡??뺤옣?덇퀬, source ?곗꽑?쒖쐞 湲곕컲 dedupe? inline shell trust boundary瑜??④퍡 ?곸슜?⑸땲?? plugin-only mode媛 耳쒖졇 ?덉쑝硫?managed/plugin/bundled留??좎??섍퀬 ?섎㉧吏 source???④퉩?덈떎. -
?щ옒??紐낅졊 ?⑹꽦?
src/AxCopilot/Views/SlashCommandCatalog.cs?src/AxCopilot/Views/ChatWindow.xaml.cs?먯꽌 ?ш뎄?깊뻽?듬땲?? builtin command? skill??怨듯넻 priority濡??⑹꽦??異⑸룎 ??????ぉ留??몄텧?섍퀬, builtin/review媛숈? ?덉빟 紐낅졊??project skill蹂대떎 ?덉젙?곸쑝濡??곗꽑?⑸땲?? -
?ㅼ젙/UI??
src/AxCopilot/Views/SettingsWindow.xaml,src/AxCopilot/Views/AgentSettingsWindow.xaml,src/AxCopilot/Views/AgentSettingsWindow.xaml.cs,src/AxCopilot/Views/SkillGalleryWindow.xaml.cs???곌껐?덉뒿?덈떎. MCP ?ㅽ궗 source ?좉?, plugin-only mode, source蹂?inline shell ?덉슜 踰붿쐞, MCP 移댄뀒怨좊━/諛곗?, synthetic skill???뚯씪 ?≪뀡 李⑤떒???④퍡 諛섏쁺?덉뒿?덈떎. -
?뚯뒪?몃뒗
src/AxCopilot.Tests/Services/SkillServiceRuntimePolicyTests.cs,src/AxCopilot.Tests/Services/McpSkillCatalogTests.cs,src/AxCopilot.Tests/Views/SlashCommandCatalogTests.cs??異붽??덉뒿?덈떎. -
寃利?
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_phase4\\ -p:IntermediateOutputPath=obj\\verify_phase4\\寃쎄퀬 0 / ?ㅻ쪟 0 -
寃利?
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "SkillServiceRuntimePolicyTests|SlashCommandCatalogTests|McpSkillCatalogTests" -p:OutputPath=bin\\verify_phase4_tests\\ -p:IntermediateOutputPath=obj\\verify_phase4_tests\\?듦낵 17 -
李멸퀬: ?뚯뒪??鍮뚮뱶 以?湲곗〈 ?뚯씪
src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs(76)??nullable 寃쎄퀬 1嫄댁? ?좎??⑸땲?? -
?낅뜲?댄듃: 2026-04-14 17:46 (KST)
-
?꾧뎄 ?대쫫 ?뺥빀??臾몄젣瑜?以꾩씠湲??꾪빐
src/AxCopilot/Services/Agent/AgentToolCatalog.cs瑜?異붽??덉뒿?덈떎. canonical id, legacy alias, ???몄텧, ?ㅼ젙 移댄뀒怨좊━, 蹂묐젹 read-only 遺꾨쪟瑜??쒓납?먯꽌 愿由ы븯?꾨줉 ?뺣━?덉뒿?덈떎. -
ToolRegistry,AgentLoopService,AgentLoopParallelExecution,IAgentTool,AgentHookRunner,SkillService媛 紐⑤몢 媛숈? 移댄깉濡쒓렇瑜??ъ슜?섎룄濡??곌껐?덉뒿?덈떎. ?댁뿉 ?곕씪git/lsp/zip/project_rule/snippet_run媛숈? ?덉쟾 ?대쫫???고??꾩뿉???먮룞 ?뺢퇋?붾맗?덈떎. -
?대??ㅼ젙 ?곕룞???④퍡 諛섏쁺?덉뒿?덈떎.
AgentSettingsWindow?SettingsWindow???꾧뎄 移대뱶, ???몄쭛湲? 鍮꾪솢???꾧뎄 ??? ?꾧뎄 沅뚰븳 ??μ씠 canonical ?대쫫 湲곗??쇰줈 ?숈옉?섎ʼn 湲곗〈 ??κ컪? alias ?명솚?쇰줈 ?≪닔?⑸땲?? -
?ㅽ궗 愿???ㅻ챸? ?꾩옱 援ъ“??留욊쾶 ?꾪솕?덉뒿?덈떎. 湲곕낯 ?ㅽ궗 ?대뜑? 異붽? ?대뜑瑜??④퍡 濡쒕뱶?섎뒗 ?먮쫫, 吏곸젒 ?몄텧 ?ㅽ궗怨??고????뺤콉 ?곌껐 ?ㅽ궗??媛숈씠 蹂댁뿬二쇰뒗 諛⑺뼢?쇰줈 ?ㅼ젙/?ы봽 臾멸뎄瑜?蹂댁젙?덉뒿?덈떎.
-
寃利?
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_toolcat\\ -p:IntermediateOutputPath=obj\\verify_toolcat\\寃쎄퀬 0 / ?ㅻ쪟 0 -
寃利?
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter AgentToolCatalogTests -p:OutputPath=bin\\verify_toolcat_tests\\ -p:IntermediateOutputPath=obj\\verify_toolcat_tests\\?듦낵 8 -
李멸퀬: ?뚯뒪??鍮뚮뱶 以?湲곗〈 ?뚯씪
src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs??nullable 寃쎄퀬 1嫄댁씠 ?④퍡 ?쒖떆?섏뿀?쇰굹, ?대쾲 蹂寃쎌뿉????寃쎄퀬瑜?異붽??섏????딆븯?듬땲??
1. ?꾨줈?앺듃 媛쒖슂
AX Copilot? Windows???앹궛???곗쿂 + AI ?먯씠?꾪듃 ?곗뒪?ы넲 ?깆엯?덈떎.
- ?곗쿂: Alfred/Raycast ?ㅽ??쇱쓽 ?쇱? 寃?? 紐낅졊 ?ㅽ뻾, ?꾩젽
- ?먯씠?꾪듃: LLM 湲곕컲 ??뷀삎 肄붾뱶/臾몄꽌 ?묒뾽 ?먮룞??(?꾧뎄 ?몄텧 猷⑦봽)
- **??諛?*: ?쒖뒪??由ъ냼?? ?대┰蹂대뱶, ?ㅽ겕由곗꺑 ??鍮좊Ⅸ ?묎렐
2. 湲곗닠 ?ㅽ깮
| ??ぉ | 媛? |
|---|---|
| ?꾨젅?꾩썙?? | .NET 8 (net8.0-windows10.0.17763.0) |
| UI | WPF + Windows Forms (?섏씠釉뚮━?? |
| ?몄뼱 | C# 12 |
| ?⑦꽩 | MVVM, ?대깽??湲곕컲, ?깃????쒕퉬?? |
| ?뚯뒪?? | xUnit 2.9 + FluentAssertions 6.12 |
| 鍮뚮뱶 | dotnet CLI, PublishSingleFile |
二쇱슂 NuGet ?⑦궎吏
| ?⑦궎吏 | ?⑸룄 |
|---|---|
| DocumentFormat.OpenXml 3.2.0 | DOCX/XLSX/PPTX ?앹꽦 |
| Markdig 0.37.0 | Markdown ??HTML ?뚮뜑留? |
| Microsoft.Data.Sqlite 8.0 | SQLite (?????μ냼) |
| Microsoft.Web.WebView2 | HTML 誘몃━蹂닿린, 媛?대뱶 酉곗뼱 |
| QRCoder 1.6.0 | QR 肄붾뱶 ?앹꽦 |
| System.Security.Cryptography.ProtectedData | DPAPI ?뷀샇?? |
| UglyToad.PdfPig | PDF ?쎄린 |
3. ?붾(??援ъ“
src/
?쒋?? AxCopilot/ # 硫붿씤 WPF ??(v0.7.3)
?? ?쒋?? Assets/ # ?꾩씠肄? ?꾨━??JSON, ?뷀샇?붾맂 媛?대뱶, 留덉뒪肄뷀듃
?? ?쒋?? Core/ # FuzzyEngine, CommandResolver, InputListener, PluginHost
?? ?쒋?? Handlers/ # 136媛?鍮뚰듃??紐낅졊 ?몃뱾???? ?쒋?? Models/ # AppSettings, ChatModels, McpSettings
?? ?쒋?? Security/ # AntiTamper (?붾쾭嫄??붿뺨?뚯씪???먯?)
?? ?쒋?? Services/ # 60媛??쒕퉬???? ?? ?붴?? Agent/ # ?먯씠?꾪듃 猷⑦봽 + 114媛??꾧뎄
?? ?쒋?? Themes/ # 9媛??뚮쭏 (Dark, Light, OLED, Nord, Monokai ??
?? ?쒋?? ViewModels/ # LauncherViewModel, SettingsViewModel, StatisticsViewModel
?? ?붴?? Views/ # 30媛?XAML ?덈룄???쒋?? AxCopilot.SDK/ # ?뚮윭洹몄씤 SDK (IActionHandler ?명꽣?섏씠??
?쒋?? AxCopilot.Installer/ # Windows Forms ?ㅼ튂 ?꾨줈洹몃옩 (.NET Framework 4.8)
?쒋?? AxCopilot.Tests/ # xUnit ?⑥쐞/?듯빀 ?뚯뒪???붴?? AxKeyEncryptor/ # API ??DPAPI ?뷀샇???좏떥由ы떚
4. ???쒖옉 ?먮쫫 (App.xaml.cs)
OnStartup()
?쒋? AntiTamper ?붾쾭嫄?媛먯? (Release 鍮뚮뱶)
?쒋? ?⑥씪 ?몄뒪?댁뒪 裕ㅽ뀓???뺤씤
?쒋? SettingsService 珥덇린??+ ?ㅼ젙 濡쒕뱶
?쒋? ChatStorageService 蹂닿? ?뺤콉 ?ㅽ뻾 (留뚮즺 ????뺣━)
?쒋? L10n ?몄뼱 珥덇린?? ?쒋? ?쒕퉬??珥덇린?? ?? ?쒋? AgentMemoryService
?? ?쒋? ChatSessionStateService
?? ?쒋? AppStateService
?? ?쒋? IndexService (諛깃렇?쇱슫???뚯씪 ?몃뜳??
?? ?쒋? FuzzyEngine + CommandResolver
?? ?쒋? ContextManager
?? ?쒋? SessionTrackingService
?? ?쒋? WorktimeReminderService
?? ?붴? ClipboardHistoryService
?쒋? 鍮뚰듃???몃뱾???깅줉 (136媛?
?쒋? SchedulerService + PluginHost 珥덇린?? ?쒋? InputListener ?쒖옉 (湲濡쒕쾶 ?ロ궎)
?붴? ?곗쿂/?ㅼ젙/?몃젅???덈룄???앹꽦
5. ?듭떖 ?꾪궎?띿쿂
5.1 ?곗쿂 (Launcher)
**寃???뚯씠?꾨씪??*: ?ъ슜???낅젰 ??CommandResolver (?묐몢??留ㅼ묶) ??FuzzyEngine (?쇱? 寃?? ??寃곌낵 ?뺣젹 ??UI ?뚮뜑留?
FuzzyEngine: ?뚯씪 ?몃뜳??湲곕컲 ?쇱? 留ㅼ묶, ?먯닔 ?쒖쐞CommandResolver: ?몃뱾???쇱슦??(?묐몢??@,!,#,~,>,$??IndexService: 諛깃렇?쇱슫???뚯씪 ?몃뜳??(.git,node_modules???쒖쇅)
?꾩젽: ?깅뒫 紐⑤땲?? ?щえ?꾨줈, 硫붾え, ?좎뵪, 罹섎┛?? 諛고꽣由?
5.2 ?먯씠?꾪듃 (Agent Loop)
?ъ슜??硫붿떆吏
??LlmService.StreamAsync() (LLM API ?몄텧)
???묐떟 ?ㅽ듃由щ컢 ?섏떊
???꾧뎄 ?몄텧 媛먯? ??
??ToolRegistry?먯꽌 ?꾧뎄 議고쉶
??沅뚰븳 ?뺤씤 (AskPermissionCallback)
???꾧뎄 ?ㅽ뻾
??寃곌낵瑜?而⑦뀓?ㅽ듃??異붽?
??LLM ?ы샇異?(諛섎났)
??理쒖쥌 ?띿뒪???묐떟 諛섑솚
**?듭떖 ?대옒??*:
AgentLoopService??猷⑦봽 ?붿쭊 (諛섎났, ?쇱떆?뺤?/?ш컻, ?대깽??諛쒗뻾)AxAgentExecutionEngine???꾧뎄 ?ㅽ뻾 議곗쑉AgentLoopParallelExecution??蹂묐젹 ?꾧뎄 ?ㅽ뻾AgentLoopTransitions/.Execution???곹깭 ?꾩씠 濡쒖쭅ToolRegistry???꾧뎄 ?깅줉/議고쉶ContextCondenser??而⑦뀓?ㅽ듃 ?뺤텞 (?좏겙 愿由?
?꾧뎄 移댄뀒怨좊━ (114媛?:
| 移댄뀒怨좊━ | ?덉떆 |
|---|---|
| ?뚯씪 I/O | FileReadTool, FileEditTool, FileManageTool, FileWriteTool |
| 寃?? | GlobTool, GrepTool, CodeSearchTool, FileSearchTool |
| 臾몄꽌 | DocumentReaderTool, ExcelSkill, DocxSkill, PptxSkill, CsvSkill, HtmlSkill |
| 肄붾뱶 | BuildRunTool, SnippetRunnerTool, CodeReviewTool, TestLoopTool, LspTool |
| ?곗씠?? | JsonTool, XmlTool, SqlTool, DataPivotTool, RegexTool |
| ?쒖뒪?? | ProcessTool, EnvTool, ZipTool, ClipboardTool |
| 怨꾪쉷/異붿쟻 | TodoWriteTool, TaskTrackerTool, CheckpointTool, PlaybookTool |
| ?ъ슜?? | UserAskTool, SuggestActionsTool, NotifyTool |
| MCP | McpTool, McpListResourcesTool, McpReadResourceTool |
*??퀎 ?꾧뎄 ?꾪꽣留? (ToolRegistry.ToolTabOverrides):
IAgentTool.TabCategory ?먮뒗 ToolTabOverrides ?뺤뀛?덈━濡??꾧뎄瑜???퀎濡?遺꾨쪟?⑸땲??
GetActiveToolsForTab(activeTab) 硫붿꽌?쒓? ?꾩옱 ??뿉 留욌뒗 ?꾧뎄留?LLM???꾩넚?섏뿬 ?좏겙???덉빟?⑸땲??
| ?? | ?쒖꽦 ?꾧뎄 踰붿쐞 | ?ㅻ챸 |
|---|---|---|
| Chat | 0媛? | ?쒖닔 ??? ?꾧뎄 ?놁씠 LLM留??묐떟 |
| Cowork | ~50媛? | ?뚯씪/寃??+ 臾몄꽌?앹꽦(xlsx, docx, pptx...) + ?곗씠???좏떥 |
| Code | ~50媛? | ?뚯씪/寃??+ 媛쒕컻(git, build, lsp...) + ?쒖뒪???뚰겕?몃━ + ?좏떥 |
- Chat ???좏겙 ?덉빟: ~14,400?좏겙 ??0 (?꾧뎄 ?뺤쓽 ?꾩쟾 ?쒓굅)
- Cowork/Code: 援먯감 ?쒖쇅濡?媛?~3,600?좏겙 異붽? ?덉빟
5.3 LLM ?쒕퉬??
**吏??怨듦툒??*:
| ?쒕퉬?? | ?ㅻ챸 |
|---|---|
claude / sigmoid |
Anthropic Claude (Sigmoid API 寃쎌쑀) |
gemini |
Google Gemini API |
vllm |
OpenAI ?명솚 vLLM (IBM CP4D 吏???ы븿) |
ollama |
濡쒖뺄 Ollama 紐⑤뜽 |
**紐⑤뜽 ?쇱슦??: ModelRouterService瑜??듯븳 ?ㅻ쾭?쇱씠???ㅽ깮 ?????以?紐⑤뜽/?쒕퉬?ㅻ? ?숈쟻?쇰줈 ?꾪솚 媛??
**?좏겙 愿由?: TokenEstimator濡?而⑦뀓?ㅽ듃 湲몄씠 異붿젙, ?ㅻ쾭?뚮줈????ContextCondenser媛 ?먮룞 ?뺤텞
EstimateBaseOverhead(systemPromptLength, toolCount): ?쒖뒪???꾨\?꾪듃 + ?꾧뎄 ?뺤쓽 ?ㅻ쾭?ㅻ뱶 異붿젙_tool_use_blocks硫붿떆吏 0.6x,tool_result硫붿떆吏 0.7x ?좎씤 ?곸슜- 而⑦뀓?ㅽ듃 ?ъ슜???쒖떆???쒖뒪???꾨\?꾪듃 + ?꾧뎄 ?ㅻ쾭?ㅻ뱶 ?ы븿
5.4 ?????μ냼
ChatStorageService: SQLite 湲곕컲 ????곸냽??-ChatSessionStateService: 硫붾え由????몄뀡 ?곹깭 愿由?-ChatConversation: 硫붿떆吏 紐⑸줉 + ?ㅽ뻾 ?대깽????꾨씪??+Archived?꾩뭅?대툕 ?뚮옒洹?
6. UI 怨꾩링
二쇱슂 ?덈룄??
| ?덈룄?? | ??븷 |
|---|---|
LauncherWindow |
硫붿씤 ?곗쿂 (寃?? ?꾩젽, 寃곌낵 紐⑸줉) |
ChatWindow |
AI ?먯씠?꾪듃 ???(梨꾪똿/Cowork/肄붾뱶 ?? |
DockBarWindow |
??諛?(?쒖뒪??由ъ냼?? 鍮좊Ⅸ ?묎렐) |
SettingsWindow |
?ㅼ젙 愿由? |
AgentSettingsWindow |
?먯씠?꾪듃 ?꾩슜 ?ㅼ젙 |
AgentStatsDashboardWindow |
?먯씠?꾪듃 ?듦퀎 ??쒕낫?? |
SkillEditorWindow |
?ㅽ궗 ?몄쭛湲? |
SkillGalleryWindow |
?ㅽ궗 媛ㅻ윭由? |
TrayMenuWindow |
?쒖뒪???몃젅??硫붾돱 |
PreviewWindow |
臾몄꽌 誘몃━蹂닿린 (WebView2) |
ChatWindow 遺꾪븷 援ъ“
ChatWindow.xaml.cs??partial class濡?湲곕뒫蹂?遺꾪븷:
| ?뚯씪 | ??븷 |
|---|---|
ChatWindow.xaml.cs |
硫붿씤 ?ㅼ??ㅽ듃?덉씠?? ?ㅽ듃由щ컢, ?낅젰 泥섎━ |
ChatWindow.AgentEventProcessor.cs |
?먯씠?꾪듃 ?대깽???섏떊/?쇱슦?? |
ChatWindow.AgentEventRendering.cs |
?먯씠?꾪듃 ?대깽??諛곕꼫/移대뱶 ?뚮뜑留?(SessionStart/UserPromptSubmit ?④?) |
ChatWindow.AgentStatusPresentation.cs |
?먯씠?꾪듃 ?ㅼ떆媛??곹깭 ?쒖떆 |
ChatWindow.ComposerQueuePresentation.cs |
?묒꽦湲???UI |
ChatWindow.ContextUsagePresentation.cs |
而⑦뀓?ㅽ듃 ?ъ슜??留??앹뾽 |
ChatWindow.ConversationFilterPresentation.cs |
????꾪꽣留? |
ChatWindow.ConversationListPresentation.cs |
?ъ씠?쒕컮 ???紐⑸줉 |
ChatWindow.ConversationManagementPresentation.cs |
????앹꽦/??젣/愿由? |
ChatWindow.FileBrowserPresentation.cs |
?뚯씪 釉뚮씪?곗? UI |
ChatWindow.FooterPresentation.cs |
?섎떒 諛?(?대뜑, 沅뚰븳) |
ChatWindow.GitBranchPresentation.cs |
Git 釉뚮옖移??쒖떆/?꾪솚 |
ChatWindow.LiveProgressPresentation.cs |
?ㅼ떆媛?吏꾪뻾 ?곹깭 |
ChatWindow.MessageBubblePresentation.cs |
硫붿떆吏 踰꾨툝 ?뚮뜑留? |
ChatWindow.MessageInteractions.cs |
硫붿떆吏 蹂듭궗/?몄쭛/?ъ쟾?? |
ChatWindow.PermissionPresentation.cs |
沅뚰븳 ?앹뾽/諛곕꼫 UI |
ChatWindow.PlanApprovalPresentation.cs |
怨꾪쉷 ?뱀씤 移대뱶 |
ChatWindow.PopupPresentation.cs |
怨듯넻 ?앹뾽 援ъ꽦 |
ChatWindow.PreviewPresentation.cs |
?뚯씪 誘몃━蹂닿린 ?? |
ChatWindow.SelectionPopupPresentation.cs |
?뚰겕?몃━ ?좏깮 ?앹뾽 |
ChatWindow.SidebarInteractionPresentation.cs |
?ъ씠?쒕컮 ?곹샇?묒슜 |
ChatWindow.StatusPresentation.cs |
?곹깭 諛곗?/?ㅽ듃由? |
ChatWindow.SurfaceVisualPresentation.cs |
?쒓컖 ?④낵 (湲濡쒖슦, ?꾩뒪 ?? |
ChatWindow.TaskSummary.cs |
?묒뾽 ?붿빟 移대뱶 |
ChatWindow.TimelinePresentation.cs |
??꾨씪???뺣젹, 罹먯떆, ?대깽???꾪꽣留? |
ChatWindow.TopicPresetPresentation.cs |
二쇱젣 ?꾨━??UI |
ChatWindow.TranscriptHost.cs |
?몃옖?ㅽ겕由쏀듃 ?몄뒪??而⑦뀒?대꼫 |
ChatWindow.TranscriptPolicy.cs |
?몃옖?ㅽ겕由쏀듃 ?쒖떆 ?뺤콉 |
ChatWindow.TranscriptRenderExecution.cs |
?몃옖?ㅽ겕由쏀듃 ?뚮뜑 ?ㅽ뻾 |
ChatWindow.TranscriptRenderPlanner.cs |
?몃옖?ㅽ겕由쏀듃 ?뚮뜑 怨꾪쉷 |
ChatWindow.TranscriptRendering.cs |
?몃옖?ㅽ겕由쏀듃 ?뚮뜑留? |
ChatWindow.TranscriptVirtualization.cs |
?몃옖?ㅽ겕由쏀듃 媛?곹솕 (?洹쒕え ??? |
ChatWindow.SystemPromptBuilder.cs |
?쒖뒪???꾨\?꾪듃 ?숈쟻 議곕┰ (???꾨━??而⑦뀓?ㅽ듃 二쇱엯) |
ChatWindow.OverlaySettingsPresentation.cs |
?몃씪???ㅼ젙 ?앹뾽 (紐⑤뜽, 鍮좊Ⅸ?≪뀡) |
ChatWindow.UserAskPresentation.cs |
?ъ슜??吏덈Ц ?몃씪??移대뱶 |
ChatWindow.VisualInteractionHelpers.cs |
?쒓컖 ?곹샇?묒슜 ?ы띁 |
?뚮쭏 ?쒖뒪??
9媛??뚮쭏 XAML 由ъ냼???뺤뀛?덈━: Dark, Light, OLED, Nord, Monokai, Catppuccin, Sepia, Alfred, AlfredLight
?고????뚮쭏 ?꾪솚: SettingsService.Settings.Launcher.Theme 蹂寃???由ъ냼???뺤뀛?덈━ 援먯껜
7. ?ㅼ젙 援ъ“ (AppSettings)
理쒖긽???ㅼ젙
| ?띿꽦 | 湲곕낯媛? | ?ㅻ챸 |
|---|---|---|
AiEnabled |
true | AI 湲곕뒫 ?쒖꽦?? |
OperationMode |
"internal" | ?댁쁺 紐⑤뱶 (internal/external) |
Hotkey |
"Alt+Space" | ?곗쿂 ?⑥텞?? |
CleanupPeriodDays |
30 | ???蹂닿? 湲곌컙 (?? |
InternalModeEnabled |
true | ?щ궡 紐⑤뱶 ?щ? |
LauncherSettings (以묒꺽)
| 洹몃9 | 二쇱슂 ?띿꽦 |
|---|---|
| ?쒖떆 | Theme, Opacity, Position, Width, MaxResults |
| 湲濡쒖슦 | EnableRainbowGlow, EnableSelectionGlow, ShowLauncherBorder |
| ?꾩젽 | ShowWidgetPerf, ShowWidgetPomo, ShowWidgetNote, ShowWidgetWeather, ShowWidgetCalendar, ShowWidgetBattery |
| ??諛? | DockBarItems, DockBarAutoShow, DockBarOpacity, DockBarRainbowGlow |
| 湲곕뒫 | EnableFavorites, EnableRecent, EnableActionMode, EnableClipboardAutoCategory |
LlmSettings (以묒꺽)
?먯씠?꾪듃??LLM ?곌껐 ?ㅼ젙: ?쒕퉬???좏깮, 紐⑤뜽, API ??(DPAPI ?뷀샇??, ?붾뱶?ъ씤?? ?⑤룄, 理쒕? ?좏겙 ??
| ?띿꽦 | 湲곕낯媛? | ?ㅻ챸 |
|---|---|---|
UseAutomaticProfileTemperature |
true | ?깅줉 紐⑤뜽 ?꾨줈?뚯씪???먮룞 temperature ?뺤콉 |
EnableDetailedLog |
false | ?뚰겕?뚮줈???곸꽭 濡쒓렇 (LLM ?붿껌/?묐떟, ?꾧뎄 ?대젰) |
DetailedLogRetentionDays |
3 | ?곸꽭 濡쒓렇 蹂닿? 湲곌컙 (?? |
EnableRawLlmLog |
false | LLM ?붿껌/?묐떟 ?먮Ц 湲곕줉 (?붾쾭源낆슜) |
RegisteredModel ?ㅽ뻾 ?꾨줈?뚯씪
紐⑤뜽蹂?ExecutionProfile濡??꾧뎄 ?몄텧 媛뺣룄, ?ъ떆?? 硫붾え由??뺤텞 二쇱엯?됱쓣 議곗젅:
| ?꾨줈?뚯씪 | ?ㅻ챸 |
|---|---|
balanced |
湲곕낯 洹좏삎 紐⑤뱶 |
tool_call_strict |
?꾧뎄 ?몄텧 媛뺤젣/?꾧꺽 紐⑤뱶 |
reasoning_first |
異붾줎 ?곗꽑 紐⑤뱶 |
fast_readonly |
鍮좊Ⅸ ?쎄린 ?꾩슜 紐⑤뱶 |
document_heavy |
臾몄꽌 泥섎━ 吏묒쨷 紐⑤뱶 |
8. ?뚮윭洹몄씤 ?쒖뒪??
SDK (AxCopilot.SDK)
public interface IActionHandler
{
string? Prefix { get; } // ?묐몢??(null?대㈃ ?쇱? 寃?됰쭔)
PluginMetadata Metadata { get; }
Task<IEnumerable<LauncherItem>> GetItemsAsync(string query, CancellationToken ct);
Task ExecuteAsync(LauncherItem item, CancellationToken ct);
}
媛쒕컻 諛⑸쾿
AxCopilot.SDK李몄“?섏뿬IActionHandler援ы쁽- 鍮뚮뱶??
.dll??settings.json??Plugins諛곗뿴??寃쎈줈 ?깅줉 PluginHost媛 ???쒖옉 ???숈쟻 濡쒕뱶
9. 鍮뚮뱶 諛??ㅽ뻾
媛쒕컻 鍮뚮뱶
dotnet build src/AxCopilot/AxCopilot.csproj
鍮좊Ⅸ 鍮뚮뱶 (?뷀샇???ㅼ튂?꾨줈洹몃옩 ?앸왂)
./build-quick.sh
硫붿씤 ?깅쭔 self-contained ?⑥씪 ?뚯씪濡?鍮뚮뱶?⑸땲?? AxKeyEncryptor/Installer/?쒕룆?붾? 嫄대꼫?곗뼱 鍮좊Ⅸ 媛쒕컻 諛섎났???곹빀?⑸땲??
由대━??鍮뚮뱶 (?⑥씪 ?뚯씪)
dotnet publish src/AxCopilot/AxCopilot.csproj -c Release -r win-x64 --self-contained
由대━??鍮뚮뱶 ?듭뀡:
PublishSingleFile: ?⑥씪 ?ㅽ뻾 ?뚯씪EnableCompressionInSingleFile: ?뺤텞 ?곸슜PublishReadyToRun: AOT ?꾨━而댄뙆??-DebugType=none: ?붾쾭洹??щ낵 ?쒓굅TrimMode=partial: IL ?몃━諛?
?뚯뒪??
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj
10. 踰꾩쟾 愿由?
AxCopilot.csproj??<Version>?쒓렇 ?섎굹留?蹂寃쏀븯硫????꾩껜??諛섏쁺- ?ㅼ젙 ?ㅽ궎留?踰꾩쟾?
SettingsService.cs??CurrentSettingsVersion?먯꽌 蹂꾨룄 愿由?- 留덉씠洹몃젅?댁뀡:SettingsService媛 ?댁쟾 踰꾩쟾 ?ㅼ젙 ?뚯씪???먮룞 ?낃렇?덉씠??
11. 蹂댁븞
| ??ぉ | 援ы쁽 |
|---|---|
| API ????? | DPAPI ?뷀샇??(System.Security.Cryptography.ProtectedData) |
| ??愿由??꾧뎄 | AxKeyEncryptor (蹂꾨룄 ?좏떥由ы떚) |
| ?덊떚 ?ы띁 | ?붾쾭嫄??붿뺨?뚯씪??媛먯? (Release 鍮뚮뱶, Security/AntiTamper.cs) |
| Unsafe 肄붾뱶 | AllowUnsafeBlocks=true (ScreenCaptureHandler ?ъ씤???곗궛?? |
12. ?깅뒫 理쒖쟻???댁뿭
?좏쑕 CPU 理쒖쟻??(2026-04-09)
| ??? | 蹂寃??? | 蹂寃??? |
|---|---|---|
| PerformanceMonitorService ?대쭅 | 2珥? | 5珥? |
| ?꾩젽 ??대㉧ | 1珥? | 3珥? |
| ?덉씤蹂댁슦 湲濡쒖슦 ??대㉧ | 150ms | 300ms |
| ServerStatusService ?? | 15珥? | 60珥? |
?ㅽ듃由щ컢 ?뚮뜑留?理쒖쟻??(2026-04-09)
- TypingTimer: 50ms ??80ms,
string.Concat??char[]踰꾪띁 ?ъ궗??- CursorTimer: ?꾩껜 臾몄옄???ъ깮????留덉?留?臾몄옄留?援먯껜 - StringBuilder.ToString(): 30ms 理쒖냼 媛꾧꺽 ?곕줈?留?- RenderMessages: ?ㅽ듃由щ컢 以?遺덊븘?뷀븳 ?꾩껜 ?щ젋?붾쭅 諛⑹? (議곌린 諛섑솚)
- **??꾨씪???대깽??*: ?묓엺 紐⑤뱶?먯꽌 ?곗냽 ?숈씪 ToolCall 蹂묓빀
?고????덉젙???섏젙 (2026-04-09)
| ?뚯씪 | ?섏젙 ?댁슜 |
|---|---|
CsvSkill.cs |
JSON 諛곗뿴 泥??붿냼 ValueKind 寃利?異붽? |
HtmlSkill.cs |
gradient Split(',') 寃곌낵 Length >= 2 媛??異붽? |
ChatWindow.xaml.cs |
ParseGenericAction 鍮?諛곗뿴 媛?? ShowDropActionMenu null 媛?? GetAgentLoop .FirstOrDefault() ?꾪솚 |
ChatWindow.GitBranchPresentation.cs |
async void ?몃뱾??try/catch 蹂댄샇 |
ChatWindow.xaml.cs (BtnGitBranch_Click) |
async void ?몃뱾??try/catch 蹂댄샇 |
UI ?ㅻ젅??遺??理쒖쟻??2李?(2026-04-09)
| ??? | 蹂寃??? | 蹂寃??? | ?④낵 |
|---|---|---|---|
| ?ㅽ겕濡??좊땲硫붿씠?? | 留ㅻ쾲 ??16ms ??대㉧ ?앹꽦 | ?ъ궗??32ms ??대㉧ 1媛? | GC ?뺣젰 + ??대㉧ ?꾩쟻 ?댁냼 |
| ?ъ씠?쒕컮 ?좊땲硫붿씠?? | 留ㅻ쾲 ??10ms ??대㉧ ?앹꽦 | ?ъ궗??32ms ??대㉧ 1媛? | ?숈씪 |
| Git 釉뚮옖移?UI | Dispatcher.Invoke (釉붾줈?? |
Dispatcher.InvokeAsync (?쇰툝濡쒗궧) |
UI ?ㅻ젅??李⑤떒 ?댁냼 |
| ?좏겙 ?ъ슜???? | 留?250ms PathGeometry ?ъ깮?? | 1% 誘몃쭔 蹂?????뚮뜑留??앸왂 | 遺덊븘?뷀븳 ?덉씠?꾩썐 ?곗궛 ?쒓굅 |
| ???寃????대㉧ | 140ms | 300ms | 珥덈떦 7????3?? |
| ?먯씠?꾪듃 ?대깽????대㉧ | 140ms (?ㅽ듃由щ컢: 300/420) | 200ms (?ㅽ듃由щ컢: 350/500) | ?대깽??泥섎━ 鍮덈룄 ?꾪솕 |
| 諛섏쓳???덉씠?꾩썐 ??대㉧ | 120ms | 250ms | 由ъ궗?댁쫰 ?붾컮?댁뒪 媛뺥솕 |
| ???紐⑸줉 LINQ | Where횞2 + Count횞3 = 由ъ뒪??5???쒗쉶 | Where 1??蹂묓빀 + ?⑥씪 猷⑦봽 移댁슫?? | ?좊떦/?쒗쉶 ???媛먯냼 |
援ъ“??硫붾え由??덉젙???섏젙 (2026-04-09)
| 臾몄젣 | ?꾩튂 | ?섏젙 |
|---|---|---|
| Events 而щ젆??臾댄븳 ?깆옣 | AgentLoopService.cs |
500媛?珥덇낵 ???ㅻ옒???대깽???먮룞 ?쒓굅 |
| ?뚯씪 釉뚮씪?곗? ??대㉧ 醫鍮? | ChatWindow.FileBrowserPresentation.cs |
留ㅻ쾲 ????대㉧ ?앹꽦 ???ъ궗???⑦꽩 |
| ?섎━癒쇳듃 罹먯떆 誘몄젙由? | ChatWindow.TranscriptVirtualization.cs |
蹂댁쑀 ?쒕룄 240??20, 1.5諛?珥덇낵 ???뺣━ |
| WorkflowAnalyzer UI 釉붾줈?? | WorkflowAnalyzerWindow.xaml.cs |
Dispatcher.Invoke ??InvokeAsync |
援ъ“??由ы뙥?좊쭅 P1 (2026-04-09)
| ??? | ?뚯씪 | 蹂寃? |
|---|---|---|
| ?명겕由щ찘???뚮뜑 hiddenCount ?덉젙?? | ChatWindow.TranscriptRenderPlanner.cs |
?ㅽ듃由щ컢 以?hiddenCount 媛먯냼 李⑤떒 ??prefix ??遺덉씪移섎줈 ?명븳 ?꾩껜 ?щ퉴???대갚 諛⑹? |
| 鍮꾧????뚮뜑 李⑤떒 | ChatWindow.TranscriptRendering.cs |
理쒖냼???④? ?곹깭?먯꽌 RenderMessages 利됱떆 諛섑솚 ??遺덊븘?뷀븳 UI ?ш뎄異??쒓굅 |
| ConversationList ?대깽???꾩엫 | ChatWindow.ConversationListPresentation.cs |
??ぉ??5媛??뚮떎 ?몃뱾????ConversationPanel???⑥씪 ?꾩엫 ?몃뱾??(Tag 湲곕컲 遺꾧린). ???꾪솚 ??250媛??몃뱾???꾩쟻 ?댁냼 |
| TopicPreset ?대깽???꾩엫 | ChatWindow.TopicPresetPresentation.cs |
移대뱶??3媛??뚮떎 ?몃뱾????TopicButtonPanel???⑥씪 ?꾩엫 ?몃뱾?? ???꾪솚 ??45媛??몃뱾???꾩쟻 ?댁냼 |
| 怨듯넻 VisualTree ?ы띁 | ChatWindow.VisualInteractionHelpers.cs |
FindAncestorWithTag<T>, FindAncestor<T> ?좏떥 異붽? |
援ъ“??由ы뙥?좊쭅 P2 (2026-04-09)
| ??? | ?뚯씪 | 蹂寃? |
|---|---|---|
| _agentLiveContainer ?명겕由щ찘???덉슜 | TranscriptRenderPlanner.cs, TranscriptRenderExecution.cs |
?쇱씠釉?而⑦뀒?대꼫瑜?expectedChildCount???ы븿, ?명겕由щ찘?????꾩떆 遺꾨━/?ъ궫????hasExternalChildren 李⑤떒 ?댁냼 |
| ?ㅽ듃由щ컢 append-only ?뚮뜑 | TranscriptRenderExecution.cs, TranscriptRendering.cs |
prefix 鍮꾧탳 ?고쉶?섎뒗 TryApplyStreamingAppendRender 異붽? ??stable ??遺遺꾩쭛??愿怨꾨쭔 ?뺤씤, ????ぉ留?異붽? |
| Permission ?대깽???꾩엫 | ChatWindow.PermissionPresentation.cs |
?됰떦 4媛??뚮떎 ??PermissionItems???⑥씪 ?꾩엫 ?몃뱾??+ PermissionItemTag |
| Preview ???대깽???꾩엫 | ChatWindow.PreviewPresentation.cs |
??떦 7媛??뚮떎 ??PreviewTabPanel???⑥씪 ?꾩엫 ?몃뱾??+ PreviewTabTag |
| GitBranch ?대깽???꾩엫 | ChatWindow.GitBranchPresentation.cs, SelectionPopupPresentation.cs |
CreateFlatPopupRow/CreatePopupMenuRow ?됱쓽 ?뚮떎 ??GitBranchItems???⑥씪 ?꾩엫 + PopupRowTag |
援ъ“??由ы뙥?좊쭅 P3 (2026-04-09)
| ??? | ?뚯씪 | 蹂寃? |
|---|---|---|
| FileBrowser 紐낆떆???댁젣 | ChatWindow.FileBrowserPresentation.cs |
TreeViewItem ?뚮떎?믩챸紐?硫붿꽌??FileTreeItem_Expanded/DoubleClick/RightClick) ?꾪솚. BuildFileTree() ??DetachFileTreeHandlers() ?ш? ?몄텧濡?Clear ???몃뱾???댁젣. ?몃━ ?ш뎄異뺣떦 300媛??몃뱾???꾩쟻 ?댁냼 |
?꾩껜 怨꾪쉷 ?꾨즺.
docs/STRUCTURAL_REFACTORING_PLAN.md李몄“.
?곗쿂 쨌 ?먯씠?꾪듃 由ъ냼???덉젙???섏젙 (2026-04-09)
| ??? | ?뚯씪 | 蹂寃? |
|---|---|---|
| LauncherWindow ?대깽???꾩닔 | LauncherWindow.xaml.cs |
vm.CloseRequested, vm.PropertyChanged, app.IndexService.IndexRebuilt ?몃뱾?щ? ?꾨뱶 ?????OnClosed?먯꽌 -= ?댁젣. ViewModel蹂대떎 Window媛 癒쇱? ?ロ옄 ??GC ?꾩닔 諛⑹? |
| ChatWindow ??대㉧ ?뺣━ | ChatWindow.xaml.cs |
Closed ?몃뱾?ъ뿉 ?꾨씫??8媛???대㉧ 紐낆떆??Stop() 異붽? + StopAgentEventProcessor() ?몄텧 |
| Events ?ㅻ젅???덉쟾 | AgentLoopService.cs |
Dispatcher ?놁쓣 ??Events ?묎렐??lock(Events) 異붽? ???숈떆 EmitEvent ?몄텧 ??IndexOutOfRange ?щ옒??諛⑹? |
| NotifyTool ??대㉧ ?꾩쟻 | NotifyTool.cs |
?뚮┝??new DispatcherTimer ??DoubleAnimation.Completed 肄쒕갚?쇰줈 ?泥? 100媛??뚮┝ ??100媛???대㉧ ?숈떆 議댁옱 ?댁냼 |
| LauncherWindow ?좎뒪????대㉧ | LauncherWindow.xaml.cs |
ShowToast() 留??몄텧 new DispatcherTimer ???ъ궗???⑦꽩 + 紐낅챸 硫붿꽌??ToastTimer_Tick) |
| LauncherWindow ??대㉧ ?뺣━ | LauncherWindow.xaml.cs |
OnClosed??_toastTimer?.Stop(), _indexStatusTimer?.Stop() 異붽? |
Hot path 쨌 由ъ냼??異붽? 理쒖쟻??(2026-04-09)
| ??? | ?뚯씪 | 蹂寃? |
|---|---|---|
| GetRuntimeActiveTools 罹먯떆 | AgentLoopService.cs |
諛섎났??1~4???몄텧 ??cachedActiveTools 濡쒖뺄 蹂?섎줈 1??罹먯떆. foreach ??activeToolNames 怨꾩궛??猷⑦봽 諛뽰쑝濡??몄씠?ㅽ듃 |
| SubAgentTool 痍⑥냼 ?꾪뙆 | SubAgentTool.cs |
CancellationTokenSource.CreateLinkedTokenSource(ct) ?곕룞. Task.Run + loop.RunAsync???좏겙 ?꾨떖. 遺紐?以묒? ???먯떇 利됱떆 痍⑥냼 |
| ?꾩씠肄??좊땲硫붿씠???ш? ?쒖뼱 | LauncherWindow.xaml.cs |
sb.Completed?먯꽌 利됱떆 ?ш? ??_iconAnimationDelayTimer 8珥??쒕젅?? ?좊떦 鍮덈룄 75% 媛먯냼. ?대┃ ???쒕젅??痍⑥냼 ??利됱떆 ?꾪솚 |
| JsonSerializerOptions 怨듭쑀 | AgentLoopService.cs |
s_jsonOpts ?뺤쟻 ?꾨뱶 異붽?, 4媛?JsonSerializer.Serialize ?몄텧???곸슜. L4096 System.Text.Json. ?묐몢???뺢퇋?? |
Claude Desktop ?ㅽ???UI 媛쒖꽑 (2026-04-09)
| ??ぉ | ?뚯씪 | ?섏젙 ?댁슜 |
|---|---|---|
| 誘몃━蹂닿린 Split Button | ChatWindow.xaml |
湲곗〈 BtnPreviewToggle (Ellipse ??+ "?꾨━酉?) ??`[??誘몃━蹂닿린 |
| 誘몃━蹂닿린 ?쒕∼?ㅼ슫 | ChatWindow.PreviewPresentation.cs |
ShowPreviewTabDropdown() ???대┛ ??紐⑸줉 ?앹뾽, ?뚯씪 ?뺤옣?먮퀎 ?꾩씠肄? ?쒖꽦 ???섏씠?쇱씠?? |
| PreviewDot ??PreviewIcon | ChatWindow.PreviewPresentation.cs |
PreviewDot.Fill 4怨???PreviewIcon.Foreground (AccentColor/SecondaryText) ?꾪솚 |
| ?곕툕濡??숆린?? | ChatWindow.PreviewPresentation.cs |
UpdatePreviewChevronState() ??_previewTabs.Count 湲곕컲 IsHitTestVisible/Opacity ?쒖뼱 |
| 怨꾪쉷 踰꾪듉 ?대룞 | ChatWindow.xaml |
MoodIconPanel ?숈쟻 二쇱엯 ??StatusBar XAML ?좎뼵 ?붿냼 BtnPlanViewer濡??대룞 |
| ShowPlanButton 由ы뙥?좊쭅 | ChatWindow.PlanApprovalPresentation.cs |
?숈쟻 Add/Remove ??Visibility ?좉? ?⑥닚??+ ?덇굅???뺣━ ?좎? |
UX 媛쒖꽑 諛???퀎 ?꾧뎄 ?꾪꽣留?(2026-04-09)
| ??ぉ | ?뚯씪 | ?섏젙 ?댁슜 |
|---|---|---|
| ??퀎 ?꾧뎄 ?꾪꽣留? | IAgentTool.cs, ToolRegistry.cs, AgentLoopService.cs |
TabCategory ?띿꽦 + ToolTabOverrides ?뺤뀛?덈━濡?Chat/Cowork/Code ??퀎 ?꾧뎄 遺꾨쪟. Chat=0媛? Cowork=臾몄꽌/?곗씠?? Code=媛쒕컻/?쒖뒪?? |
| FolderMapTool 湲곕낯媛?蹂寃? | FolderMapTool.cs |
include_files 湲곕낯媛?false ??true. Description???ъ슜 ?쒗븳 媛?대뱶 異붽? |
| ?먯씠?꾪듃 ?대깽???④? | AgentEventRendering.cs, TimelinePresentation.cs |
SessionStart/UserPromptSubmit ?대? ?대깽????꾨씪??鍮꾪몴?? |
| ?ъ슜??硫붿떆吏 ?뚮뜑留? | ChatWindow.xaml.cs |
?꾩넚 ??InvalidateTimelineCache() + preserveViewport:false濡?利됱떆 ?쒖떆 蹂댁옣 |
| ?꾩뭅?대툕 湲곕뒫 | ChatModels.cs, ConversationManagementPresentation.cs, ConversationFilterPresentation.cs, ConversationListPresentation.cs |
Archived ?띿꽦, 而⑦뀓?ㅽ듃 硫붾돱 ?꾩뭅?대툕 ?좉?, ?ъ씠?쒕컮 ?꾪꽣 踰꾪듉 |
| 而ㅼ뒪? ?щ┝ ?ㅽ겕濡ㅻ컮 | ChatWindow.xaml |
6px ?щ┝ ScrollBar + Thumb ?쇱슫?? ScrollViewer 留덉슦???ㅻ쾭 fade in/out ?좊땲硫붿씠?? |
| ?ㅽ듃由щ컢 硫뷀듃由??덉씠釉? | ChatWindow.xaml, StatusPresentation.cs |
?낅젰 諛뺤뒪 ?꾩뿉 StreamMetricsLabel (寃쎄낵?쒓컙 쨌 ???좏겙 ?? ?ㅼ떆媛??쒖떆 |
| ?꾨━??移대뱶 ?대┃ ?덉젙?? | ChatWindow.xaml, ChatWindow.xaml.cs |
WrapPanel Background="Transparent" + Dispatcher ?곗꽑?쒖쐞 Loaded濡??곹뼢 |
| 而⑦뀓?ㅽ듃 ?좏겙 ?뺥솗?? | TokenEstimator.cs, ContextUsagePresentation.cs, ILlmService.cs |
?쒖뒪???꾨\?꾪듃 + ?꾧뎄 ?ㅻ쾭?ㅻ뱶 異붿젙, _tool_use_blocks/tool_result ?좎씤 |
| UI ?꾨━吏?諛⑹? | ChatWindow.xaml.cs |
SaveLastConversations()/PersistConversationSnapshot() ???뚮뜑留???Task.Run() 鍮꾨룞湲??ㅽ뻾 |
| 鍮좊Ⅸ 鍮뚮뱶 ?ㅽ겕由쏀듃 | build-quick.sh |
?뷀샇???쒕룆???ㅼ튂?꾨줈洹몃옩 嫄대꼫?곕뒗 媛쒕컻??鍮뚮뱶 ?ㅽ겕由쏀듃 |
?먯씠?꾪듃 猷⑦봽 臾몄꽌 ?앹꽦 ?먮쫫 ?섏젙 (2026-04-09)
| ?뚯씪 | ?섏젙 ?댁슜 |
|---|---|
AgentLoopTransitions.Documents.cs |
TryHandleTerminalDocumentCompletionTransitionAsync?먯꽌 document_plan ?놁씠 諛붾줈 臾몄꽌 ?꾧뎄 ?몄텧 ??議곌린 醫낅즺 諛⑹? ??LLM??異붽? 諛섎났?쇰줈 ?댁슜??蹂닿컯?????덈룄濡??덉슜 |
HtmlSkill.cs |
MarkdownToHtml?먯꽌 LLM???쎌엯??<br> ?쒓렇媛 ?댁뒪耳?댄봽?섎뒗 踰꾧렇 ?섏젙 ???댁뒪耳?댄봽 ???뚮젅?댁뒪??붾줈 蹂댁〈 ??蹂듭썝 |
Cowork 臾몄꽌 誘몄깮??쨌 ?ㅽ겕濡?쨌 ?꾩넚 ??10珥?硫덉땄 ?섏젙 (2026-04-09)
臾몄꽌 ?앹꽦 ?먯깋 ?뺤콉 ?섏젙
| ?뚯씪 | ?섏젙 ?댁슜 |
|---|---|
AgentLoopExplorationPolicy.cs |
ExplorationScope.DirectCreation ?좉퇋 ?ㅼ퐫??異붽?. HasDocumentCreationIntent()濡?"?묒꽦?댁쨾/留뚮뱾?댁쨾/?⑥쨾" ???앹꽦 ?숈궗 + 臾몄꽌/蹂닿퀬??????ㅼ썙??媛먯? |
AgentLoopExplorationPolicy.cs |
DirectCreation ?ㅼ퐫?꾩뿉??glob/grep/folder_map ?먯깋 李⑤떒 ??document_plan ??docx_create/html_create 諛붾줈 ?대룞 |
AgentLoopExplorationPolicy.cs |
FilterExplorationToolsForCurrentIteration?먯꽌 臾몄꽌 ?앹꽦 ?꾧뎄瑜?理쒖슦???쒖쐞濡?諛곗튂 |
AgentLoopExplorationPolicy.cs |
ShouldInjectExplorationCorrection?먯꽌 DirectCreation ???먯깋 ?꾧뎄 1???몄텧留뚯쑝濡?利됱떆 援먯젙 二쇱엯 |
TaskTypePolicy.cs |
docs 媛?대뜕?ㅻ? ?앹꽦 vs ?쎄린濡?遺꾧린 ???앹꽦 ??"諛섎뱶???ㅼ젣 ?뚯씪??留뚮뱾?대씪" 紐낆떆 |
AgentLoopService.cs |
DirectCreation ?ㅼ퐫???대깽??硫붿떆吏: "臾몄꽌 ?앹꽦 紐⑤뱶 쨌 諛붾줈 臾몄꽌瑜?留뚮뱶??以? |
?ㅽ겕濡?踰꾧렇 ?섏젙
| ?뚯씪 | ?섏젙 ?댁슜 |
|---|---|
ChatWindow.xaml.cs |
硫붿떆吏 ?꾩넚/?щ옒??而ㅻ㎤??而댄뙥????RenderMessages(preserveViewport: true) + ForceScrollToEnd() 議고빀 ??RenderMessages(preserveViewport: false)濡?蹂寃? viewport 蹂듭썝怨?ForceScrollToEnd 寃쏀빀 ?쒓굅 |
?먯씤: preserveViewport: true???뚮뜑留????댁쟾 ?ㅽ겕濡??꾩튂瑜?蹂듭썝?섎뒗 肄붾뱶瑜?DispatcherPriority.Background濡??덉빟. ForceScrollToEnd()??媛숈? ?곗꽑?쒖쐞濡??섎떒 ?ㅽ겕濡ㅼ쓣 ?덉빟?섏뿬 ??肄붾뱶媛 寃쏀빀, ?ㅽ겕濡ㅼ씠 ?섎떒?쇰줈 ??媛??臾몄젣 諛쒖깮.
?꾩넚 ??10珥?硫덉땄 ?섏젙 (Critical Performance Fix)
| ?뚯씪 | ?섏젙 ?댁슜 |
|---|---|
ChatWindow.AgentStatusPresentation.cs |
BuildFeedbackContext() ??_storage.LoadAllMeta() (紐⑤뱺 .axchat ?뚯씪 蹂듯샇?? + _storage.Load() x20?뚮? 留??꾩넚留덈떎 ?숆린 ?ㅽ뻾 ??1遺?罹먯떆 + ?꾩옱 ????쇰뱶諛깅쭔 利됱떆 諛섏쁺 + ?꾩껜 媛깆떊? 諛깃렇?쇱슫?? |
ChatWindow.xaml.cs |
Dispatcher.Invoke() (?숆린 釉붾줈?? ??Dispatcher.InvokeAsync() (鍮꾨룞湲?. background task?먯꽌 UI ?ㅻ젅??釉붾줈???쒓굅 |
ChatWindow.xaml.cs |
PrepareExecutionForConversation() (?쒖뒪???꾨\?꾪듃 鍮뚮뱶: ?꾨줈?앺듃 洹쒖튃/硫붾え由??쇰뱶諛??붿뒪??I/O) ??await Task.Run()?쇰줈 諛깃렇?쇱슫???ㅽ뻾. UI ?ㅻ젅??利됱떆 ?대갑 |
?먯씤 遺꾩꽍: BuildFeedbackContext()媛 LoadAllMeta() (紐⑤뱺 .axchat ?뚯씪 蹂듯샇?붋룻뙆?? + Load() x20 (20媛?????꾩껜 濡쒕뱶쨌蹂듯샇?? 瑜?UI ?ㅻ젅?쒖뿉???숆린 ?ㅽ뻾. ???30媛??댁긽?대㈃ 5~10珥?釉붾줈??諛쒖깮.
?ㅽ듃由щ컢 以?UI 踰꾨쾮?????媛쒖꽑 (2026-04-09)
Claude Desktop(React)? ?꾧뎄 ?몄텧???섏떗 嫄댁씠?대룄 留ㅻ걚?ъ슫 諛섎㈃, WPF ?깆? ?ы븯寃?踰꾨쾮?대뒗 臾몄젣???먯씤 遺꾩꽍 諛??섏젙.
洹쇰낯 ?먯씤: React virtual DOM? 蹂寃쎈맂 遺遺꾨쭔 diff/patch?섏?留? WPF??留??뚮뜑留덈떎 ?꾩껜 ?쒓컖???몃━瑜??뚭눼 ???ъ깮??
| ?먯씤 | ?뚯씪 | ?섏젙 |
|---|---|---|
| `ItemsSource = null/?ъ뿰寃? ???꾩껜 ?쒓컖???몃━ ?뚭눼 + VirtualizingStackPanel 而⑦뀒?대꼫 ?ъ깮?? | TranscriptRenderExecution.cs |
?ㅽ듃由щ컢 以묒뿉??ItemsSource 遺꾨━/?ъ뿰寃?嫄대꼫? ??ObservableCollection 吏곸젒 蹂寃쎌쑝濡??덉씠?꾩썐 ?⑥뒪 理쒖냼?? |
| ?쇱씠釉?吏꾪뻾 移대뱶 留ㅻ쾲 ?ъ깮?????ㅻ뜑/援щ텇???ㅽ뀦 ?꾩껜瑜?0遺???ㅼ떆 ?앹꽦 + ?좊땲硫붿씠???ъ쟻?? | AgentEventRendering.cs |
_liveProgressCard 罹먯떆 + UpdateLiveProgressStepsInPlace() ??移대뱶 1???앹꽦 ?????ㅽ뀦留?異붽?, 湲곗〈 ?ㅽ뀦? ?곗튂 ???? |
| ?뚮뜑 ??대㉧ 媛꾧꺽 1.5~2.2珥???WPF ?꾩껜 ?щ퉴?쒖뿉 鍮꾪빐 ?덈Т 怨듦꺽?? | ChatWindow.xaml.cs |
lightweight: 2.2s??s, normal: 1.5s??s ???뚮뜑 媛?異⑸텇???ъ쑀 ?뺣낫 |
| 留??뚮뜑留덈떎 3媛??좊땲硫붿씠??Opacity + ScaleX + ScaleY) ?ъ쟻?? | AgentEventRendering.cs |
?쇱씠釉?移대뱶 in-place ?낅뜲?댄듃濡?湲곗〈 ?좊땲硫붿씠??蹂댁〈, ???ㅽ뀦?먮쭔 ?좊땲硫붿씠???곸슜 |
鍮꾧탳:
| ??ぉ | ?섏젙 ??(WPF) | ?섏젙 ?? | Claude Desktop (React) |
|---|---|---|---|
| ?낅뜲?댄듃 ?꾨왂 | ?꾩껜 ?몃━ ?뚭눼?믪옱?앹꽦 | 4?④퀎: StreamingAppend ??Incremental ??DiffRender ??FullRender | Virtual DOM diff |
| ?뚮뜑 媛꾧꺽 | 1.5~2.2珥? | 3~4珥? | ~16ms (requestAnimationFrame) |
| ?붿냼 ?ъ궗?? | Clear?믪옱?앹꽦 | 罹먯떆?믪옱?ъ슜 + ??湲곕컲 diff | Recycled/Memoized |
| ?좊땲硫붿씠?? | 留ㅻ쾲 ?ъ쟻??(3媛??붿냼) | 1???곸슜 ??蹂댁〈 | CSS transform (GPU) |
12-3. Virtual DOM Diff ?뚮뜑 (TryApplyDiffRender)
React??reconciliation怨??숈씪???먮━瑜?WPF???곸슜????湲곕컲 diff ?뚮뜑?낅땲??
?뚮뜑 泥댁씤 (?곗꽑?쒖쐞 ??:
StreamingAppend ??Incremental(prefix-match) ??DiffRender(key-based) ??FullRender
| ?④퀎 | 議곌굔 | ?숈옉 |
|---|---|---|
| StreamingAppend | ?ㅽ듃由щ컢 以?+ 湲곗〈 stable ?ㅺ? 遺遺꾩쭛?? | ???ㅻ쭔 append |
| Incremental | prefix媛 ?꾩쟾 ?쇱튂 | 瑗щ━ 遺遺꾨쭔 異붽? |
| DiffRender | hiddenCount ?숈씪 + ??吏묓빀 蹂???덉쓬 | old?먮쭔 ?덈뒗 ????젣(?ㅲ넂?? + new?먮쭔 ?덈뒗 ??異붽? |
| FullRender | ??3媛?紐⑤몢 ?ㅽ뙣 | ?꾩껜 Clear?믪옱?앹꽦 |
?듭떖 ?뚭퀬由ъ쬁:
oldKeys??index ?뺤뀛?덈━ /newKeys??HashSet 援ъ텞- ?쇱씠釉?而⑦뀒?대꼫 ?꾩떆 遺꾨━
oldKeys?ㅼ뿉?쒕????쒗쉶?섎ʼnnewKeySet???녿뒗 ??ぉ ?쒓굅 (?몃뜳???덉젙??renderPlan.VisibleTimeline?먯꽌oldKeyIndex???녿뒗 ??ぉ留?Render()- ?쇱씠釉?而⑦뀒?대꼫 ?ъ궫??
?뚯씪:
ChatWindow.TranscriptRenderExecution.cs,ChatWindow.TranscriptRendering.cs(泥댁씤 ?쎌엯)
12-4. LSP 肄붾뱶 ?명뀛由ъ쟾???꾧뎄 ?뺤옣
lsp_code_intel ?꾧뎄瑜?6媛??≪뀡?먯꽌 9媛쒕줈 ?뺤옣?섏뿬 援ъ“??肄붾뱶 ?먯깋?????媛뺥솕?덉뒿?덈떎.
| ?≪뀡 | ?⑸룄 | ?좉퇋 |
|---|---|---|
goto_definition |
?щ낵 ?뺤쓽 ?꾩튂 | |
find_references |
?щ낵 ?ъ슜 ?꾩튂 | |
hover |
???臾몄꽌 ?뺣낫 | ?? |
goto_implementation |
?명꽣?섏씠??異붿긽 援ы쁽 ?꾩튂 | ?? |
symbols |
?뚯씪 ???щ낵 紐⑸줉 | |
workspace_symbols |
?뚰겕?ㅽ럹?댁뒪 ?꾩껜 ?щ낵 寃?? | ?? |
prepare_call_hierarchy |
?몄텧 怨꾩링 湲곗? ?щ낵 | ?? |
incoming_calls |
?곸쐞 ?몄텧?? | ?? |
outgoing_calls |
?섏쐞 ?몄텧 ??? | ?? |
二쇱슂 蹂寃?
line/character?낅젰: 1-based 湲곕? ???대??먯꽌 0-based ?먮룞 蹂??(NormalizePosition)query?뚮씪誘명꽣 異붽? (workspace_symbols??- 寃곌낵???뚯씪 ?? ????꾩튂, 泥?寃곌낵 ?붿빟 ?ы븿
- LSP ?꾨줈?좎퐳:
textDocument/implementation,textDocument/hover,workspace/symbol,textDocument/prepareCallHierarchy,callHierarchy/incomingCalls,callHierarchy/outgoingCalls
?뚯씪: LspTool.cs, LspClientService.cs
12-5. IBM/Qwen ?꾧뎄 ?대젰 ?됲깂??
IBM watsonx + Qwen 諛고룷?뺤뿉??tool_calls/role=tool ?대젰 寃?ш? ?꾧꺽??臾몄젣瑜??닿껐?⑸땲??
蹂寃???
assistant { tool_calls: [...] } ?? tool { tool_call_id, content }
蹂寃???(?됲깂 transcript):
assistant: "?띿뒪??n<tool_call>\n{name,arguments}\n</tool_call>"
user: "[Tool Result: tool_name] (id=xxx)\ncontent"
?듭떖 硫붿꽌??
BuildIbmAssistantTranscript()??tool_use 釉붾줉 ??<tool_call>?쒓렇 吏곷젹??-BuildIbmToolResultTranscript()??tool_result ??[Tool Result]?ㅻ뜑 + ?댁슜TryExtractTextContent()??string/array/nested ?뺥깭 紐⑤몢 ?띿뒪??異붿텧TryParseContentArrayToolBlock()??content 諛곗뿴 ??tool_use/tool_call 釉붾줉 ?뚯떛
?뚯씪: LlmService.ToolUse.cs
12-6. ?꾧뎄 ?몄텧 ?쒖꽌 ?뺣젹 諛??꾨\?꾪듃 ?꾪솕
?꾧뎄 ?쒖꽌 (ToolRegistry.OrderToolsForExposure):
| 踰꾪궥 | ?꾧뎄 |
|---|---|
| 0 (理쒖슦?? | file_read, file_edit, glob, grep, lsp_code_intel, build_run, document_plan, ?앹꽦 ?꾧뎄 ?? |
| 1 | document_review, format_convert, tool_search, code_search |
| 2 | mcp_*, spawn_agent, wait_agents |
| 3 | task_* |
?꾨\?꾪듃 ?꾪솕 (SystemPromptBuilder):
- "Tools First, Always" ??"Tools First When Needed"
tool_search: ?꾨낫?먯꽌 諛붾줈 ?좏깮 媛?ν븯硫?吏곸젒 ?몄텧, 紐⑦샇???뚮쭔 ?ъ슜spawn_agent: 蹂묐젹 議곗궗媛 ?ㅼ젣濡??꾩??????뚮쭔 ?ъ슜document_review: ??臾몄꽌/紐낆떆???붿껌 ?쒖뿉留?沅뚯옣- Code ?먯깋: ?뺤쓽/李몄“/援ы쁽/?몄텧愿怨???
lsp_code_intel?곗꽑
?뚯씪: ToolRegistry.cs, ChatWindow.SystemPromptBuilder.cs, AgentLoopService.cs, TaskTypePolicy.cs, AgentLoopExplorationPolicy.cs
13. ?붾젆?좊━蹂?媛?대뱶
| ?붾젆?좊━ | ?섏젙 ??二쇱쓽?ы빆 |
|---|---|
Core/ |
FuzzyEngine ?먯닔 怨듭떇 蹂寃???寃???덉쭏??吏곸젒 ?곹뼢 |
Handlers/ |
???몃뱾??異붽? ??App.xaml.cs???깅줉 ?꾩슂 |
Services/Agent/ |
???꾧뎄 異붽? ??ToolRegistry???깅줉 + ?ㅽ궗 ?뚯씪(.skill.md) ?묒꽦 + ToolTabOverrides????移댄뀒怨좊━ 吏?? |
Themes/ |
由ъ냼????蹂寃???紐⑤뱺 ?뚮쭏???숈씪?섍쾶 ?곸슜 ?꾩슂 |
Models/AppSettings.cs |
?띿꽦 異붽? ??SettingsService 留덉씠洹몃젅?댁뀡 怨좊젮 |
Views/ChatWindow.* |
partial class 遺꾪븷 ??愿??湲곕뒫? ?대떦 ?뚯씪?먯꽌 ?섏젙 |
12-7. PPT 怨좏뭹吏??쒗뵆由??쒖뒪??
template ?뚮씪誘명꽣濡?8媛?怨좏뭹吏??묒떇???됱긽/?덉씠?꾩썐???ъ슜?????덉뒿?덈떎.
?꾩옱 援ы쁽 (諛⑸쾿 1 ???댁옣 硫뷀??곗씠??:
- 媛??쒗뵆由우쓽 ?뚮쭏 ?됱긽??
FullThemes?뺤뀛?덈━???섎뱶肄붾뵫 (0KB 異붽?) - ?먮낯 .pptx ?놁씠???숈씪 ?됱긽+?덉씠?꾩썐?쇰줈 PPT ?앹꽦 媛??- ?먮낯 .pptx媛
Assets/ppt/?먮뒗%APPDATA%/AXCopilot/templates/ppt/???덉쑝硫?留덉뒪??蹂듭젣(怨좏뭹吏? ?먮룞 ?낃렇?덉씠???쒗뵆由??대쫫 ?먮낯 ?뚯씪 ?됱긽 ?뱀쭠 basic100BASIC100 湲곗? ?쒗뵆由?V1.pptx (67MB) 紐⑤뜕 釉붾( (#2572EF) core100CORE100 湲곗??쒗뵆由?V1.pptx (141MB) ??釉붾( (#266DF1) frame_blue?꾨젅?꾨뵒?먯씤 釉붾( (19MB) ?꾨젅??釉붾( (#126BF6) + 移대뱶 mr_ppt_01誘몄뒪???쇳뵾??01 (18MB) ?ㅽ겕 ?ㅼ씠鍮?+ 釉붾( (#0049F0) mr_ppt_02誘몄뒪???쇳뵾??02 (24MB) 釉붾( + 洹몃젅??移대뱶 (#2269F7) mr_ppt_03誘몄뒪???쇳뵾??03 (5.5MB) ?ㅼ씠鍮?+ 怨⑤뱶 (#F4BB05) mr_ppt_04誘몄뒪???쇳뵾??04 (8.8MB) ???몃뵒怨?+ ?ㅼ뭅?대툝猷?(#0583F2) mr_ppt_05誘몄뒪???쇳뵾??05 (16MB) 紐⑤뜕 釉붾옓 + 釉붾( (#007AF9)
?ν썑 援ы쁽 ?듭뀡:
諛⑸쾿 2 ???먮룞 ?ㅼ슫濡쒕뱶 (沅뚯옣)
泥??ъ슜 ???щ궡 NAS/?쒕쾭?먯꽌 ?쒗뵆由??먮룞 ?ㅼ슫濡쒕뱶 ??%APPDATA%/AXCopilot/templates/ppt/ 罹먯떆
援ы쁽 ?ъ씤??
- AppSettings??TemplateServerUrl ?ㅼ젙 異붽? (?? https://nas.internal/ax-templates/)
- ResolveTemplatePath?먯꽌 ?뚯씪 誘몃컻寃????ㅼ슫濡쒕뱶 ?몃━嫄?- ?ㅼ슫濡쒕뱶 吏꾪뻾瑜?UI (ChatWindow ?먮뒗 ?ㅼ젙 ?붾㈃)
- ?ㅽ봽?쇱씤 ?대갚: ?댁옣 硫뷀??곗씠??諛⑸쾿 1)濡??먮룞 ?꾪솚
- 踰꾩쟾 愿由? ?쒕쾭??manifest.json ??濡쒖뺄 罹먯떆 踰꾩쟾怨?鍮꾧탳
?덉긽 ?묒뾽?? 以?(?ㅼ슫濡쒕뱶 ?쒕퉬??+ UI + ?ㅼ젙)
?뚯씪: PptxSkill.cs, AppSettings.cs, SettingsService.cs
諛⑸쾿 3 ??鍮뚮뱶???ы븿
csproj??Content濡??깅줉?섏뿬 諛고룷 ?⑦궎吏???ы븿
援ы쁽:
1. AxCopilot.csproj???꾨옒 異붽?:
<Content Include="Assets\ppt\*.pptx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
2. ?ㅼ튂?뚯씪 ?⑸웾 ?곹뼢: +~200MB (?뺤텞 ??
- ?꾩옱 ?ㅼ튂?뚯씪 ~107MB ??~307MB ?덉긽
3. ?좏깮???ы븿 (?⑸웾 ?덉땐):
- 寃쎈웾 ?쒗뵆由용쭔 ?ы븿 (mr_ppt_03: 5.5MB, mr_ppt_04: 8.8MB ??
- ????쒗뵆由?(core100: 141MB)? 諛⑸쾿 2濡??ㅼ슫濡쒕뱶
<Content Include="Assets\ppt\誘몄뒪??" Condition="Exists('Assets\ppt\')">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
二쇱쓽: build.bat??payload.zip ?뺤텞 ?④퀎?먯꽌 ?먮룞 ?ы븿??```
---
## 14. 吏?ν삎 ?먯씠?꾪듃 怨좊룄??(oh-my-openagent 李몄“)
> ?곸꽭 怨꾪쉷: `docs/AGENT_ROADMAP.md` 8??李몄“
### 利됱떆 媛쒕컻 (P1~P5)
| ?쒖쐞 | 湲곕뒫 | ?듭떖 ?뚯씪 | ?ㅻ챸 |
|------|------|----------|------|
| P1 | **IntentGate** (?섎룄 遺꾨쪟湲? | `IntentGateService.cs`(?좉퇋) | ?ъ슜???낅젰 ???묒뾽 ?좏삎 ?먮룞 遺꾨쪟 ??理쒖쟻 ?ㅽ뻾 ?꾨줈?뚯씪(temperature/tool 沅뚰븳/諛섎났 ?곹븳) ?먮룞 ?곸슜. 湲곗〈 `ClassifyTaskType` + `IntentDetector` ?듯빀 ?뺤옣 |
| P2 | **移댄뀒怨좊━ ?쒕툕?먯씠?꾪듃 ?꾨줈?뚯씪** | `SubAgentProfile.cs`(?좉퇋), `SubAgentTool.cs` | ?⑥씪 紐⑤뜽 + ?ㅻⅨ system prompt/tool 沅뚰븳/temperature 議고빀?쇰줈 媛??硫?곗뿉?댁쟾?? researcher/coder/writer/reviewer/planner 5媛??꾨줈?뚯씪 |
| P3 | **?꾩쟻 ?숈뒿** | `SessionLearningCollector.cs`(?좉퇋) | ?몄뀡 ??諛쒓껄?ы빆(鍮뚮뱶 ?먮윭, ?뚯씪 援ъ“, ?⑦꽩)???먮룞 ?섏쭛?섏뿬 ?꾩냽 諛섎났??而⑦뀓?ㅽ듃濡?二쇱엯. 諛섎났 ?ㅼ닔 諛⑹? |
| P4 | **?뚰겕?ㅽ럹?댁뒪 而⑦뀓?ㅽ듃 ?먮룞 ?앹꽦** | `WorkspaceContextGenerator.cs`(?좉퇋) | ?묒뾽 ?대뜑 援ъ“/湲곗닠?ㅽ깮??`.ax-context.md`濡??먮룞 ?앹꽦. ?쒕툕?먯씠?꾪듃 而⑦뀓?ㅽ듃 ?⑥쑉??|
| P5 | **蹂묐젹 ?쒕툕?먯씠?꾪듃 ?뺤옣** | `SpawnAgentsTool.cs`(?좉퇋) | ?щ윭 ?쒕툕?먯씠?꾪듃瑜???踰덉뿉 ?앹꽦/?ㅽ뻾. IntentGate ?곕룞?쇰줈 蹂듯빀 ?붿껌 ?먮룞 遺꾪빐 |
### 異뷀썑 媛쒕컻 (P6~P7)
| ?쒖쐞 | 湲곕뒫 | ?좏뻾 議곌굔 | ?ㅻ챸 |
|------|------|----------|------|
| P6 | **?대갚 泥댁씤** | P1 + P2 | ?ㅽ뻾 ?ㅽ뙣 ???ㅻⅨ ?꾨줈?뚯씪/?꾨왂?쇰줈 ?먮룞 ?ъ떆??(理쒕? 2?? |
| P7 | **紐⑤뜽 ?깃꺽 留ㅼ묶** | P1 + 硫?곕え??| ?묒뾽 ?좏삎蹂?理쒖쟻 紐⑤뜽 ?먮룞 ?좏깮 (RegisteredModel.strengths 留ㅼ묶) |
### 援ы쁽 ?섏〈 愿怨?
P1 (IntentGate) ??????р????P2 (移댄뀒怨좊━ ?꾨줈?뚯씪) ????P5 (蹂묐젹 ?뺤옣) ?쒋????P3 (?꾩쟻 ?숈뒿) [?낅┰] ?붴????P4 (?뚰겕?ㅽ럹?댁뒪 而⑦뀓?ㅽ듃) [?낅┰] P1 + P2 ?꾨즺 ??????P6 (?대갚 泥댁씤) P1 + 硫?곕え????????P7 (紐⑤뜽 ?깃꺽 留ㅼ묶)
---
## 15. 蹂듭썝 泥댄겕?ъ씤??
UI ?붿옄???洹쒕え 由ы뙥?좊쭅 ???꾪뿕 ?묒뾽 ??湲곕줉???덉쟾 蹂듭썝 吏?먯엯?덈떎.
| ?좎쭨 | 而ㅻ컠 ?댁떆 | ?ㅻ챸 | 蹂듭썝 紐낅졊 |
|------|-----------|------|-----------|
| 2026-04-13 | `4d1d160` | UI ?붿옄??媛쒖꽑 吏곸쟾 ???뚮쭏 援먯젙, IBM 吏꾨떒 濡쒓퉭, 酉곗뼱 紐낆묶 蹂寃??꾨즺 (704 tests pass) | `git checkout 4d1d160 -- src/AxCopilot/` |
> **?꾩껜 濡ㅻ갚**: `git revert <而ㅻ컠>` ?먮뒗 `git reset --hard 4d1d160` (二쇱쓽: ?댄썑 ?묒뾽 紐⑤몢 ?뚯떎)
> **遺遺?蹂듭썝**: `git checkout 4d1d160 -- <?뚯씪寃쎈줈>` 濡??뱀젙 ?뚯씪留??섎룎由ш린
---
## 16. 愿??臾몄꽌
| 臾몄꽌 | ?댁슜 |
|------|------|
| `docs/AGENT_ROADMAP.md` | ?먯씠?꾪듃 湲곕뒫 濡쒕뱶留?(吏?ν삎 怨좊룄??P1~P7 ?곸꽭 ?ы븿) |
| `docs/LAUNCHER_ROADMAP.md` | ?곗쿂 湲곕뒫 濡쒕뱶留?|
| `docs/OPENCODE_PARITY_PLAN.md` | OpenCode 湲곕뒫 ???怨꾪쉷 |
| `docs/TOOL_PARITY_REPORT.md` | ?꾧뎄 ?명솚??由ы룷??|
| `docs/AX_AGENT_UI_CHECKLIST.md` | ?먯씠?꾪듃 UI 泥댄겕由ъ뒪??|
| `docs/UI_UX_CHECKLIST.md` | UI/UX 泥댄겕由ъ뒪??|
> ?낅뜲?댄듃: 2026-04-14 18:08 (KST)
> - ?ㅽ궗 ?쒖뒪??Phase 2 1~6踰덉쓣 諛섏쁺?덉뒿?덈떎. `SkillService`???꾨줈?앺듃 `.claude/skills` ?ш? 濡쒕뱶, namespaced `SKILL.md`, 踰덈뱾 ?ㅽ궗 二쇱엯, `$ARGUMENTS`/named args/?ㅽ궗 ?대뜑 蹂??移섑솚, inline shell block ?ㅽ뻾源뚯? 吏?먰븯?꾨줉 ?뺤옣?덉뒿?덈떎.
> - `ChatWindow` ?고???寃쎈줈???④퍡 ?뺣━?덉뒿?덈떎. ?щ옒???몄텧? `BuildSlashInvocationAsync`瑜??듯빐 而댄뙆?쇰맂 ?ㅽ궗 ?꾨\?꾪듃瑜??ъ슜?섍퀬, ?쇰컲 ??붾뒗 `when_to_use`/`paths`/`user-invocable` 硫뷀??곗씠?곕? 諛뷀깢?쇰줈 ?좏깮???먮룞 ?ㅽ궗 媛?대뱶瑜?蹂댁“ ?쒖뒪???꾨\?꾪듃濡?遺숈엯?덈떎.
> - ?ㅼ젙/UI ?곌껐?????ㅽ궗 紐⑤뜽 湲곗??쇰줈 留욎톬?듬땲?? Agent ?ㅼ젙, ?쇰컲 ?ㅼ젙, ?ㅻ쾭?덉씠, ?ㅽ궗 愿由ъ옄 ?꾧뎄??踰덈뱾/?꾨줈?앺듃/?ъ슜???ㅽ궗 遺꾨쪟? ?꾨줈?앺듃 `.claude/skills` 寃쎈줈瑜?諛섏쁺???ㅻ챸怨?由ъ뒪?몃? 援ъ꽦?⑸땲??
> - ?꾧뎄 ?몄텧 ?④퀎??`AgentLoopService.GetRuntimeActiveTools()`?먯꽌 blanket deny 沅뚰븳??癒쇱? ?곸슜?섎룄濡?蹂닿컯?덉뒿?덈떎. ?⑦꽩 湲곕컲 洹쒖튃? call-time 寃?щ? ?좎??섍퀬, ?⑥닚 deny ?꾧뎄??紐⑤뜽 ?몄텧 ???꾪꽣留곸쑝濡??뺣━?덉뒿?덈떎.
> - 寃利? `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_phase2\\ -p:IntermediateOutputPath=obj\\verify_phase2\\` 寃쎄퀬 0 / ?ㅻ쪟 0
> - 寃利? `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolCatalogTests|SkillServiceRuntimePolicyTests" -p:OutputPath=bin\\verify_phase2_tests\\ -p:IntermediateOutputPath=obj\\verify_phase2_tests\\` ?듦낵 16
> - 李멸퀬: ?뚯뒪???꾨줈?앺듃??湲곗〈 nullable 寃쎄퀬 `src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs(76)` 1嫄댁? ?좎??⑸땲??
> ?낅뜲?댄듃: 2026-04-14 18:22 (KST)
> - ?ㅽ궗 ?뚯뒪 ?뺤옣 Phase 3??諛섏쁺?덉뒿?덈떎. `SkillService`???곸쐞 ?붾젆?곕━源뚯? ?ы븿???꾨줈?앺듃 `.claude/skills` ?먯깋, ?뚮윭洹몄씤 ?ㅽ궗 ?대뜑 ?먯깋, 異붽? 怨듭슜 ?대뜑 紐⑸줉, `.claude/commands` markdown command瑜?legacy skill濡?蹂?섑븯??寃쎈줈瑜??④퍡 吏?먰빀?덈떎.
> - ?뚯씪???ㅽ궗? body瑜?利됱떆 硫붾え由ъ뿉 ?щ━吏 ?딄퀬 ?꾩슂 ?쒖젏?먮쭔 ?쎈뒗 lazy prompt body 罹먯떆瑜?異붽??덉뒿?덈떎. `SkillManagerTool`, `SkillEditorWindow`, `SkillGalleryWindow`????寃쎈줈瑜??듯빐 ?ㅼ젣 蹂몃Ц???쒖떆?⑸땲??
> - ?몄옄 紐⑤뜽???뺤옣?덉뒿?덈떎. `arguments`? `argument-hint`瑜??④퍡 ?댁꽍??named placeholder 移섑솚??媛뺥솕?덇퀬, ?몄옄媛 遺議깊븯硫?usage 媛?대뱶瑜??꾨\?꾪듃 ?욎뿉 遺숈뿬 ?ㅽ뻾 ?덉쭏??蹂댁셿?⑸땲??
> - ?꾧뎄 deny ?꾪꽣??`AgentToolCatalog` 怨듯넻 硫붿꽌?쒕줈 ?대룞???고??꾧낵 ?ㅼ젙 UI媛 媛숈? blanket deny 洹쒖튃??怨듭쑀?섎룄濡??뺣━?덉뒿?덈떎.
> - ?ㅼ젙 ??μ뿉??`additionalSkillFolders`瑜?異붽??덇퀬, ?쇰컲 ?ㅼ젙/AX Agent ?ㅼ젙 UI??以??⑥쐞 ?낅젰 ?꾨뱶瑜??l뼱 ?щ윭 怨듭슜 ?ㅽ궗 ?대뜑瑜??곌껐?????덇쾶 ?덉뒿?덈떎.
> - 寃利? `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_phase3\\ -p:IntermediateOutputPath=obj\\verify_phase3\\` 寃쎄퀬 0 / ?ㅻ쪟 0
> - 寃利? `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolCatalogTests|SkillServiceRuntimePolicyTests" -p:OutputPath=bin\\verify_phase3_tests\\ -p:IntermediateOutputPath=obj\\verify_phase3_tests\\` ?듦낵 18
> - 李멸퀬: ?뚯뒪???꾨줈?앺듃??湲곗〈 nullable 寃쎄퀬 `src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs(76)` 1嫄댁? ?좎??⑸땲??
> ?낅뜲?댄듃: 2026-04-14 18:33 (KST)
> - ?ㅽ궗 ?뺤콉 ?쒖뼱瑜?異붽??덉뒿?덈떎. `LlmSettings`??`enableProjectSkillDiscovery`, `enablePluginSkillDiscovery`, `enableLegacyCommandSkills`, `enableSkillInlineShell`, `skillInlineShellTimeoutSeconds`, `skillInlineShellMaxOutputChars`瑜?異붽??섍퀬 ?쇰컲 ?ㅼ젙/AX Agent ?ㅼ젙 UI???곌껐?덉뒿?덈떎.
> - ?ㅽ궗 濡쒕뱶 ?쒓렇?덉쿂???댁젣 ?뚯뒪 ?붾젆?곕━ 紐⑸줉肉??꾨땲???ㅼ젣 ?ㅽ궗 ?뚯씪 ?섏? 理쒓렐 ?섏젙 ?쒓컖???④퍡 諛섏쁺?⑸땲?? 媛숈? ?대뜑 援ъ꽦?대씪???뚯씪 ?댁슜??諛붾뚮㈃ ?ㅼ쓬 濡쒕뱶 ?붿껌?먯꽌 ?ы깘?됰맗?덈떎.
> - inline shell ?ㅽ뻾湲곕뒗 ?ㅼ젙 湲곕컲 鍮꾪솢?깊솕, timeout, 異쒕젰 湲몄씠 ?쒗븳???곸슜?섎룄濡?蹂닿컯?덉뒿?덈떎. 鍮꾪솢???곹깭???쒓컙 珥덇낵???꾨\?꾪듃 ?덉뿉???앸퀎 媛?ν븳 ?덈궡 臾몄옄?대줈 諛섑솚?⑸땲??
> - `SkillEditorWindow`? `SkillGalleryWindow`??lazy prompt body 寃쎈줈瑜??ъ슜?섎룄濡?留욎톬怨? ?ㅼ젙 蹂寃???`ReloadFromCurrentSettings()`瑜??듯빐 ?꾩옱 ?ㅽ궗 ?뚯뒪瑜??ㅼ떆 ?쎈룄濡??뺣━?덉뒿?덈떎.
> - 寃利? `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_phase4b\\ -p:IntermediateOutputPath=obj\\verify_phase4b\\` 寃쎄퀬 0 / ?ㅻ쪟 0
> - 寃利? `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolCatalogTests|SkillServiceRuntimePolicyTests" -p:OutputPath=bin\\verify_phase4b_tests\\ -p:IntermediateOutputPath=obj\\verify_phase4b_tests\\` ?듦낵 18
> - 李멸퀬: ?뚯뒪???꾨줈?앺듃??湲곗〈 nullable 寃쎄퀬 `src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs(76)` 1嫄댁? ?좎??⑸땲??
- ?낅뜲?댄듃: 2026-04-14 18:37 (KST)
- claude-code 濡쒖뺄 ?ㅻ깄?룹쓣 ?ㅼ떆 ?뺤씤?덉?留? ?꾩옱 ?ㅻ깄?룹뿉??PPT/臾몄꽌 ?꾩슜 踰덈뱾 ?ㅽ궗???쒕졆?섏? ?딆븯?듬땲?? ???AX媛 湲곕낯 ?ы븿?섍퀬 ?덈뒗 臾몄꽌??managed skill ?명듃瑜?以묒떖?쇰줈 諛고룷 ?먯궛 ?덉쭏???ㅻ벉?덉뒿?덈떎.
- pptx-creator, docx-creator, report-writer, prd-generator, meeting-minutes, weekly-report, markdown-to-doc??when_to_use? argument-hint 硫뷀?瑜?異붽???proactive skill ?좏깮怨??щ옒???몄텧 媛?대뱶瑜?蹂닿컯?덉뒿?덈떎.
- ?쇰컲 ?ㅼ젙怨?AX Agent ?ㅼ젙???ㅽ궗 紐⑸줉? managed ?ㅼ퐫?꾨? 蹂꾨룄 湲곕낯 ?쒓났 ?ㅽ궗 洹몃9?쇰줈 遺꾨━?덇퀬, ?ㅽ궗 媛ㅻ윭由щ룄 湲곕낯 ?쒓났 / ?꾨줈?앺듃 / ?뚮윭洹몄씤 / ?ъ슜??/ 怨좉툒 ?꾪꽣? 諛곗?瑜??ъ슜?섎룄濡??뺣━?덉뒿?덈떎.
- ??蹂寃쎌쑝濡?臾몄꽌쨌?꾨젅?좏뀒?댁뀡 ?ㅽ궗? 鍮뚮뱶 異쒕젰 skills ?대뜑瑜??듯빐 湲곕낯 諛고룷?섎㈃?쒕룄, UI?먯꽌 ?ъ슜???ㅽ궗怨?援щ텇???곹깭濡??뺤씤?????덉뒿?덈떎.
- 寃利? dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_docskills\\ -p:IntermediateOutputPath=obj\\verify_docskills\\ 寃쎄퀬 0 / ?ㅻ쪟 0
- ?낅뜲?댄듃: 2026-04-14 18:45 (KST)
- AX Agent ?대? ?ㅼ젙???ㅽ궗 ???덈궡 釉붾줉??而ㅼ뒪? ?쇰꺼??異붽??덉뒿?덈떎. ?댁젣 .claude/skills/.../SKILL.md ?꾨줈?앺듃 ?명솚 寃쎈줈媛 ?ㅽ궗 ??泥??붾㈃?먯꽌 諛붾줈 蹂댁뿬, ?뚰겕?ㅽ럹?댁뒪??媛숈? 援ъ“媛 ?덉쑝硫?AX媛 ?④퍡 ?쎈뒗?ㅻ뒗 ?먯쓣 UI?먯꽌???뺤씤?????덉뒿?덈떎.
- 寃利? dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_skilllabel\\ -p:IntermediateOutputPath=obj\\verify_skilllabel\\ 寃쎄퀬 0 / ?ㅻ쪟 0
- ?낅뜲?댄듃: 2026-04-14 19:02 (KST)
- 肄붿썙??肄붾뱶???묒뾽 ?대뜑 ?좏깮 ??UI媛 2~3珥?硫덉텛???먮쫫???먭??? ?대뜑 蹂寃?吏곹썑 ?ㅽ뻾?섎뜕 ?ㅽ궗 ?뚯뒪 ?ы깘?됱쓣 UI ?ㅻ젅??諛뽰쑝濡?遺꾨━?덉뒿?덈떎. ?댁젣 ?묒뾽 ?대뜑 蹂寃? ???꾪솚, ???蹂듭썝 ???꾩슂???ㅽ궗 ?щ줈?쒕뒗 諛깃렇?쇱슫?쒖뿉???섑뻾?섍퀬, 議곌굔遺 ?ㅽ궗 ?쒖꽦?붾쭔 UI???ㅼ떆 諛섏쁺?⑸땲??
- 泥⑤? ?뚯씪 異붽?/?쒓굅泥섎읆 ?묒뾽 ?대뜑媛 諛붾뚯? ?딅뒗 寃쎈줈??湲곗〈 ?ㅽ궗 吏묓빀留?湲곗??쇰줈 議곌굔遺 ?ㅽ궗??媛깆떊?섎룄濡?遺꾨━??遺덊븘?뷀븳 ?ы깘?됰룄 以꾩??듬땲??
- 寃利? dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_folderpick\\ -p:IntermediateOutputPath=obj\\verify_folderpick\\ 寃쎄퀬 0 / ?ㅻ쪟 0
- ?낅뜲?댄듃: 2026-04-14 19:16 (KST)
- 遺꾩꽍??濡쒓렇 ???諛⑹떇??濡ㅻ쭅 ?뺥깭濡??뺣━?덉뒿?덈떎. app, perf, audit, workflow 濡쒓렇???좎쭨蹂??뚯씪???좎??섎릺 媛??뚯씪??理쒕? 1MB瑜??섏? ?딅룄濡??ㅻ옒???댁슜遺??諛?대궡硫???濡쒓렇瑜??댁뼱 遺숈엯?덈떎.
- 怨듯넻 ?좏떥 RollingTextLogStore瑜?異붽??섍퀬 LogService, AgentPerformanceLogService, AuditLogService, WorkflowLogService???④퍡 ?곸슜?덉뒿?덈떎.
- 怨듯넻 濡쒓렇/?깅뒫 濡쒓렇/媛먯궗 濡쒓렇??14?쇨퉴吏留??좎??섍퀬, ?뚰겕?뚮줈???곸꽭 濡쒓렇??湲곗〈 ?ㅼ젙媛믪쓣 ?곕Ⅴ??理쒕? 14?쇱쓣 ?섏? ?딅룄濡?App ?쒖옉 ???곹븳???곸슜?덉뒿?덈떎.
- RollingTextLogStoreTests 3嫄댁쓣 異붽????뚯씪 ?ш린 ?곹븳 ?좎?, ?ㅻ옒???뚯씪 ??젣, ?좎쭨 ?붾젆?곕━ ??젣 ?숈옉??寃利앺뻽?듬땲??
- 寃利? dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_logroll\\ -p:IntermediateOutputPath=obj\\verify_logroll\\ 寃쎄퀬 0 / ?ㅻ쪟 0
- 寃利? dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter RollingTextLogStoreTests -p:OutputPath=bin\\verify_logroll_tests\\ -p:IntermediateOutputPath=obj\\verify_logroll_tests\\ ?듦낵 3
- 李멸퀬: ?뚯뒪???꾨줈?앺듃??湲곗〈 nullable 寃쎄퀬 src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs(76) 1嫄댁? ?좎??⑸땲??
업데이트: 2026-04-14 21:00 (KST)
- Word/Excel/HTML 문서 생성 고도화 1차를 반영했습니다. `DocumentPlannerTool`은 제안서/보고서/분석 문서를 `Executive Summary`, `Business Case`, `Decision Ask`, `Appendix`까지 포함한 업무형 아웃라인으로 확장합니다.
- `DocumentAssemblerTool`은 DOCX 조립 시 HTML/Markdown 구조를 더 보존하도록 손봤습니다. 표, 목록, 콜아웃, 소제목을 평문으로만 밀어버리지 않고 Word 블록으로 다시 조립합니다.
- `ExcelSkill`에 `summary_sheet`를 추가해 KPI/핵심 인사이트/후속 과제를 담은 요약 시트를 상세 데이터 시트 앞에 함께 생성할 수 있게 했습니다.
- `HtmlSkill`은 `comparison`, `roadmap`, `matrix` 구조화 섹션을 지원하고, 함수 스키마의 `body` 필수 조건을 완화해 `sections` 중심 호출도 자연스럽게 받도록 정리했습니다.
- `docx-creator.skill.md`, `csv-to-xlsx.skill.md`, `markdown-to-doc.skill.md`, `report-writer.skill.md`는 Python 우회 경로보다 AX 네이티브 문서 도구를 우선 사용하도록 재작성했습니다.
- 테스트: `DocumentAssemblerSemanticTests`, `ExcelSkillSummarySheetTests`, `HtmlSkillConsultingSectionsTests`, `DocumentPlannerBusinessDocumentTests` 추가
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_phase1\\ -p:IntermediateOutputPath=obj\\verify_doc_phase1\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DocumentAssemblerSemanticTests|ExcelSkillSummarySheetTests|HtmlSkillConsultingSectionsTests|DocumentPlannerBusinessDocumentTests|DocumentPlannerPresentationTests" -p:OutputPath=bin\\verify_doc_phase1_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_phase1_tests\\` 통과 5
업데이트: 2026-04-14 21:50 (KST)
- PPT 생성 고도화 3차를 반영했습니다. `DeckPlanningService`를 추가해 deck brief 정규화, consulting storyline 보강, 누락된 `Executive Summary`/`Recommendation`/`Roadmap`/`Appendix` 자동 삽입, 레이아웃 alias 정규화를 내부 파이프라인으로 처리합니다.
- `DeckQualityReviewService`를 추가해 deck-level 품질 점수와 경고를 계산합니다. 템플릿 사용 여부, 레이아웃 다양성, executive summary/recommendation 유무, 텍스트 과밀, 근거 슬라이드 부족, placeholder 잔존을 함께 점검합니다.
- `PptxSkill`은 `audience`, `objective`, `decision_ask`, `storyline` 파라미터를 추가했고, `issue_tree`, `before_after`, `decision_matrix`, `risk_heatmap`, `benefit_waterfall`, `operating_model`, `appendix_evidence` 같은 상위 deck 레이아웃을 네이티브 슬라이드 타입으로 자동 정규화해 렌더링 전에 보정합니다.
- 결과 메시지도 고도화했습니다. `pptx_create` 실행 후 파일 경로만 반환하던 흐름에서, 이제 planning summary와 deck quality summary를 함께 반환해 모델과 사용자가 결과물 완성도를 바로 확인할 수 있습니다.
- `pptx-creator.skill.md`를 deck planning 중심으로 재작성했고, `strategy-deck`, `board-update`, `pmo-steering`, `sales-review-deck`, `operating-model-deck` 번들 스킬을 추가해 목적형 deck 생성 진입점을 늘렸습니다.
- 테스트로 `DeckPlanningServiceTests`, `DeckQualityReviewServiceTests`, `PptxSkillAutoRepairTests`를 추가했고, 기존 `PptxSkillConsultingDeckTests`와 함께 검증했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_ppt_phase3\\ -p:IntermediateOutputPath=obj\\verify_ppt_phase3\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DeckPlanningServiceTests|DeckQualityReviewServiceTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests" -p:OutputPath=bin\\verify_ppt_phase3_tests\\ -p:IntermediateOutputPath=obj\\verify_ppt_phase3_tests\\` 통과 5
업데이트: 2026-04-14 22:14 (KST)
- 문서 planner/assembler 고도화 2차를 반영했습니다. [DocumentPlannerTool.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DocumentPlannerTool.cs)는 `format: xlsx`를 지원하고, 분석/제안 시나리오에서 `summary_sheet + sheets` 구조의 `excel_create` scaffold를 직접 생성합니다.
- 같은 파일의 포맷 해석 로직은 `xlsx`, `excel`, `workbook`, `tracker`, `dashboard`, `scorecard` 계열 의도를 먼저 감지해 워크북 경로로 보내도록 보강했습니다.
- [DocumentAssemblerTool.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DocumentAssemblerTool.cs)는 DOCX 조립 시 `cover_subtitle`, `toc`, `header`, `footer`를 실제 OpenXML 문서에 반영하고, 구조화 HTML을 Word 블록으로 조립한 뒤 품질 리뷰 점수를 함께 반환합니다.
- 같은 도구의 HTML 조립 경로도 공통 [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)와 연결해 score/strengths/issues 기준의 요약을 돌려주도록 정리했습니다.
- [kpi-workbook.skill.md](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/skills/kpi-workbook.skill.md)는 complex workbook 생성 시 planner 경로를 열기 위해 `document_plan`을 허용 도구에 추가했습니다.
- 테스트로 [DocumentPlannerWorkbookScaffoldTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DocumentPlannerWorkbookScaffoldTests.cs), [DocumentAssemblerDocxFeaturesTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DocumentAssemblerDocxFeaturesTests.cs)를 추가했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_planning2\\ -p:IntermediateOutputPath=obj\\verify_doc_planning2\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DocumentPlannerWorkbookScaffoldTests|DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|DocumentPlannerBusinessDocumentTests|ExcelSkillExecutiveSummaryLinkTests|HtmlSkillConsultingSectionsTests|DocxSkillTemplateFeaturesTests" -p:OutputPath=bin\\verify_doc_planning_tests3\\ -p:IntermediateOutputPath=obj\\verify_doc_planning_tests3\\` 통과 7
업데이트: 2026-04-14 22:28 (KST)
- 문서 포맷 고도화 3차를 반영했습니다. [DocumentAssemblerTool.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DocumentAssemblerTool.cs)는 DOCX 조립 시 `template_path`와 `page_numbers`를 지원해 사내 템플릿 복제 후 커버, 목차, 머리글, 바닥글, 페이지 번호를 함께 적용할 수 있게 했습니다.
- 같은 도구의 DOCX 경로는 템플릿 상속 여부를 [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)의 구조화 문서 리뷰 입력으로 전달해 템플릿 기반 산출물 강점까지 품질 요약에 반영합니다.
- [ExcelSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ExcelSkill.cs)는 `data_validations`를 지원하도록 확장했습니다. 단일 시트, summary sheet 포함 워크북, 멀티 시트 워크북 모두에서 OpenXML `DataValidation` 규칙을 생성하고 워크북 품질 리뷰에 검증 규칙 수를 포함합니다.
- [HtmlSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/HtmlSkill.cs)는 `decision_summary`, `evidence_cards` 섹션을 지원해 경영 보고형 HTML에서 의사결정 요약과 근거 카드 묶음을 구조화 블록으로 렌더링합니다.
- [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)의 HTML 리뷰는 새 블록을 인식해 comparison, roadmap, matrix 외에 decision/evidence 구조도 강점으로 점수화하도록 보강했습니다.
- 테스트로 [ExcelSkillDataValidationTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ExcelSkillDataValidationTests.cs)를 추가했고, [DocumentAssemblerDocxFeaturesTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DocumentAssemblerDocxFeaturesTests.cs), [HtmlSkillConsultingSectionsTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/HtmlSkillConsultingSectionsTests.cs)를 확장해 DOCX 템플릿/페이지 번호와 HTML decision/evidence 블록을 회귀 검증했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_phase_next\\ -p:IntermediateOutputPath=obj\\verify_doc_phase_next\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|DocumentPlannerWorkbookScaffoldTests|ExcelSkillExecutiveSummaryLinkTests|ExcelSkillSummarySheetTests|ExcelSkillDataValidationTests|HtmlSkillConsultingSectionsTests|DocxSkillTemplateFeaturesTests|DocumentPlannerBusinessDocumentTests" -p:OutputPath=bin\\verify_doc_phase_next_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_phase_next_tests\\` 통과 9
업데이트: 2026-04-14 23:05 (KST)
- 문서 고도화 다음 단계를 반영했습니다. [ExcelSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ExcelSkill.cs)는 `summary_sheet`에 `decision_summary`, `scorecards`, `sheet_summaries`를 추가로 받을 수 있게 확장됐고, executive summary sheet에서 의사결정 요청, 핵심 scorecard, 상세 시트별 상태를 순서대로 렌더링합니다.
- 워크북 품질 리뷰 입력도 같은 구조를 인식하도록 [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)의 `WorkbookReviewInput`과 `ReviewWorkbook()`를 확장했습니다. 이제 summary sheet가 KPI/decision/detail summary를 충분히 담고 있는지 강점과 보완 포인트로 함께 표시합니다.
- [DocumentAssemblerTool.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DocumentAssemblerTool.cs)는 `style_map` 파라미터를 받아 template-based DOCX assembly에서 `title`, `heading1`, `heading2`, `body` 문단 스타일을 실제 Word 문단에 매핑합니다. cover title, 섹션 헤딩, 본문 문단이 사내 템플릿 스타일을 더 자연스럽게 따라가도록 정리했습니다.
- 새 회귀 테스트 [ExcelSkillDashboardSummaryTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ExcelSkillDashboardSummaryTests.cs), [DocumentAssemblerStyleMapTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DocumentAssemblerStyleMapTests.cs)를 추가했고, [ArtifactQualityReviewServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ArtifactQualityReviewServiceTests.cs)도 새 record 시그니처에 맞춰 갱신했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next2\\ -p:IntermediateOutputPath=obj\\verify_doc_next2\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|DocumentAssemblerStyleMapTests|DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|ExcelSkillDashboardSummaryTests|ExcelSkillSummarySheetTests|ExcelSkillExecutiveSummaryLinkTests|ExcelSkillDataValidationTests|ExcelSkillConditionalFormattingTests" -p:OutputPath=bin\\verify_doc_next2_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next2_tests\\` 통과 11
업데이트: 2026-04-14 23:15 (KST)
- [ExcelSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ExcelSkill.cs)는 `summary_sheet.trend_series`를 새로 지원합니다. summary sheet에서 `Trend Dashboard` 섹션을 추가로 만들고 `label/current/target/delta/status`를 열 기반으로 렌더링해 workbook summary가 KPI 표 수준을 넘어 상태 대시보드 역할까지 하도록 확장했습니다.
- 같은 파일의 workbook review 입력 계산은 `trend_series`도 summary quality 강점으로 인정하도록 업데이트했습니다. [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)는 workbook summary가 KPI/decision/highlight 없이 끝나는 경우 보완 포인트를 추가로 반환합니다.
- [HtmlSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/HtmlSkill.cs)는 `print=true`에서 명시적 `print_header`/`print_footer`가 없는 경우 기본 frame(`title`, `date | AX Copilot`)을 자동 생성합니다. print-ready HTML이 최소 배포형 header/footer를 갖도록 내부 기본값을 넣은 것입니다.
- [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)의 HTML 리뷰는 print-ready 문서에 frame이 없거나, decision/evidence block이 부족하거나, 장문 보고서인데 cover가 없는 경우를 추가로 경고합니다.
- [DeckPlanningService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DeckPlanningService.cs)는 `comparison`, `roadmap`, `executive_summary`, `kpi_dashboard` 슬라이드의 최소 구조를 자동 보정하고, 긴 headline은 내부 기준 길이로 압축합니다.
- [DeckQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DeckQualityReviewService.cs)는 slide-level quality gate를 추가해 긴 headline, 과밀 슬라이드, 옵션 부족, 표/차트 데이터 누락을 `Slide N:` 경고로 품질 요약에 포함합니다.
- 테스트로 [ExcelSkillDashboardSummaryTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ExcelSkillDashboardSummaryTests.cs), [HtmlSkillPrintFrameTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/HtmlSkillPrintFrameTests.cs), [DeckQualityReviewServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DeckQualityReviewServiceTests.cs)를 확장했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next3\\ -p:IntermediateOutputPath=obj\\verify_doc_next3\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DeckQualityReviewServiceTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests|ExcelSkillDashboardSummaryTests|ExcelSkillSummarySheetTests|HtmlSkillPrintFrameTests|HtmlSkillConsultingSectionsTests|ArtifactQualityReviewServiceTests" -p:OutputPath=bin\\verify_doc_next3_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next3_tests\\` 통과 13
업데이트: 2026-04-14 23:25 (KST)
- [ExcelSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ExcelSkill.cs)는 `summary_sheet.dashboard_sheet_name`과 `trend_series`를 바탕으로 별도 `Dashboard` worksheet를 생성합니다. summary sheet에서 decision summary, scorecards, trend dashboard, detail sheet links를 요약하고, dashboard sheet에서는 이를 한 장의 workbook dashboard로 다시 정리해 summary-only workbook보다 분석/보고 밀도를 높입니다.
- 같은 파일의 single-sheet / multi-sheet workbook 생성 경로는 dashboard sheet가 있으면 시트 순서를 `Summary -> Dashboard -> Detail...`로 정렬하고, summary hyperlink 수와 total sheet count를 품질 리뷰 입력에 정확히 전달합니다.
- [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)의 `WorkbookReviewInput`은 `HasDashboardSheet`를 새로 받습니다. dashboard가 있는 workbook은 강점으로 계산하고, detail sheet가 여러 장인데 dashboard가 없는 경우는 보완 포인트로 돌려줍니다.
- [DocumentAssemblerTool.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DocumentAssemblerTool.cs)는 `style_map` 지원 범위를 `cover_subtitle`, `callout`, `table_header`까지 넓혔습니다. cover subtitle 문단, 강조 블록 paragraph, 표 header cell paragraph가 사내 DOCX 템플릿 스타일을 실제로 타도록 조립 경로를 연결했습니다.
- [DocumentAssemblerStyleMapTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DocumentAssemblerStyleMapTests.cs)는 title/heading/body뿐 아니라 subtitle/callout/table header 스타일까지 회귀 검증하도록 보강했습니다.
- [PptxSkillGoldenDeckTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/PptxSkillGoldenDeckTests.cs)를 추가해 strong board deck이 `PPT quality` 요약을 안정적으로 반환하고 불필요한 `Slide alerts` 없이 통과하는지 golden regression으로 고정했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next4\\ -p:IntermediateOutputPath=obj\\verify_doc_next4\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|DocumentAssemblerStyleMapTests|DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|ExcelSkillDashboardSummaryTests|ExcelSkillSummarySheetTests|ExcelSkillExecutiveSummaryLinkTests|ExcelSkillDataValidationTests|ExcelSkillConditionalFormattingTests|HtmlSkillPrintFrameTests|HtmlSkillConsultingSectionsTests|DeckQualityReviewServiceTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests|PptxSkillGoldenDeckTests" -p:OutputPath=bin\\verify_doc_next4_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next4_tests\\` 통과 20
업데이트: 2026-04-14 23:32 (KST)
- [HtmlSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/HtmlSkill.cs)는 `board_report`, `strategy_brief` 구조화 섹션 타입을 추가했습니다. board report는 decision ask, recommendation, rationale, metrics, risks, next steps를 board-ready 패널로 렌더링하고, strategy brief는 strategic question, core thesis, implications, decisions를 전략 요약 패널로 렌더링합니다.
- [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)의 HTML 리뷰는 `board-report-panel`, `strategy-brief-panel`을 새 강점으로 인식합니다. 반대로 board report인데 evidence/table이 없거나 strategy brief인데 comparison/roadmap이 없을 때는 추가 보완 포인트를 반환하도록 규칙을 보강했습니다.
- [ExcelSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ExcelSkill.cs)의 `WriteDashboardSheet()`는 dashboard sheet에 `kpis`, `highlights`, `actions`까지 함께 표시하도록 확장됐습니다. summary sheet와 dashboard sheet가 서로 같은 정보를 단순 중복하는 대신, executive dashboard 성격을 더 분명히 갖도록 정리한 변경입니다.
- [PptxSkillGoldenDeckTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/PptxSkillGoldenDeckTests.cs)는 board deck 외에 strategy deck golden fixture를 추가했습니다. `storyline`, `decision_ask`, recommendation headline 길이까지 품질 게이트 기준에 맞는 strong strategy deck을 회귀 샘플로 고정했습니다.
- 테스트로 [HtmlSkillConsultingSectionsTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/HtmlSkillConsultingSectionsTests.cs), [ExcelSkillDashboardSummaryTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ExcelSkillDashboardSummaryTests.cs), [ArtifactQualityReviewServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ArtifactQualityReviewServiceTests.cs), [PptxSkillGoldenDeckTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/PptxSkillGoldenDeckTests.cs)를 확장했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next5\\ -p:IntermediateOutputPath=obj\\verify_doc_next5\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ExcelSkillDashboardSummaryTests|HtmlSkillConsultingSectionsTests|HtmlSkillPrintFrameTests|DeckQualityReviewServiceTests|PptxSkillGoldenDeckTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests" -p:OutputPath=bin\\verify_doc_next5_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next5_tests\\` 통과 14
업데이트: 2026-04-14 23:58 (KST)
- [ArtifactRepairGuideService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactRepairGuideService.cs)를 추가했습니다. 이 서비스는 [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)가 반환한 HTML/XLSX/DOCX 품질 이슈를 읽어 `Repair guide:` 형태의 바로 실행 가능한 개선 가이드로 바꿉니다.
- [HtmlSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/HtmlSkill.cs), [ExcelSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ExcelSkill.cs), [DocumentAssemblerTool.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DocumentAssemblerTool.cs)는 이제 품질 점수 요약 뒤에 repair guide를 함께 반환합니다. 출력만 보는 사용자도 “무엇을 더 보완해야 하는지”를 바로 이해할 수 있게 정리한 변경입니다.
- [ExcelSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ExcelSkill.cs)는 `dashboard_tiles`, `variance_series`를 추가 지원합니다. `WriteDashboardSheet()` 경로는 decision summary, scorecards, KPI, trend dashboard, detail summaries 외에 dashboard tiles와 variance overview까지 함께 렌더링해 운영 리뷰형 workbook archetype을 더 명확히 만들었습니다.
- workbook 리뷰 강점 계산도 같이 넓혔습니다. [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)의 summary/dashboard 신호 판정은 `dashboard_tiles`, `variance_series`가 들어온 workbook도 richer dashboard로 인식합니다.
- 목적형 번들 스킬을 추가했습니다. [strategy-brief-html.skill.md](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/skills/strategy-brief-html.skill.md)는 전략 브리프 HTML 생성용 진입점을 제공하고, [operating-review-xlsx.skill.md](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/skills/operating-review-xlsx.skill.md)는 Summary/Dashboard/Detail 구조의 운영 리뷰 workbook 생성 경로를 제공합니다.
- 테스트로 [ArtifactRepairGuideServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ArtifactRepairGuideServiceTests.cs)를 추가했고, [ExcelSkillDashboardSummaryTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ExcelSkillDashboardSummaryTests.cs), [HtmlSkillConsultingSectionsTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/HtmlSkillConsultingSectionsTests.cs)를 확장해 archetype과 repair guide를 함께 회귀 검증했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next6\\ -p:IntermediateOutputPath=obj\\verify_doc_next6\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|ExcelSkillDashboardSummaryTests|HtmlSkillConsultingSectionsTests|HtmlSkillPrintFrameTests|DocumentAssemblerStyleMapTests|DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|PptxSkillGoldenDeckTests|DeckQualityReviewServiceTests" -p:OutputPath=bin\\verify_doc_next6_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next6_tests\\` 통과 17
업데이트: 2026-04-15 00:19 (KST)
- `AgentCommandQueue`를 `Prompt/Notification` 2종에서 `Steering`, `PermissionContinuation`, `Resume`, `UserDecision`까지 포함하는 통합 큐로 확장했습니다. [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)는 이를 `queued_steering`, `queue_permission_continuation`, `queue_resume` 메타 메시지로 주입해 실행 중 추가 입력과 승인 후 재개 문맥을 더 안정적으로 반영합니다.
- 코드 탭 언어 지원 카탈로그를 확장했습니다. [CodeLanguageCatalog.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/CodeLanguageCatalog.cs)는 `Go`, `Rust`, `PHP`, `Ruby`, `Kotlin`, `Swift`를 LSP 심화 지원군으로 승격했고, [LspClientService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/LspClientService.cs)는 `gopls`, `rust-analyzer`, `intelephense`, `solargraph`, `kotlin-language-server`, `sourcekit-lsp`를 로컬 설치 서버 기준으로 탐지합니다.
- 내부 설정의 코드 탭 설명을 더 명시적으로 정리했습니다. [SettingsWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/SettingsWindow.xaml), [SettingsViewModel.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/ViewModels/SettingsViewModel.cs)는 `빠른 선택 언어`, `지원 언어(LSP)`, `코드 탭 기본 지원`을 나눠 보여주도록 보강했습니다.
- 워크스페이스 컨텍스트 생성기를 강화했습니다. [WorkspaceContextGenerator.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/WorkspaceContextGenerator.cs)는 `Language Snapshot`, `Agent Context`, `Key Manifests` 섹션을 추가하고 `.claude/skills`, `.ax/rules`, `AXMEMORY.md`, 주요 manifest 파일을 함께 요약합니다.
- PPT 품질 보정 가이드도 추가했습니다. [DeckRepairGuideService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DeckRepairGuideService.cs)는 deck 품질 이슈를 바로 실행 가능한 개선 문장으로 바꾸고, [PptxSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/PptxSkill.cs)는 `Deck repair guide:`를 품질 요약과 함께 반환합니다.
- 테스트: [AgentCommandQueueTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentCommandQueueTests.cs), [CodeLanguageCatalogTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/CodeLanguageCatalogTests.cs), [WorkspaceContextGeneratorTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs), [DeckRepairGuideServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DeckRepairGuideServiceTests.cs), [PptxSkillConsultingDeckTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/PptxSkillConsultingDeckTests.cs)
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_master_batch\\ -p:IntermediateOutputPath=obj\\verify_master_batch\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentCommandQueueTests|CodeLanguageCatalogTests|WorkspaceContextGeneratorTests|PptxSkillConsultingDeckTests|DeckRepairGuideServiceTests" -p:OutputPath=bin\\verify_master_batch_tests\\ -p:IntermediateOutputPath=obj\\verify_master_batch_tests\\` 통과 35
업데이트: 2026-04-15 07:00 (KST)
- `claw-code` 기준 남은 격차를 줄이기 위한 통합 고도화 계획을 확정했습니다. 남은 주요 축은 `에이전틱 루프/명령 큐`, `tool_result preview 안정화`, `명령/스킬 합성`, `문서 포맷 마감`, `개발언어 지원 정합화`, `회귀 테스트/릴리즈 게이트`입니다.
- 첫 배치로 [AgentCommandQueue.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentCommandQueue.cs)를 우선순위 배치 소비가 가능한 구조로 재작성했습니다. `peek`, `dequeue`, `dequeueAllMatching`, `dequeuePriorityBatch`, `snapshot` API를 추가해 `claw-code`의 unified queue처럼 고우선 입력을 먼저 소비하고 lower-priority 항목을 뒤로 미루는 기반을 만들었습니다.
- [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)의 큐 배수 로직도 함께 조정했습니다. 기존 `DrainAll()` 방식 대신 같은 우선순위 배치만 소비하고, 남은 큐 항목이 있으면 `Deferred ... lower-priority queued item(s)` thinking 이벤트를 남겨 다음 턴으로 넘깁니다.
- [AgentToolResultBudget.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentToolResultBudget.cs)는 preview 재사용 범위를 넓혔습니다. 기존에는 동일 `MsgId`에서만 `QueryPreviewContent`를 재사용했지만, 이제 `tool_use_id` 기준 preview 인덱스를 만들어 재구성된 tool result 메시지에서도 안정적으로 같은 preview를 재사용합니다.
- 테스트는 [AgentCommandQueueTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentCommandQueueTests.cs)에 `priority batch dequeue`, `predicate matching` 시나리오를 추가했고, [AgentToolResultBudgetTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentToolResultBudgetTests.cs)에는 `tool_use_id`가 같은 cloned tool result가 이전 preview를 재사용하는 회귀 케이스를 추가했습니다.
- 다음 배치에서는 `tool_result replacement state`를 대화 단위로 더 고정하고, 이후 `명령/스킬 합성 계층`과 `문서 포맷 마감`으로 순차 확장할 예정입니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_queue_preview\\ -p:IntermediateOutputPath=obj\\verify_queue_preview\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentCommandQueueTests|AgentToolResultBudgetTests" -p:OutputPath=bin\\verify_queue_preview_tests\\ -p:IntermediateOutputPath=obj\\verify_queue_preview_tests\\` 통과 7
업데이트: 2026-04-15 07:16 (KST)
- `tool_result` preview 안정화 2차를 반영했습니다. [AgentMessageInvariantHelper.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentMessageInvariantHelper.cs)는 `tool_use_id -> QueryPreviewContent` 맵을 공용으로 만들고, 같은 tool result가 다른 메시지 객체로 다시 로드되더라도 preview를 복원하는 helper를 제공합니다.
- [ChatSessionStateService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/ChatSessionStateService.cs)는 분기 대화 생성 시 `QueryPreviewContent`를 함께 복사하고, 저장된 대화를 다시 열 때 누락된 preview를 `tool_use_id` 기준으로 보정합니다. [ChatStorageService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/ChatStorageService.cs)도 저장 직전에 preview 보정을 먼저 수행해 재시작 후 축약 상태가 흔들리지 않게 맞췄습니다.
- 슬래시 합성도 실행 경로까지 일원화했습니다. [SlashCommandCatalog.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/SlashCommandCatalog.cs)는 exact token 충돌을 팔레트와 같은 우선순위로 해석하는 `ResolvePreferredCommand()`를 추가했고, [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)의 `ParseSlashCommandAsync()`는 built-in/skill 후보를 함께 모은 뒤 같은 규칙으로 우선 대상을 선택합니다.
- 이 변경으로 `/review`처럼 builtin command와 skill이 같은 토큰을 공유하는 경우에도 “팔레트에는 skill이 앞에 보이는데 실행은 builtin이 먼저 잡히는” 불일치가 줄어들었습니다.
- 테스트는 [ChatSessionStateServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ChatSessionStateServiceTests.cs)에 branch/save-load preview 복원 케이스를 추가했고, [SlashCommandCatalogTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/SlashCommandCatalogTests.cs)를 새로 추가해 skill 우선 dedupe와 exact token 우선 해석을 회귀 검증했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_preview_state\\ -p:IntermediateOutputPath=obj\\verify_preview_state\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolResultBudgetTests|ChatSessionStateServiceTests" -p:OutputPath=bin\\verify_preview_state_tests\\ -p:IntermediateOutputPath=obj\\verify_preview_state_tests\\` 통과 38
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_command_resolution\\ -p:IntermediateOutputPath=obj\\verify_command_resolution\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "SlashCommandCatalogTests|ChatSessionStateServiceTests|AgentToolResultBudgetTests|AgentCommandQueueTests" -p:OutputPath=bin\\verify_command_resolution_tests\\ -p:IntermediateOutputPath=obj\\verify_command_resolution_tests\\` 통과 50
업데이트: 2026-04-15 08:32 (KST)
- `tool_result` replacement state를 query/compact 진입 전에도 더 고정했습니다. [AgentQueryContextBuilder.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentQueryContextBuilder.cs)는 query view 생성 전에 누락된 preview를 먼저 복원하고, [ContextCondenser.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ContextCondenser.cs)는 compact 이전에 같은 정규화를 적용해 긴 세션과 재시작 후 상태 차이를 줄였습니다.
- [AgentToolResultBudget.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentToolResultBudget.cs)는 `sourceMessages`가 없는 호출에서도 현재 window 자체의 `tool_use_id` preview를 재사용하도록 보강했습니다. 이 변경으로 query view 내부의 cloned tool_result도 source list 유무와 관계없이 같은 preview를 더 안정적으로 유지합니다.
- 개발언어 지원은 `no-LSP fallback`까지 연결했습니다. [CodeLanguageCatalog.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/CodeLanguageCatalog.cs)는 언어별 `manifest/build/test/lint` 힌트를 제공하고, [LspTool.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/LspTool.cs)는 로컬 언어 서버가 없거나 연결되지 않아도 정적 fallback 안내를 반환합니다.
- 설정과 프롬프트도 같은 모델로 맞췄습니다. [SettingsViewModel.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/ViewModels/SettingsViewModel.cs), [SettingsWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/SettingsWindow.xaml), [ChatWindow.SystemPromptBuilder.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.SystemPromptBuilder.cs)는 `Fallback 분석` 설명과 LSP 미사용 시 대체 분석 지침을 노출합니다.
- 테스트로 [AgentQueryContextBuilderTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentQueryContextBuilderTests.cs)를 추가했고, [AgentToolResultBudgetTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentToolResultBudgetTests.cs), [CodeLanguageCatalogTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/CodeLanguageCatalogTests.cs)를 확장해 preview 재사용과 fallback 힌트를 회귀 검증했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_loop_lang_finish\\ -p:IntermediateOutputPath=obj\\verify_loop_lang_finish\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolResultBudgetTests|AgentQueryContextBuilderTests|CodeLanguageCatalogTests|ContextCondenserTests" -p:OutputPath=bin\\verify_loop_lang_finish_tests\\ -p:IntermediateOutputPath=obj\\verify_loop_lang_finish_tests\\` 통과 20
업데이트: 2026-04-15 09:05 (KST)
- 문서 critic/repair 루프를 추가 정리했습니다. [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)는 DOCX 장문 문서에서 `cover`, `table of contents`, `template`, `header/footer` 보강 포인트를, XLSX dashboard workbook에서는 `highlight/action`, `detail navigation`, `trend/variance formula` 보강 포인트를 새로 판정합니다.
- [ArtifactRepairGuideService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactRepairGuideService.cs)는 위 이슈들을 바로 실행 가능한 보정 가이드로 치환하도록 확장했습니다. HTML/DOCX/XLSX에서 품질 점수만 보여주는 것이 아니라, 어떤 구조를 추가하거나 어떤 데이터를 연결해야 하는지 직접 안내합니다.
- [DeckRepairGuideService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DeckRepairGuideService.cs)는 `appendix/evidence` 부족과 `duplicate headline` 문제를 별도 액션으로 바꿔 deck 마감 가이드를 더 구체화했습니다.
- [DocxSkill.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DocxSkill.cs)는 DOCX 출력 결과에도 `Repair guide:`를 함께 반환하고, Executive Summary/Recommendation/Appendix 섹션 인식에 한글 키워드를 같이 사용하도록 조정했습니다.
- 테스트는 [ArtifactQualityReviewServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ArtifactQualityReviewServiceTests.cs), [ArtifactRepairGuideServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ArtifactRepairGuideServiceTests.cs), [DeckRepairGuideServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DeckRepairGuideServiceTests.cs), [DocxSkillTemplateFeaturesTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DocxSkillTemplateFeaturesTests.cs)를 확장해 회귀를 고정했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_repair_finalize\\ -p:IntermediateOutputPath=obj\\verify_doc_repair_finalize\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|DeckRepairGuideServiceTests|DocxSkillTemplateFeaturesTests" -p:OutputPath=bin\\verify_doc_repair_finalize_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_repair_finalize_tests\\` 통과 11
업데이트: 2026-04-15 09:24 (KST)
- 에이전틱 루프의 queued command 소비 로직을 helper로 분리했습니다. [AgentQueuedCommandProjector.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentQueuedCommandProjector.cs)는 drain된 큐 배치를 `queued_input_interrupt`, `queue_notification`, `queue_resume`, `queued_prompt` 같은 대화 메시지와 thinking/user 이벤트로 투영합니다. [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)는 이 결과를 적용하는 역할만 남겨 루프 본체의 책임을 더 줄였습니다.
- workbook/dashboard 품질 리뷰도 강화했습니다. [ArtifactQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactQualityReviewService.cs)는 dashboard sheet가 있어도 KPI·trend·decision 내용이 부족하면 별도 이슈를 만들고, [ArtifactRepairGuideService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/ArtifactRepairGuideService.cs)는 이를 `core story`가 보이도록 KPI/decision 블록을 추가하라는 가이드로 연결합니다.
- deck 품질 리뷰는 storyline 힌트까지 보기 시작했습니다. [DeckQualityReviewService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DeckQualityReviewService.cs)는 storyline에 `Options`, `Roadmap`, `Appendix`가 있는데 실제 슬라이드가 빠진 경우 별도 이슈를 만들고, [DeckRepairGuideService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/DeckRepairGuideService.cs)는 이를 storyline 보강 액션으로 바꿉니다.
- 테스트는 [AgentQueuedCommandProjectorTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentQueuedCommandProjectorTests.cs), [DeckQualityReviewServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DeckQualityReviewServiceTests.cs), [ArtifactQualityReviewServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ArtifactQualityReviewServiceTests.cs), [ArtifactRepairGuideServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ArtifactRepairGuideServiceTests.cs), [DeckRepairGuideServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DeckRepairGuideServiceTests.cs)를 확장해 회귀를 고정했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_loop_doc_finish2\\ -p:IntermediateOutputPath=obj\\verify_loop_doc_finish2\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentQueuedCommandProjectorTests|AgentCommandQueueTests|ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|DeckQualityReviewServiceTests|DeckRepairGuideServiceTests|PptxSkillGoldenDeckTests|ExcelSkillDashboardSummaryTests" -p:OutputPath=bin\\verify_loop_doc_finish2_tests\\ -p:IntermediateOutputPath=obj\\verify_loop_doc_finish2_tests\\` 통과 25
업데이트: 2026-04-15 09:36 (KST)
- `tool_result` replacement state의 마지막 빈틈을 메웠습니다. [AgentMessageInvariantHelper.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentMessageInvariantHelper.cs)는 기존 `QueryPreviewContent`가 하나도 없는 경우에도 `tool_use_id`, `tool_name`, 축약된 `content/output/error`를 기반으로 synthetic preview를 생성합니다. 이로써 저장/재개/분기 이후 preview가 완전히 유실된 세션에서도 다시 query preview를 만들 수 있습니다.
- [AgentQueryContextBuilderTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentQueryContextBuilderTests.cs)와 새 [AgentMessageInvariantHelperTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentMessageInvariantHelperTests.cs)는 preview가 없는 tool_result가 synthetic preview로 복원되고, query view 생성 시에도 같은 preview가 실제 반영되는지 회귀 검증합니다.
- 문서 golden 회귀도 한 단계 더 올렸습니다. 새 [ExcelSkillGoldenWorkbookTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ExcelSkillGoldenWorkbookTests.cs)는 summary/dashboard/detail 구조와 formula, data validation, conditional formatting이 모두 포함된 운영 리뷰 workbook이 `Needs work: none`, `Repair guide: none`을 유지하는지 확인합니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_preview_golden_finish\\ -p:IntermediateOutputPath=obj\\verify_preview_golden_finish\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentMessageInvariantHelperTests|AgentQueryContextBuilderTests|AgentQueuedCommandProjectorTests|ExcelSkillGoldenWorkbookTests|ExcelSkillDashboardSummaryTests|PptxSkillGoldenDeckTests" -p:OutputPath=bin\\verify_preview_golden_finish_tests\\ -p:IntermediateOutputPath=obj\\verify_preview_golden_finish_tests\\` 통과 10
업데이트: 2026-04-15 09:20 (KST)
- 루프 진단 포맷을 분리했습니다. 새 [AgentLoopDiagnosticsFormatter.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopDiagnosticsFormatter.cs)는 컨텍스트 압축 완료 이벤트와 query-view 요약 문자열을 전담하며, [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)는 해당 formatter를 호출하는 orchestration 역할로 더 가벼워졌습니다.
- 저장/재개 경로의 legacy preview 복원도 보강했습니다. [ChatStorageService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/ChatStorageService.cs)는 복호화 직후 `PopulateMissingToolResultPreviews()`를 수행해 예전 저장본에서도 synthetic preview를 즉시 채웁니다.
- 테스트는 새 [AgentLoopDiagnosticsFormatterTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/AgentLoopDiagnosticsFormatterTests.cs), [ChatStorageServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ChatStorageServiceTests.cs), [HtmlSkillGoldenReportTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/HtmlSkillGoldenReportTests.cs), [DocxSkillGoldenDocumentTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DocxSkillGoldenDocumentTests.cs)를 추가해 루프 진단 문자열, legacy `.axchat` 복원, HTML/DOCX golden 품질을 회귀 고정했습니다.
- golden 범위는 이제 `PPTX + XLSX + HTML + DOCX`까지 확장되었습니다. HTML golden은 board-grade 보고서의 print frame/evidence/decision 구성을, DOCX golden은 template/TOC/header-footer/appendix가 포함된 business pack 조립을 기준 fixture로 삼습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_loop_storage_golden\\ -p:IntermediateOutputPath=obj\\verify_loop_storage_golden\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopDiagnosticsFormatterTests|ChatStorageServiceTests|HtmlSkillGoldenReportTests|DocxSkillGoldenDocumentTests|AgentMessageInvariantHelperTests|PptxSkillGoldenDeckTests|ExcelSkillGoldenWorkbookTests" -p:OutputPath=bin\\verify_loop_storage_golden_tests\\ -p:IntermediateOutputPath=obj\\verify_loop_storage_golden_tests\\` 통과 10
업데이트: 2026-04-15 09:49 (KST)
- `CodeLanguageCatalog`를 단순 표시용 카탈로그에서 실행 힌트 카탈로그로 확장했다. 언어별 `manifest/build/test/lint` 조회 메서드와 `BuildWorkflowSummary()`를 추가해, 지원 언어 목록과 no-LSP fallback 설명이 같은 소스에서 나오도록 정리했다.
- `WorkspaceContextGenerator`는 `.ax-context.md` 생성 시 `## Language Workflow` 섹션을 추가한다. 상위 언어 3개까지의 manifest, build/test/lint 힌트를 함께 기록해 장기 세션과 서브에이전트 문맥에서 바로 재사용할 수 있게 했다.
- 문서 품질 출력 포맷의 공통화를 시작했다. 새 `ArtifactQualityOutputFormatter`를 추가했고, 현재는 `HtmlSkill`, `ExcelSkill`이 동일한 quality summary + repair guide 조합기를 사용한다. 이후 DOCX/PPTX까지 같은 helper로 맞추는 기반이다.
- 테스트 보강:
- `CodeLanguageCatalogTests`: workflow summary, hint lookup 회귀 추가
- `WorkspaceContextGeneratorTests`: generated context 내 `Language Workflow` 섹션 회귀 추가
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_language_workflow\\ -p:IntermediateOutputPath=obj\\verify_language_workflow\\`
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "CodeLanguageCatalogTests|WorkspaceContextGeneratorTests" -p:OutputPath=bin\\verify_language_workflow_tests\\ -p:IntermediateOutputPath=obj\\verify_language_workflow_tests\\`
업데이트: 2026-04-15 10:05 (KST)
- `AgentLoopRunLifecycle.cs` 추가:
- `BeginRun()`으로 run stopwatch, user query, iteration budget, retry budget 초기화
- `BootstrapRunAsync()`로 intent 분류, exploration/path state, session learnings, task/execution policy 계산 분리
- `FinalizeRun()`으로 run summary metric, exploration breadth, stats 기록, transient state reset 일원화
- `AgentLoopService.RunAsync()` 정리:
- 시작부의 `run id/iteration budget/intent bootstrap` 블록을 helper 호출로 대체
- 종료부의 run summary logging을 helper 호출로 대체
- 종료 metric에 빈 run id가 남던 흐름을 수정해 실제 run id를 유지
- `AgentMessageInvariantHelper` 고도화:
- persisted preview map과 fingerprint preview map을 분리
- 같은 tool output이 다른 `tool_use_id`로 재등장할 때 preview를 현재 id로 재바인딩
- preview 탐색 우선순위를 `저장된 preview → fingerprint 재바인딩 → synthetic` 순서로 고정
- 문서 품질 출력 경로 정리:
- `ArtifactQualityOutputFormatter`를 `DocxSkill`, `PptxSkill`, `ExcelSkill` 멀티시트 반환 경로까지 연결
- 포맷별 quality summary/repair guide 문자열 조립을 공통 helper로 통일
- 테스트 보강:
- `AgentMessageInvariantHelperTests`: fingerprint 기반 preview 재바인딩 회귀 추가
- 재검증 대상: `AgentCommandQueueTests`, `AgentQueuedCommandProjectorTests`, `AgentQueryContextBuilderTests`, `ChatStorageServiceTests`, `PptxSkillGoldenDeckTests`, `ExcelSkillGoldenWorkbookTests`, `DocxSkillGoldenDocumentTests`, `HtmlSkillGoldenReportTests`
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_run_finalize\\ -p:IntermediateOutputPath=obj\\verify_run_finalize\\`
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentCommandQueueTests|AgentQueuedCommandProjectorTests|AgentMessageInvariantHelperTests|AgentQueryContextBuilderTests|ChatStorageServiceTests|PptxSkillGoldenDeckTests|ExcelSkillGoldenWorkbookTests|DocxSkillGoldenDocumentTests|HtmlSkillGoldenReportTests" -p:OutputPath=bin\\verify_run_finalize_tests2\\ -p:IntermediateOutputPath=obj\\verify_run_finalize_tests2\\`
업데이트: 2026-04-15 10:10 (KST)
- 통합 마감 계획 확정:
1. `문서 포맷 최종 마감`
- 참조 대상: `claw-code/src/query.ts`, `claw-code/src/utils/toolResultStorage.ts`, `claw-code/src/commands/init-verifiers.ts`
- AX 적용 위치: `PptxSkill.cs`, `DeckPlanningService.cs`, `DeckQualityReviewService.cs`, `DocxSkill.cs`, `DocumentAssemblerTool.cs`, `ExcelSkill.cs`, `HtmlSkill.cs`, `ArtifactQualityReviewService.cs`, `ArtifactRepairGuideService.cs`
- 완료 조건: PPTX/DOCX/XLSX/HTML 모두 `plan -> critic -> repair` 흐름과 golden fixture 확장 완료
- 품질 판정 기준: strong fixture는 `Needs work: none`, weak fixture는 포맷별 적절한 repair guide를 반환
2. `에이전틱 루프 iteration pipeline 분리`
- 참조 대상: `claw-code/src/QueryEngine.ts`, `claw-code/src/query.ts`, `claw-code/src/utils/messageQueueManager.ts`
- AX 적용 위치: `AgentLoopService.cs`, `AgentLoopRunLifecycle.cs`, `AgentQueuedCommandProjector.cs`, `AgentQueryContextBuilder.cs`
- 완료 조건: `RunAsync`의 bootstrap, query-view 생성, LLM 호출, tool dispatch, finalize를 더 작은 helper/service로 분리
- 품질 판정 기준: 중단/재개/권한 승인/분기/장기 세션 replay 테스트 통과
3. `tool_result replacement state 장기 세션 고정`
- 참조 대상: `claw-code/src/utils/toolResultStorage.ts`
- AX 적용 위치: `AgentMessageInvariantHelper.cs`, `AgentToolResultBudget.cs`, `ContextCondenser.cs`, `ChatStorageService.cs`
- 완료 조건: `tool_use_id` 변경, compact 이후, branch/replay 상황에서도 preview와 replacement 정책이 안정 유지
- 품질 판정 기준: replay/branch 저장본에서 preview 흔들림 0건
4. `개발언어 no-LSP fallback 심화`
- 참조 대상: `claw-code/src/query.ts`, `claw-code/src/context.ts`
- AX 적용 위치: `CodeLanguageCatalog.cs`, `LspTool.cs`, `WorkspaceContextGenerator.cs`, `ChatWindow.SystemPromptBuilder.cs`, `SettingsWindow.xaml`
- 완료 조건: 언어별 `manifest/build/test/lint` 힌트가 실제 fallback 분석과 워크스페이스 컨텍스트에 더 깊게 연결
- 품질 판정 기준: 로컬 LSP 없는 저장소에서도 Auto 모드가 기본 실행 흐름과 영향 범위를 안정적으로 안내
5. `명령/스킬 합성 및 릴리즈 게이트`
- 참조 대상: `claw-code/src/commands.ts`, `claw-code/src/skills/loadSkillsDir.ts`
- AX 적용 위치: `SlashCommandCatalog.cs`, `SkillService.cs`, `README.md`, `docs/DEVELOPMENT.md`, `docs/NEXT_ROADMAP.md`
- 완료 조건: builtin/skill/plugin/workflow 토큰 충돌의 노출/실행 우선순위 완전 일치, 릴리즈 체크리스트 최신화
- 품질 판정 기준: 같은 토큰 충돌 시 팔레트 표시와 실제 실행이 완전 일치하고, 릴리즈 전 수동 확인 항목 최소화
- 최종 게이트:
- `dotnet build` 경고 0 / 오류 0
- 문서 golden: `PPTX/XLSX/DOCX/HTML`
- 루프/큐/컨텍스트: `중단/재개/권한/branch/replay`
- 언어 fallback: `CodeLanguageCatalogTests`, `WorkspaceContextGeneratorTests`, 관련 fallback 회귀
업데이트: 2026-04-15 10:24 (KST)
- 문서 critic 세부화:
- `ArtifactQualityReviewService.cs`
- HTML: `board_report`는 `decision_summary` 누락 시 별도 경고, `strategy_brief`는 explicit decision block 누락 시 별도 경고
- HTML 품질 계산 시 `h2`만이 아니라 `board_report`, `strategy_brief`, `comparison`, `roadmap`, `decision_summary`, `evidence_cards`, `kpi`를 `major section`/`supporting block` 추정에 반영
- DOCX: 장문 비즈니스 문서에서 evidence table, callout/highlight 부족을 별도 이슈로 판정
- XLSX: dashboard workbook의 `trend_series`, `variance_series`, `sheet_summaries`, `dashboard_tiles` 부재를 각각 추가 진단
- 보정 가이드 강화:
- `ArtifactRepairGuideService.cs`
- HTML: board decision summary, strategy brief decision block, comparison/roadmap, evidence-card 보강 가이드 추가
- DOCX: evidence table, callout/highlight 보강 가이드 추가
- XLSX: trend/variance framing, supporting sheet summary, headline tile, follow-up action 보강 가이드 추가
- `DeckRepairGuideService.cs`
- Executive Summary의 decision ask, recommendation slide의 rationale/next steps 누락을 별도 액션으로 변환
- Workbook review 입력 확장:
- `WorkbookReviewInput`에 `HasTrendSection`, `HasVarianceSection`, `HasDashboardTileSection` 추가
- `ExcelSkill.cs`의 single-summary/multi-sheet review 경로가 위 신호를 실제 review에 전달
- Deck 품질 기준 강화:
- `DeckQualityReviewService.cs`
- Executive Summary 내 recommendation/decision ask 누락 감지
- Recommendation slide의 rationale/next steps 누락 감지
- Roadmap slide가 1개 phase만 가진 경우 경고
- Golden/회귀 테스트 확장:
- `HtmlSkillGoldenReportTests.cs`: `strategy-golden.html` 추가
- `PptxSkillGoldenDeckTests.cs`: `pmo-golden.pptx` 추가
- `ArtifactQualityReviewServiceTests.cs`, `ArtifactRepairGuideServiceTests.cs`, `DeckQualityReviewServiceTests.cs`, `DeckRepairGuideServiceTests.cs` 회귀 확장
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_finish_batch\\ -p:IntermediateOutputPath=obj\\verify_doc_finish_batch\\`
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|DeckQualityReviewServiceTests|DeckRepairGuideServiceTests|HtmlSkillGoldenReportTests|PptxSkillGoldenDeckTests|DocxSkillGoldenDocumentTests|ExcelSkillGoldenWorkbookTests" -p:OutputPath=bin\\verify_doc_finish_batch_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_finish_batch_tests\\`