AX Agent 큐 요약 최소화와 플랜도구 기본값 정리
Some checks failed
Release Gate / gate (push) Has been cancelled

- PlanMode 및 EnablePlanModeTools를 레거시 호환용 설명과 false 기본값 기준으로 정리

- Cowork/Code compact 대기열 요약에서 실행/다음/실패만 기본 노출하고 보류/완료는 상세 보기에서만 보이도록 조정

- claw-code parity 계획 문서와 README, DEVELOPMENT 이력에 현재 상태와 남은 리뷰 항목을 반영

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ 경고 0 / 오류 0
This commit is contained in:
2026-04-05 17:15:30 +09:00
parent 303a23130b
commit 4184d89168
5 changed files with 19 additions and 11 deletions

View File

@@ -958,10 +958,8 @@ public class LlmSettings
public string AgentDecisionLevel { get; set; } = "detailed";
/// <summary>
/// 플랜 모드. 에이전트가 도구 실행 전에 구조화된 실행 계획을 먼저 생성하도록 강제.
/// off: 비활성 (기존 동작)
/// always: 항상 계획 생성 후 사용자 승인 대기
/// auto: 복잡한 작업 감지 시 자동으로 계획 모드 진입
/// 레거시 플랜 모드 설정. 현재 AX Agent 런타임 정책에서는 항상 off 로 고정된다.
/// 기존 저장 파일 호환성을 위해 프로퍼티만 유지한다.
/// </summary>
[JsonPropertyName("planMode")]
public string PlanMode { get; set; } = "off";
@@ -1289,9 +1287,11 @@ public class CodeSettings
[JsonPropertyName("enableCodeVerification")]
public bool EnableCodeVerification { get; set; } = false;
/// <summary>Code 탭에서 Plan Mode 도구(enter/exit plan mode) 사용 여부. 기본 true.</summary>
/// <summary>
/// 레거시 Plan Mode 도구 토글. 현재 런타임에서는 비활성(false) 고정이며 저장 호환성만 유지한다.
/// </summary>
[JsonPropertyName("enablePlanModeTools")]
public bool EnablePlanModeTools { get; set; } = true;
public bool EnablePlanModeTools { get; set; } = false;
/// <summary>Code 탭에서 Worktree 도구(enter/exit worktree) 사용 여부. 기본 true.</summary>
[JsonPropertyName("enableWorktreeTools")]

View File

@@ -19796,8 +19796,6 @@ private static (string icon, string label, string bgHex, string fgHex) GetDecisi
var parts = new List<string>();
if (summary.RunningCount > 0) parts.Add($"실행 {summary.RunningCount}");
if (summary.QueuedCount > 0) parts.Add($"다음 {summary.QueuedCount}");
if (summary.BlockedCount > 0) parts.Add($"보류 {summary.BlockedCount}");
if (summary.CompletedCount > 0) parts.Add($"완료 {summary.CompletedCount}");
if (summary.FailedCount > 0) parts.Add($"실패 {summary.FailedCount}");
return parts.Count == 0 ? "대기열 0" : string.Join(" · ", parts);
}
@@ -19838,9 +19836,9 @@ private static (string icon, string label, string bgHex, string fgHex) GetDecisi
wrap.Children.Add(CreateQueueSummaryPill("실행 중", summary.RunningCount.ToString(), "#EFF6FF", "#BFDBFE", "#1D4ED8"));
if (summary.QueuedCount > 0)
wrap.Children.Add(CreateQueueSummaryPill("다음", summary.QueuedCount.ToString(), "#F5F3FF", "#DDD6FE", "#6D28D9"));
if (summary.BlockedCount > 0)
if (isExpanded && summary.BlockedCount > 0)
wrap.Children.Add(CreateQueueSummaryPill("보류", summary.BlockedCount.ToString(), "#FFF7ED", "#FDBA74", "#C2410C"));
if (summary.CompletedCount > 0)
if (isExpanded && summary.CompletedCount > 0)
wrap.Children.Add(CreateQueueSummaryPill("완료", summary.CompletedCount.ToString(), "#ECFDF5", "#BBF7D0", "#166534"));
if (summary.FailedCount > 0)
wrap.Children.Add(CreateQueueSummaryPill("실패", summary.FailedCount.ToString(), "#FEF2F2", "#FECACA", "#991B1B"));