에이전트 루프 진단과 문서 golden 회귀를 마감한다

- AgentLoopService의 컨텍스트 압축 완료 메시지와 query-view 요약 문자열 조립을 AgentLoopDiagnosticsFormatter로 분리해 루프 본체의 책임을 더 줄였다.

- ChatStorageService 로드 경로에서 legacy .axchat의 누락된 tool_result preview를 synthetic preview로 즉시 복원하도록 보강했다.

- HTML/DOCX golden 회귀와 legacy 저장 경로 회귀 테스트를 추가해 PPTX/XLSX에 이어 문서 품질 고정 범위를 확대했다.

- 검증: 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)
This commit is contained in:
2026-04-15 09:21:55 +09:00
parent 8530ec956a
commit baafd8280c
9 changed files with 451 additions and 13 deletions

View File

@@ -1932,3 +1932,11 @@ MIT License
- 문서 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)를 추가해 [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)의 컨텍스트 압축 완료 메시지와 query-view 진단 문자열 조립을 별도 helper로 분리했습니다. 루프 본체는 orchestration에 더 가깝게 남기고, 진단 포맷은 테스트 가능한 단위로 떼어낸 변경입니다.
- [ChatStorageService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/ChatStorageService.cs)는 로드 시점에도 `tool_result` preview 보정을 수행하도록 확장했습니다. 이로써 예전 버전에서 저장되어 preview가 비어 있는 legacy 대화도 재열기 순간 즉시 synthetic preview를 복원합니다.
- golden 회귀를 HTML/DOCX까지 확대했습니다. 새 [HtmlSkillGoldenReportTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/HtmlSkillGoldenReportTests.cs)는 board-grade HTML 보고서가 `Needs work: none`, `Repair guide: none`을 유지하는지 검증하고, 새 [DocxSkillGoldenDocumentTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/DocxSkillGoldenDocumentTests.cs)는 cover/TOC/template/header-footer를 갖춘 business DOCX 조립 결과가 품질 리뷰 `이슈 0`을 유지하는지 고정합니다.
- 저장 경로 회귀도 추가했습니다. 새 [ChatStorageServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ChatStorageServiceTests.cs)는 legacy `.axchat` 파일을 직접 만든 뒤 로드시 synthetic preview가 실제로 채워지는지 검증합니다.
- 검증: `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