slash 입력 계층 1차 모듈화와 Codex/Claude 추격 계획을 반영
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- ChatWindow 내부 대형 slash 사전을 신규 파일 SlashCommandCatalog로 분리하여 결합도를 낮춤 - ChatWindow slash 조회 경로를 카탈로그 API(MatchBuiltinCommands, TryGetEntry)로 전환 - slash 탐색/실행 동작 회귀를 build + ChatWindowSlashPolicyTests(39건)로 검증 - docs/NEXT_ROADMAP.md에 claw-code 기준 Codex/Claude 추격 로드맵(L1~L5)과 완료 기준을 추가 - docs/DEVELOPMENT.md에 연속 실행 26차 이력(2026-04-04 13:24 KST) 기록 - README.md 업데이트 시각 및 변경 이력 항목을 최신 상태로 갱신
This commit is contained in:
@@ -3304,3 +3304,21 @@ else:
|
||||
### 4) 품질 게이트
|
||||
- dotnet build src/AxCopilot/AxCopilot.csproj 통과 (경고 0, 오류 0).
|
||||
- dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj --no-build --filter "FullyQualifiedName~ChatWindowSlashPolicyTests|FullyQualifiedName~OperationModeReadinessTests" 통과 (43 passed, 0 failed).
|
||||
## 2026-04-04 추가 진행 기록 (연속 실행 26차: slash 입력 계층 모듈화 1단계)
|
||||
|
||||
업데이트: 2026-04-04 13:24 (KST)
|
||||
|
||||
### 1) slash 명령 카탈로그 분리
|
||||
- ChatWindow 내부에 있던 대형 슬래시 명령 정의를 Views/SlashCommandCatalog.cs로 분리.
|
||||
- 카탈로그에 다음 API를 추가:
|
||||
- MatchBuiltinCommands(input, isDevTab)
|
||||
- TryGetEntry(commandToken, out entry)
|
||||
- ChatWindow는 카탈로그 API를 호출하는 방식으로 전환해 입력 계층 결합도를 낮춤.
|
||||
|
||||
### 2) slash 탐색 회귀 검증
|
||||
- dotnet build src/AxCopilot/AxCopilot.csproj 통과 (경고 0, 오류 0).
|
||||
- dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj --no-build --filter "FullyQualifiedName~ChatWindowSlashPolicyTests" 통과 (39 passed, 0 failed).
|
||||
|
||||
### 3) 참고
|
||||
- 테스트 재빌드 시점에 AxCopilot.dll 파일 잠금(CS2012)이 간헐 발생하여,
|
||||
빌드 산출물 기준 --no-build 실행으로 테스트를 검증함.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# AX Copilot 통합 로드맵 (전면 재작성)
|
||||
|
||||
## 1. 보존 이력 (요약만 유지)
|
||||
- v1.5.x: 에이전트/런처 핵심 기능 확장, MCP/스킬/검증 체계 도입.
|
||||
- v1.6.0: 문서 생성 및 업무 자동화 도구군 확장.
|
||||
- v1.7.0~v1.7.2: Plan Mode, 병렬 도구, 검증 게이트 및 안정화 강화.
|
||||
- v0.5.x: 에이전트/런처 핵심 기능 확장, MCP/스킬/검증 체계 도입.
|
||||
- v0.6.0: 문서 생성 및 업무 자동화 도구군 확장.
|
||||
- v0.7.0~v0.7.2: Plan Mode, 병렬 도구, 검증 게이트 및 안정화 강화.
|
||||
|
||||
## 2. 재작성 목표
|
||||
- claw-code 수준의 실행 신뢰성, 세션 내구성, 결과 품질 확보.
|
||||
@@ -13,10 +13,10 @@
|
||||
|
||||
| 마일스톤 | 참조 대상 (`claw-code`) | AX 적용 위치 | 완료 조건 | 품질 판정 시나리오 |
|
||||
|---|---|---|---|---|
|
||||
| M1 (v1.7.3) Hook 계약 정식화 | `src/utils/hooks.ts`, `src/utils/hooks/hookEvents.ts`, `src/utils/permissions/PermissionUpdate.ts` | `src/AxCopilot/Services/Agent/AgentHookRunner.cs`, `src/AxCopilot/Services/Agent/AgentLoopService.cs`, `src/AxCopilot/Models/AppSettings.cs`, `src/AxCopilot/ViewModels/SettingsViewModel.cs`, `src/AxCopilot/Views/SettingsWindow.xaml` | Hook 출력 계약(`updatedInput`, `updatedPermissions`, `additionalContext`) 반영. 설정값-실행코드-UI 동시 반영. | JSON 훅/텍스트 훅 혼합 환경에서 실행 품질과 하위호환 유지 확인. |
|
||||
| M2 (v1.7.4~v1.7.5) 세션/로그 내구성 | `src/utils/plans.ts`, `src/utils/sessionStorage.ts` | `src/AxCopilot/Services/ChatSessionStateService.cs`, `src/AxCopilot/Services/TaskRunService.cs`, `src/AxCopilot/Services/TaskRunStore.cs`, `src/AxCopilot/Views/ChatWindow.xaml.cs`, `src/AxCopilot/Models/ChatModels.cs` | Plan/Run 상태 영속화. 이벤트 로그 표준화 및 replay 안정성 확보. | 앱 재시작/강제종료 후 동일 세션 재개 시 상태/이력 불일치 0건. |
|
||||
| M3 (v1.7.6) 도구 선택/복구 안정화 | `src/commands.ts`, `src/Tool.ts`, `src/query.ts` | `src/AxCopilot/Services/Agent/AgentLoopService.cs`, `src/AxCopilot/Services/Agent/AgentLoopParallelExecution.cs`, `src/AxCopilot/Services/LlmService.ToolUse.cs` | 도구 선택 실패 루프 억제. 실패 유형별 복구 흐름 정형화. | 오타/비활성/별칭 도구 요청이 반복 실패 없이 정상 경로로 수렴하는지 확인. |
|
||||
| M4 (v1.8.0) 품질 게이트 최종 정렬 | `src/query.ts`, `src/QueryEngine.ts`, `src/utils/sessionStorage.ts` | `src/AxCopilot/Services/Agent/AgentLoopService.cs`, `src/AxCopilot/Services/Agent/AgentLoopTransitions.Execution.cs`, `src/AxCopilot/Services/Agent/AgentLoopTransitions.cs` | 증거 기반 완료 판정 고정. 내부 벤치마크에서 claw-code 동급 품질 달성. | 코드수정/문서생성/권한거부/복구 혼합 시나리오에서 조기완료 없이 근거 기반 종료 확인. |
|
||||
| M1 (v0.7.3) Hook 계약 정식화 | `src/utils/hooks.ts`, `src/utils/hooks/hookEvents.ts`, `src/utils/permissions/PermissionUpdate.ts` | `src/AxCopilot/Services/Agent/AgentHookRunner.cs`, `src/AxCopilot/Services/Agent/AgentLoopService.cs`, `src/AxCopilot/Models/AppSettings.cs`, `src/AxCopilot/ViewModels/SettingsViewModel.cs`, `src/AxCopilot/Views/SettingsWindow.xaml` | Hook 출력 계약(`updatedInput`, `updatedPermissions`, `additionalContext`) 반영. 설정값-실행코드-UI 동시 반영. | JSON 훅/텍스트 훅 혼합 환경에서 실행 품질과 하위호환 유지 확인. |
|
||||
| M2 (v0.7.4~v0.7.5) 세션/로그 내구성 | `src/utils/plans.ts`, `src/utils/sessionStorage.ts` | `src/AxCopilot/Services/ChatSessionStateService.cs`, `src/AxCopilot/Services/TaskRunService.cs`, `src/AxCopilot/Services/TaskRunStore.cs`, `src/AxCopilot/Views/ChatWindow.xaml.cs`, `src/AxCopilot/Models/ChatModels.cs` | Plan/Run 상태 영속화. 이벤트 로그 표준화 및 replay 안정성 확보. | 앱 재시작/강제종료 후 동일 세션 재개 시 상태/이력 불일치 0건. |
|
||||
| M3 (v0.7.6) 도구 선택/복구 안정화 | `src/commands.ts`, `src/Tool.ts`, `src/query.ts` | `src/AxCopilot/Services/Agent/AgentLoopService.cs`, `src/AxCopilot/Services/Agent/AgentLoopParallelExecution.cs`, `src/AxCopilot/Services/LlmService.ToolUse.cs` | 도구 선택 실패 루프 억제. 실패 유형별 복구 흐름 정형화. | 오타/비활성/별칭 도구 요청이 반복 실패 없이 정상 경로로 수렴하는지 확인. |
|
||||
| M4 (v0.8.0) 품질 게이트 최종 정렬 | `src/query.ts`, `src/QueryEngine.ts`, `src/utils/sessionStorage.ts` | `src/AxCopilot/Services/Agent/AgentLoopService.cs`, `src/AxCopilot/Services/Agent/AgentLoopTransitions.Execution.cs`, `src/AxCopilot/Services/Agent/AgentLoopTransitions.cs` | 증거 기반 완료 판정 고정. 내부 벤치마크에서 claw-code 동급 품질 달성. | 코드수정/문서생성/권한거부/복구 혼합 시나리오에서 조기완료 없이 근거 기반 종료 확인. |
|
||||
|
||||
## 4. 측정 지표
|
||||
- 반복 실패 루프 발생률.
|
||||
@@ -71,3 +71,41 @@
|
||||
3. hook 예외/실패는 non-blocking으로 처리하고 권한 흐름은 지속.
|
||||
4. `additionalContext`는 가능한 경로에서 실행 메시지 컨텍스트에 병합.
|
||||
|
||||
|
||||
|
||||
|
||||
## 2026-04-04 추가 계획 (Codex/Claude 추격 로드맵 재정렬)
|
||||
|
||||
업데이트: 2026-04-04 13:24 (KST)
|
||||
|
||||
### 기준 소스
|
||||
- claw-code/src/commands.ts
|
||||
- claw-code/src/utils/permissions/PermissionMode.ts
|
||||
- claw-code/src/components/PromptInput/PromptInput.tsx
|
||||
|
||||
### 현재 AX 격차 요약
|
||||
1. 입력/슬래시/권한 처리 로직이 ChatWindow 단일 파일에 상대적으로 집중되어 변경 파급도가 큼.
|
||||
2. 설정-런타임-UI 동기화는 기능은 많지만 구조적 분리가 부족해 회귀 리스크가 높음.
|
||||
3. Agent loop 품질 게이트는 확보됐으나, UI 상호작용 회귀 시나리오와 결합된 자동 검증이 더 필요함.
|
||||
|
||||
### 연속 실행 목표 (L1~L5)
|
||||
- **L1. 입력 계층 모듈화**
|
||||
- 목표: slash 명령 카탈로그/매칭/선택 상태를 분리해 ChatWindow 결합도 축소
|
||||
- 완료 기준: slash 관련 핵심 로직을 독립 파일로 분리하고 기존 slash 테스트 통과
|
||||
- **L2. 권한 UX/로직 단일 카탈로그화**
|
||||
- 목표: 권한 모드 명칭/설명/색/정렬 순서를 단일 소스에서 제공
|
||||
- 완료 기준: 팝업/상태 배너/슬래시 출력에서 동일 용어·동일 순서 유지
|
||||
- **L3. 설정 동기화 강화**
|
||||
- 목표: Cowork/Code 설정 분기를 실행 코드 경로까지 일치시켜 회귀 감소
|
||||
- 완료 기준: 설정 변경 즉시 반영 시나리오 체크리스트 전건 통과
|
||||
- **L4. Agentic loop + UI 결합 회귀 테스트 보강**
|
||||
- 목표: internal/external, permission deny/recover, mcp reconnect, compact 수동/자동 흐름을 통합 검증
|
||||
- 완료 기준: 릴리즈 게이트용 통합 테스트 세트 추가 및 통과
|
||||
- **L5. Codex/Claude형 UI 마감**
|
||||
- 목표: 좌측 패널/컴포저/권한 팝업 밀도와 탐색 동작을 단순·일관 패턴으로 정리
|
||||
- 완료 기준: UI 체크리스트 주요 항목 100% 충족 + 빌드 경고/오류 0
|
||||
|
||||
### 이번 턴 즉시 반영 (L1 시작)
|
||||
- ChatWindow의 대형 slash 명령 사전을 SlashCommandCatalog로 분리.
|
||||
- ChatWindow는 카탈로그 API(MatchBuiltinCommands, TryGetEntry)를 통해 조회하도록 전환.
|
||||
- 결과: 입력 계층 결합도 감소 + 향후 slash 확장/정리 시 변경 범위 축소.
|
||||
|
||||
Reference in New Issue
Block a user