??? ???? ???? ??? ?? ???? ???? ??? ? ?????? ?? ?? ??

- WPF/MVVM, ASP.NET API, React/Vue/Next, Node, Python API, Spring, Android, Go, Rust CLI, generic solution ??? ProjectScaffold? ???? ???? ????? ???
- Code ?? empty workspace ??? ??? ????? ??? ?? ??? file_write? ?? ???? ??? ????? file_manage/file_write? ?? ?? ???? ???? ???
- AgentLoop ?? ? ProjectLayoutGate? ??? ??? ?? ??? ?? ??? ??? ????? ?? ??? ? ????? ???
- code-scaffold.skill.md? when_to_use? file_manage/file_edit ?????? ??? proactive auto-skill ???? ???
- IntentGate, scaffold profile, code quality ?? ???? ???

?? ??
- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_project_scaffold_layout\\ -p:IntermediateOutputPath=obj\\verify_project_scaffold_layout\\ ?? 0 / ?? 0
- dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "IntentGateServiceTests|ProjectScaffoldProfileCatalogTests|SkillServiceRuntimePolicyTests|AgentLoopCodeQualityTests" -p:OutputPath=bin\\verify_project_scaffold_layout_tests\\ -p:IntermediateOutputPath=obj\\verify_project_scaffold_layout_tests\\ ?? 183
This commit is contained in:
2026-04-15 23:46:05 +09:00
parent 4980113b99
commit 6810fb1954
15 changed files with 1140 additions and 286 deletions

View File

@@ -1657,3 +1657,41 @@ UI ?遺우쁽????域뱀뮆???귐뗫솯?醫딆춦 ???袁る퓮 ?臾믩씜 ??疫
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_build_failure_recovery\\ -p:IntermediateOutputPath=obj\\verify_build_failure_recovery\\` 경고 0 / 오류 0
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopCodeQualityTests" -p:OutputPath=bin\\verify_build_failure_recovery_tests\\ -p:IntermediateOutputPath=obj\\verify_build_failure_recovery_tests\\` 통과 134
업데이트: 2026-04-15 23:44 (KST)
- 구조형 프로젝트 스캐폴드 정책을 추가했다. `src/AxCopilot/Services/Agent/ProjectScaffoldProfileCatalog.cs`
- WPF/MVVM, ASP.NET API, React/Vue/Next, Node backend, Python API, Spring Boot, Android/Kotlin, Go service, Rust CLI, generic solution 프로파일을 정의한다.
- 프로파일마다 트리거 토큰, 기대 폴더, 대표 시작 파일, 루트 허용 파일, 최소 디렉터리 적중 기준을 관리한다.
- `AssessLayout(...)`로 초기 빈 워크스페이스에서 생성된 결과가 평면 루트 파일 위주인지 검사한다.
- 인텐트/탐색 흐름을 프로젝트 스캐폴드 중심으로 재구성했다.
- `src/AxCopilot/Services/Agent/IntentGateService.cs`
- Code 탭에서 구조형 프로젝트 요청을 `ExplorationScope.ProjectScaffold`로 분류한다.
- WPF, XAML, csproj, MVVM, ViewModel, ResourceDictionary뿐 아니라 React, Python API, Spring, Android, Go, Rust 같은 다른 언어/개발 유형도 같은 기준으로 감지한다.
- `src/AxCopilot/Services/Agent/AgentLoopExplorationPolicy.cs`
- `ProjectScaffold` scope를 추가하고 `file_manage/file_write/file_edit`를 우선 노출한다.
- 빈 워크스페이스의 구조형 요청은 broad 탐색 대신 최소 트리 생성 후 구현 파일 배치를 기본 순서로 안내한다.
- `src/AxCopilot/Services/Agent/AgentLoopRunLifecycle.cs`
- 탐색 상태 초기화 시 `ProjectScaffoldProfileCatalog.Detect(...)` 결과를 붙여 run 단위 스캐폴드 메타를 유지한다.
- `src/AxCopilot/Services/Agent/AgentLoopCodeRuntimeGuards.cs`
- empty workspace 복구/초기 가이드를 `file_write 즉시 호출`에서 `single file direct create / multi-file scaffold tree-first` 규칙으로 확장했다.
- `src/AxCopilot/Views/ChatWindow.SystemPromptBuilder.cs`
- Code 시스템 프롬프트에 `file_manage`를 실제 available tools로 반영하고, 프레임워크/멀티파일 스캐폴드는 트리 생성부터 시작하라고 명시했다.
- 코드 품질 게이트에 프로젝트 레이아웃 검사를 추가했다.
- `src/AxCopilot/Services/Agent/AgentLoopTransitions.Execution.cs`
- `RunState.ProjectLayoutGateRetry`를 추가했다.
- `src/AxCopilot/Services/Agent/AgentLoopTransitions.Verification.cs`
- 구조형 스캐폴드 요청이었고 초기 워크스페이스가 비어 있었던 경우, 루트에 구현 파일이 평면으로 남아 있으면 종료 전 `ProjectLayoutGate`를 발동한다.
- `file_manage(mkdir/move)``file_edit/file_write`로 폴더 재배치를 먼저 수행하도록 요구한다.
- 스킬 메타데이터도 함께 보강했다.
- `src/AxCopilot/skills/code-scaffold.skill.md`
- `when_to_use`를 추가해 auto-skill 후보로 포함되게 했다.
- `file_manage`, `file_edit`를 허용 도구에 추가하고, 빈 작업 폴더에서는 최소 폴더 트리부터 설계하도록 명시했다.
- 테스트:
- `src/AxCopilot.Tests/Services/IntentGateServiceTests.cs`
- WPF/React 구조형 요청이 `ProjectScaffold`로 분류되는지 확인한다.
- `src/AxCopilot.Tests/Services/ProjectScaffoldProfileCatalogTests.cs`
- WPF/FastAPI 프로파일 감지와 flat-root vs structured-layout 평가를 검증한다.
- `src/AxCopilot.Tests/Services/AgentLoopCodeQualityTests.cs`
- `BuildProjectLayoutGatePrompt(...)`가 폴더 재배치 지시를 포함하는지 검증한다.
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_project_scaffold_layout\\ -p:IntermediateOutputPath=obj\\verify_project_scaffold_layout\\` 경고 0 / 오류 0
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "IntentGateServiceTests|ProjectScaffoldProfileCatalogTests|SkillServiceRuntimePolicyTests|AgentLoopCodeQualityTests" -p:OutputPath=bin\\verify_project_scaffold_layout_tests\\ -p:IntermediateOutputPath=obj\\verify_project_scaffold_layout_tests\\` 통과 183