AX Agent 진행 메시지 폭·정렬 및 인코딩 표시 문제 수정

- 앱 생성 진행/도구/완료 카드에 전용 최대폭을 도입하고 좌측 정렬로 통일
- 라이브 진행 카드와 검증 게이트 문구에서 깨져 보이던 문자열을 정상화
- build_run/process 도구가 Windows 기본 출력 인코딩을 우선 사용하도록 조정
- README와 DEVELOPMENT 문서에 2026-04-16 00:57 (KST) 기준 이력 반영

검증:
- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify_agent_ui_layout_encoding\ -p:IntermediateOutputPath=obj\verify_agent_ui_layout_encoding\ (경고 0 / 오류 0)
- dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatWindowSlashPolicyTests|AgentLoopCodeQualityTests" -p:OutputPath=bin\verify_agent_ui_layout_encoding_tests\ -p:IntermediateOutputPath=obj\verify_agent_ui_layout_encoding_tests\ (통과 194)
This commit is contained in:
2026-04-16 01:02:13 +09:00
parent db4ccd5df4
commit e2278eec24
9 changed files with 98 additions and 45 deletions

View File

@@ -1739,3 +1739,10 @@ UI ?遺우쁽????域뱀뮆???귐뗫솯?醫딆춦 ???袁る퓮 ?臾믩씜 ??疫
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_ppt_manifest_quality\\ -p:IntermediateOutputPath=obj\\verify_ppt_manifest_quality\\` 경고 0 / 오류 0
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "PptQualityGatePolicyTests|PptxTemplateManifestCatalogTests|PptxSkillTemplatePackTests|PptxSkillTemplateDiagnosticsTests|PptxSkillAutoRepairTests|PptxSkillGoldenDeckTests" -p:OutputPath=bin\\verify_ppt_manifest_quality_tests\\ -p:IntermediateOutputPath=obj\\verify_ppt_manifest_quality_tests\\` 통과 15
업데이트: 2026-04-16 00:57 (KST)
- AX Agent 앱 생성 메시지 전용 폭을 분리했습니다. `src/AxCopilot/Views/ChatWindow.ResponsePresentation.cs``GetAgentEventMaxWidth()`를 추가하고, `src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs`, `src/AxCopilot/Views/ChatWindow.V2LiveProgressPresentation.cs`, `src/AxCopilot/Views/ChatWindow.V2AgentEventPresentation.cs`가 같은 값을 사용하도록 맞춰 진행 카드/도구 카드/완료 카드가 본문 전체 폭을 과하게 점유하지 않게 했습니다.
- 라이브 진행 카드와 하단 상태 카드의 정렬도 함께 다듬었습니다. V2 라이브 컨테이너와 완료 카드 정렬을 좌측 기준으로 통일하고, 상태 텍스트의 `TextAlignment`를 왼쪽으로 고정해 요약/상세 줄이 카드 중앙이 아니라 본문 축에서 바로 읽히도록 정리했습니다.
- 깨진 안내 문구는 두 경로에서 정리했습니다. `src/AxCopilot/Services/Agent/AgentLoopTransitions.Verification.cs`의 검증 게이트/재시도 이벤트 메시지를 정상 한국어로 교체했고, `src/AxCopilot/Views/ChatWindow.V2LiveProgressPresentation.cs`, `src/AxCopilot/Views/ChatWindow.V2AgentEventPresentation.cs`에는 런타임에 다시 덮어쓰는 안전한 상태 문구를 추가해 기존 깨진 문자열이 그대로 노출되지 않게 했습니다.
- 프로세스 출력 인코딩은 `src/AxCopilot/Services/Agent/BuildRunTool.cs`, `src/AxCopilot/Services/Agent/ProcessTool.cs`에서 UTF-8 고정 대신 Windows 기본 출력 인코딩을 우선 사용하도록 조정했습니다. 한국어 콘솔 출력이 UTF-8로 강제 디코딩되며 깨질 수 있던 경로를 줄이기 위한 수정입니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_agent_ui_layout_encoding\\ -p:IntermediateOutputPath=obj\\verify_agent_ui_layout_encoding\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatWindowSlashPolicyTests|AgentLoopCodeQualityTests" -p:OutputPath=bin\\verify_agent_ui_layout_encoding_tests\\ -p:IntermediateOutputPath=obj\\verify_agent_ui_layout_encoding_tests\\` 통과 194