Some checks are pending
Release Gate / gate (push) Waiting to run
- /permissions, /allowed-tools, /settings permissions를 동일 권한 상태 모델로 통합 - 권한 공통 처리 헬퍼 추가: 모드 적용(ask/auto/deny), 상태 요약 텍스트, 팝업 오픈 경로 통일 - /allowed-tools에서도 ask|auto|deny|status를 일관 동작으로 지원 - /mcp login/logout 및 reset 인증 초기화 반영 상태를 문맥에 맞게 유지 - 좌측/퀵 스트립 단순화 2차: 실패 필터는 rich 표현 레벨에서만 노출, balanced/simple 비노출 - 루프 복구 테스트 보강: unknown/disallowed/no-progress 혼합 관점 회귀 테스트 추가 - 문서 동기화: DEVELOPMENT.md, AGENT_ROADMAP.md에 2026-04-04 추가 진행 이력 반영 - 품질 게이트 확인: build 경고/오류 0, 전체 테스트 421 통과
6.6 KiB
6.6 KiB
AX Agent 로드맵 (전면 재작성)
1. 보존 이력 (요약만 유지)
- v1.5.0: MCP 연동, 모델 폴백, 대화 분기, 프리뷰/토큰 관리, 에이전트 루프 강화.
- v1.5.1: 고급 스킬 확장, 워크플로우 분석기, 런타임 감지.
- v1.6.0: 멀티패스 문서 생성, 데이터 피벗/템플릿/이미지 분석 계열 도구 확장.
- v1.7.0: Plan Mode, 병렬 도구 실행, 프로젝트 규칙 주입, 테스트 루프 자동화.
- v1.7.1: 도구 실행 후 검증 게이트 강화, 피드백 컨텍스트 개선.
- v1.7.2: 컨텍스트 압축/복원 안정화, UX/성능 보완.
2. 재작성 기준
- 기준 레퍼런스:
claw-code/claw-code-f5a40b86dede580f6543bf8926c9af017eea9409/src. - 목표: 동작 순서, 예외/검증 흐름, 세션 내구성에서 동일 품질 달성.
- 원칙: AX 코드 스타일로 재구성(표현/구조 변경), 기능적 동등성 유지.
3. 2026 실행 계획 (v1.7.3 ~ v1.8.0)
| Phase | 참조 대상 (claw-code) |
AX 적용 위치 | 완료 조건 | 품질 판정 시나리오 |
|---|---|---|---|---|
| A (v1.7.3) Hook/Permission 계약 고도화 | src/utils/hooks.ts, src/utils/hooks/hookEvents.ts, src/utils/permissions/PermissionUpdate.ts, src/utils/permissions/permissionSetup.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 JSON 출력(updatedInput, updatedPermissions, additionalContext) 반영 완료. Plain text 훅 하위호환 유지. 훅 실패 비차단 유지. |
Pre-hook 입력 변형 적용 시 도구 입력이 실제 변경되는지 검증. 권한 업데이트 후 동일 run 내 권한 판정이 즉시 반영되는지 검증. |
| B (v1.7.4) Plan/Run 상태 내구성 강화 | 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 |
Plan 단계 승인/수정 이력 영속화. 앱 재시작 후 run 재개 시 마지막 실행 지점 정확 복원. 중복 실행/중복 이벤트 0건. | 실행 중 앱 종료 → 재실행 → 같은 탭/대화에서 run 상태와 최근 실행 이력이 일치하는지 검증. |
| C (v1.7.5) 세션/이벤트 로그 정규화 | src/utils/sessionStorage.ts(이벤트 기록/복원 규약), src/utils/hooks/hookEvents.ts |
src/AxCopilot/Models/ChatModels.cs, src/AxCopilot/Services/ChatSessionStateService.cs, src/AxCopilot/Services/AppStateService.cs |
이벤트 스키마 정리(도구 호출/결과/권한/훅/요약). replay 시 순서 불일치 0건. run 단위 요약 리포트 생성 가능 상태. | 동일 세션을 여러 번 로드해도 실행 이력 순서/상태가 변하지 않는지 검증. |
| D (v1.7.6) 명령/도구 선택 정확도 개선 | src/commands.ts, src/Tool.ts |
src/AxCopilot/Services/Agent/AgentLoopService.cs, src/AxCopilot/Services/Agent/AgentLoopParallelExecution.cs, src/AxCopilot/Services/LlmService.ToolUse.cs |
도구 별칭 정규화 규칙 강화. unknown-tool 재시도 루프 방지. 실패 유형별 복구 흐름 표준화. | 오타/별칭/비활성 도구 요청 시 복구 프롬프트로 정상 도구로 수렴하는지 검증. |
| E (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 |
코드/문서 작업별 완료 게이트를 증거 기반으로 고정. 내부 벤치마크 목표 성공률 충족. 완료 응답 근거 누락률 최소화. | 코드수정/문서생성/권한거부/실패복구 혼합 시나리오에서 조기 완료 없이 근거 기반 종료하는지 검증. |
4. 공통 검증 규칙
- 모든 단계:
dotnet build경고 0/오류 0. - 고위험 변경: 최소 1개 이상 재현 테스트 추가.
- 운영모드(
internal/external) 보안 정책 위반 0건.
5. 즉시 착수 항목
- 내부 벤치마크(기본 loop/복구/권한/hook) 결과를 릴리즈 체크리스트에 연동 유지.
- 세션 replay 안정성(
Suite=ReplayStability) 전건 통과를 릴리즈 게이트로 운영. - 패리티 수치(테스트 통과 수/게이트 상태)를 로드맵 문서 간 동일 문구로 유지.
6. 최신 검증 스냅샷 (2026-04-03)
dotnet test --filter "Suite=ParityBenchmark": 13/13 통과.dotnet test --filter "Suite=ReplayStability": 14/14 통과.dotnet test: 379/379 통과.
7. 명령/도구 보강 스냅샷 (2026-04-04)
- 슬래시 명령 고도화:
/chrome,/mcp,/verify,/commit,/settings,/permissions하위 동작 정리. /mcp상태 라벨 표준화:Connected,NeedsAuth,Configured,Disconnected,Disabled./chrome런타임 재시도: 초기 probe 실패 시/mcp reconnect all자동 수행 후 1회 재평가.- Git 정책 정렬:
git_tool의commit비활성 문구 제거(로컬 커밋 경로와 정책 일치). /commit부분 커밋 지원:files:path1,path2 :: 메시지형식으로 선택 파일만 stage+commit 가능.- 테스트 보강:
ChatWindowSlashPolicyTests: 슬래시 파서/검증 프롬프트/MCP 상태 라벨 단위 검증 추가.AgentParityToolsTests:git_tool commit레거시 비활성 메시지 회귀 방지 테스트 추가.
7. 권한 Hook 계약 (P2 마감 기준)
-
lifecycle hook 키:
__permission_request__(pre)__permission_granted__(post)__permission_denied__(post)
-
payload 기준 필드:
runId,tool,target,permission,granted,reason. -
우선순위:
- Hook
updatedPermissions가 현재 run의AgentContext.ToolPermissions를 즉시 갱신. - 갱신 후
context.CheckToolPermissionAsync()로 최종 판정. - hook 실패/예외는 non-blocking(권한 흐름 지속).
additionalContext는 가능한 경로에서 메시지 컨텍스트로 반영.
- Hook
-
2026-04-04(추가):
/mcp add/remove/reset확장,tool_search기반 복구 프롬프트 강화, 슬래시 힌트 밀도(rich/balanced/simple) 연동. -
2026-04-04(추가2): /mcp login/logout 세션 인증 토큰 지원, /mcp status·/chrome 진단에 Auth(Session) 반영.
-
2026-04-04(추가3): 권한 UX 통합(/permissions·/allowed-tools·/settings permissions), 복구 혼합 테스트 보강, 좌측 패널 실패 필터 노출 정책 rich 전용으로 정렬.