권한 순환/슬래시 스크롤 체감 보강: claw-code 기준 코어 모드 정렬
Some checks failed
Release Gate / gate (push) Has been cancelled

- ChatWindow.NextPermission 순환을 Deny->Default->AcceptEdits->Plan->BypassPermissions->Deny로 정렬하고 DontAsk는 기본 순환에서 제외\n- AgentSettingsWindow 권한 모드 버튼 순환도 동일 코어 순환으로 맞춰 인라인/설정 체계를 일관화\n- SlashPopup_ScrollByDelta 개선: ScrollViewer 오프셋 이동 + 뷰포트 상단 기준 선택 동기화로 휠 스크롤 체감 개선\n- ChatWindowSlashPolicyTests에 NextPermission 순환 회귀 테스트 추가(Bypass/DontAsk 포함)\n- README.md, docs/DEVELOPMENT.md에 2026-04-04 17:27(KST) 이력 및 검증 결과 기록\n- 검증: dotnet build 경고0/오류0, dotnet test 필터 65 passed
This commit is contained in:
2026-04-04 16:38:30 +09:00
parent effadf7185
commit 3dcf5a62ba
5 changed files with 120 additions and 4 deletions

View File

@@ -3712,3 +3712,33 @@ else:
### 3) 품질 게이트
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Debug -p:UseSharedCompilation=false -nodeReuse:false` 통과 (경고 0, 오류 0).
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Debug --filter "ChatWindowSlashPolicyTests|OperationModePolicyTests|OperationModeReadinessTests"` 통과 (59 passed, 0 failed).
## 2026-04-04 추가 진행 기록 (연속 실행 45차: 권한 순환/슬래시 스크롤 체감 보강)
업데이트: 2026-04-04 17:27 (KST)
### 1) 권한 모드 기본 순환 정렬
- `claw-code`의 코어 모드 순환 기준에 맞춰 기본 순환을 `Deny → Default → AcceptEdits → Plan → BypassPermissions → Deny`로 고정.
- `DontAsk`는 고위험 모드로 분리해 기본 순환(인라인/슬래시/설정창 버튼)에서 제외하고 명시 선택으로만 진입하도록 조정.
- 반영 위치:
- `ChatWindow.NextPermission(...)`
- `AgentSettingsWindow.BtnPermissionMode_Click(...)`
### 2) 슬래시 팝업 휠 스크롤 반응 보강
- `/` 팝업 휠 입력 시:
1. `ScrollViewer` 오프셋을 실제로 이동
2. 뷰포트 상단에 가장 가까운 항목으로 선택 인덱스를 동기화
3. 선택 강조/가시화 갱신
- 효과:
- 터치패드/마우스에서 스크롤 체감이 더 자연스러워지고, 선택 하이라이트와 실제 스크롤 위치 불일치가 완화됨.
### 3) 회귀 테스트 추가
- `ChatWindowSlashPolicyTests.NextPermission_ShouldCycleCoreModesAndReturnToDeny` 추가.
- 검증 케이스:
- `BypassPermissions -> Deny`
- `DontAsk -> Deny`
- 코어 순환 전 구간.
### 4) 품질 게이트
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Debug -p:UseSharedCompilation=false -nodeReuse:false` 통과 (경고 0, 오류 0).
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Debug -p:UseSharedCompilation=false -nodeReuse:false --filter "ChatWindowSlashPolicyTests|OperationModePolicyTests|OperationModeReadinessTests"` 통과 (65 passed, 0 failed).