라이브 진행 카드 자동 복구 로직 추가
메인 루프2 이후 Cowork/Code 실행 중 채팅창 상단 라이브 진행 카드가 transcript 재렌더링이나 이벤트 타이밍에 따라 사라지던 회귀를 수정했다. - ChatWindow.LiveProgressPresentation에 EnsureAgentLiveCardVisible를 추가해 라이브 카드 컨테이너가 없거나 transcript에서 떨어졌을 때 즉시 재생성 및 재부착되도록 보강 - ChatWindow.xaml.cs에서 agent event 수신과 live hint 시작 시 eligible 탭이면 항상 라이브 카드 복구를 먼저 수행한 뒤 상태를 갱신하도록 정리 - ChatWindow.V2Rendering에서 부분/전체 렌더 재구성 후 _isStreaming 상태면 라이브 카드를 자동 복원하도록 변경 - README와 docs/DEVELOPMENT.md에 수정 배경, 적용 파일, 검증 결과를 2026-04-15 15:56 (KST) 기준으로 반영 검증: - dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_live_card_guard\\ -p:IntermediateOutputPath=obj\\verify_live_card_guard\\ (경고 0 / 오류 0) - dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatWindowSlashPolicyTests" -p:OutputPath=bin\\verify_live_card_guard_tests\\ -p:IntermediateOutputPath=obj\\verify_live_card_guard_tests\\ (통과 49)
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
업데이트: 2026-04-14 19:50 (KST)
|
||||
업데이트: 2026-04-15 12:51 (KST)
|
||||
- 업데이트: 2026-04-15 15:56 (KST)
|
||||
- AX Agent 상단 라이브 진행 카드 복원 가드를 추가했습니다. `src/AxCopilot/Views/ChatWindow.LiveProgressPresentation.cs`에 `EnsureAgentLiveCardVisible(...)`를 만들고, Cowork/Code 실행 중 라이브 카드가 아직 생성되지 않았거나 transcript 재구성으로 빠졌을 때 즉시 재생성/재부착되도록 했습니다.
|
||||
- `src/AxCopilot/Views/ChatWindow.xaml.cs`는 agent event 수신과 live hint 시작 시 eligible 탭이면 위 helper를 먼저 호출한 뒤 live card 상태를 갱신하도록 바꿨습니다. 메인 루프2 이후 이벤트는 오는데 채팅창 바로 위 라이브 카드만 사라지는 회귀를 막는 목적입니다.
|
||||
- `src/AxCopilot/Views/ChatWindow.V2Rendering.cs`는 부분/전체 transcript 재렌더링 중 `_v2LiveContainer` 존재 여부만 보지 않고 `_isStreaming` 상태면 helper를 통해 라이브 카드를 자동 복원합니다.
|
||||
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_live_card_guard\\ -p:IntermediateOutputPath=obj\\verify_live_card_guard\\` 경고 0 / 오류 0
|
||||
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatWindowSlashPolicyTests" -p:OutputPath=bin\\verify_live_card_guard_tests\\ -p:IntermediateOutputPath=obj\\verify_live_card_guard_tests\\` 통과 49
|
||||
- AX Agent 진행 이력 정제를 위해 `src/AxCopilot/Services/Agent/AgentProgressSummarySanitizer.cs`를 추가했습니다. 스트리밍 중간 preview, `Thinking` 요약, `[이전 도구 호출: ...]` transcript 꼬리, 숫자/대괄호 같은 저품질 조각 문자열을 공통 규칙으로 정리합니다.
|
||||
- `src/AxCopilot/Services/Agent/AgentLoopService.cs`는 스트리밍 `TextDelta` preview emit과 일반 `Thinking` emit 전에 정제기를 적용합니다. 정제 후 비어버린 summary는 이벤트 자체를 만들지 않아, 중간 응답의 `1`, `[`, `file_read]` 같은 파편이 timeline/history에 쌓이지 않습니다.
|
||||
- `src/AxCopilot/Views/ChatWindow.V2LiveProgressPresentation.cs`, `src/AxCopilot/Views/ChatWindow.V2AgentEventPresentation.cs`, `src/AxCopilot/Views/ChatWindow.AgentEventRendering.cs`는 렌더링 직전에도 같은 정제 로직을 사용합니다. 기존 세션의 오래된 low-signal thinking event가 다시 그려질 때도 빈약한 단문을 숨기고 process feed에는 `진행 내용 정리`로 폴백합니다.
|
||||
|
||||
Reference in New Issue
Block a user