코드 탭 작업 폴더 동기화 불일치 수정 및 빠른 전송 안정화

작업 폴더 선택 시 현재 대화가 없더라도 Code/Cowork 대화를 즉시 확보하고 WorkFolder를 먼저 기록하도록 보강했다.

새 Code/Cowork 대화가 탭별 최근 작업 폴더를 기본으로 승계하도록 ChatSessionStateService를 조정하고, 현재 폴더 표시도 CodeWorkFolder/CoworkWorkFolder를 우선 사용하도록 맞췄다.

작업 폴더 해제 시 대화 메타데이터와 탭별 저장 폴더를 함께 초기화하도록 정리했다.

검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_workfolder_sync\\ -p:IntermediateOutputPath=obj\\verify_workfolder_sync\\ / dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter ChatSessionStateServiceTests -p:OutputPath=bin\\verify_workfolder_sync_tests\\ -p:IntermediateOutputPath=obj\\verify_workfolder_sync_tests\
This commit is contained in:
2026-04-15 14:18:14 +09:00
parent d58cf2c093
commit b260008663
5 changed files with 77 additions and 2 deletions

View File

@@ -8,6 +8,14 @@ Windows 전용 시맨틱 런처 & 워크스페이스 매니저
`docs/claw-code-parity-plan.md`
- 업데이트: 2026-04-15 10:57 (KST)
- 업데이트: 2026-04-15 15:09 (KST)
- Code/Cowork 작업 폴더 선택 직후 빠른 전송에서도 대화 메타데이터와 UI 표시가 어긋나지 않도록 정리했습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)는 폴더 선택 시 현재 대화가 없으면 즉시 생성해 `WorkFolder`를 먼저 반영하고, 현재 폴더 표시도 탭별 최근 폴더(`CodeWorkFolder`/`CoworkWorkFolder`)를 우선 읽도록 바꿨습니다.
- 새 Code/Cowork 대화도 최근 작업 폴더를 그대로 승계합니다. [ChatSessionStateService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/ChatSessionStateService.cs)는 `CreateFreshConversation(...)`에서 탭별 저장 폴더를 기본 `WorkFolder`로 채워, 화면에는 폴더가 보이는데 전송 시에는 경로가 없다고 막히는 불일치를 줄였습니다.
- 작업 폴더 지우기 동작도 같은 기준으로 맞췄습니다. 이제 폴더 해제 시 대화 메타데이터뿐 아니라 탭별 저장 폴더와 UI 상태도 함께 초기화되어, 이전 선택 경로가 fallback으로 다시 보이는 현상을 줄입니다.
- 테스트: [ChatSessionStateServiceTests.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot.Tests/Services/ChatSessionStateServiceTests.cs) 확장
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_workfolder_sync\\ -p:IntermediateOutputPath=obj\\verify_workfolder_sync\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatSessionStateServiceTests" -p:OutputPath=bin\\verify_workfolder_sync_tests\\ -p:IntermediateOutputPath=obj\\verify_workfolder_sync_tests\\` 통과 37
- 업데이트: 2026-04-15 12:51 (KST)
- AX Agent 진행 이력에 `1`, `[`, `file_read]` 같은 깨진 조각이 보이던 문제를 정리했습니다. 새 [AgentProgressSummarySanitizer.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentProgressSummarySanitizer.cs)가 스트리밍 미리보기, `Thinking` 요약, `[이전 도구 호출: ...]` transcript 꼬리 문자열을 공통 규칙으로 정제해 저품질 파편을 제거합니다.
- [AgentLoopService.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/AgentLoopService.cs)는 스트리밍 `TextDelta` preview와 일반 `Thinking` emit 전에 정제기를 적용해, 의미 없는 단문은 이벤트 자체를 만들지 않도록 했습니다.