diff --git a/README.md b/README.md
index 40eba64..fe5ac53 100644
--- a/README.md
+++ b/README.md
@@ -926,6 +926,10 @@ ow + toggle 시각 언어로 통일했습니다.
- Cowork/Code 상태바 소음도 줄였습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 의 `UpdateStatusBar(...)` 는 이제 `debug` 로그가 아닐 때 `ToolCall`, `SkillCall`, `Paused`, `Resumed` 이벤트로 상태줄을 흔들지 않습니다. `claw-code`처럼 기본 transcript와 상태선이 더 차분하게 유지되도록 맞춘 변경입니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 20:08 (KST)
+- `PlanModeTools` 기본값도 런타임 정책과 맞췄습니다. [AppSettings.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Models/AppSettings.cs) 에서 `PlanMode`, `EnablePlanModeTools` 를 레거시 호환용 설명으로 정리하고, `EnablePlanModeTools` 기본값을 `false` 로 변경했습니다.
+- Cowork/Code 후속 큐 요약은 더 `claw-code`처럼 최소 노출로 바꿨습니다. [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 의 compact queue 요약은 이제 기본적으로 `실행 / 다음 / 실패`만 표시하고, `보류`, `완료` 배지는 `상세 보기`를 펼쳤을 때만 보입니다.
+- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\` 경고 0 / 오류 0
+- 업데이트: 2026-04-05 20:15 (KST)
---
diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md
index 4f20e36..a1a9296 100644
--- a/docs/DEVELOPMENT.md
+++ b/docs/DEVELOPMENT.md
@@ -4690,3 +4690,8 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- 이번 묶음 후 추정 parity는 `core engine 90% / main transcript UI 96% / Cowork·Code runtime UX 94% / internal settings 91% / overall 94%` 정도로 재평가했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 20:08 (KST)
+- 타입 기본값과 큐 요약도 현재 엔진 정책에 맞게 더 정리했습니다. [AppSettings.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Models/AppSettings.cs) 의 `PlanMode` 는 레거시 호환용 설명으로 정리했고, `EnablePlanModeTools` 기본값은 `false` 로 바꿨습니다. 신규 설정/복구 시점에서도 더 이상 plan mode 도구가 살아나지 않게 하기 위한 조정입니다.
+- [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 의 `BuildDraftQueueCompactSummaryText(...)`, `CreateDraftQueueSummaryStrip(...)` 도 `claw-code` 최소 노출 기준으로 조정했습니다. 기본 compact 요약에서는 `실행 / 다음 / 실패`만 남기고, `보류 / 완료` 배지는 `상세 보기`를 펼친 경우에만 보입니다.
+- 이번 묶음 후 추정 parity는 `core engine 90% / main transcript UI 96% / Cowork·Code runtime UX 95% / internal settings 92% / overall 95%` 정도로 재평가했습니다.
+- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\` 경고 0 / 오류 0
+- 업데이트: 2026-04-05 20:15 (KST)
diff --git a/docs/claw-code-parity-plan.md b/docs/claw-code-parity-plan.md
index d1dc158..51ec0eb 100644
--- a/docs/claw-code-parity-plan.md
+++ b/docs/claw-code-parity-plan.md
@@ -162,7 +162,7 @@
- current state: 사용자 노출 UI와 저장 경로는 `off` 고정으로 정리됐지만 `AppSettings`, `SettingsViewModel`, `AppStateService` 타입 잔재가 남아 있음
- rationale: 현재 정책이 `off` 고정이라 사용자 선택값이 엔진에 의미 있게 기여하지 않음
- `Code.EnablePlanModeTools`
- - current state: UI/저장 경로는 `false` 고정으로 정리됐지만 모델/설정 타입에 잔재가 남아 있음
+ - current state: UI/저장 경로와 기본값은 `false` 고정으로 정리됐지만 모델/설정 타입에 호환용 잔재가 남아 있음
- rationale: 현재 엔진 정책에서 실제 실행 경로를 더 이상 바꾸지 않음
- Move to developer-only candidate:
- `FreeTierDelaySeconds`
@@ -189,3 +189,4 @@
- `RefreshContextUsageVisual()` frequency
- `BuildTopicButtons()` rebuild frequency
- `OnAgentEvent` timeline churn during long Cowork/Code runs
+ - compact queue summary still needs one more pass to fully match `claw-code` footer minimalism
diff --git a/src/AxCopilot/Models/AppSettings.cs b/src/AxCopilot/Models/AppSettings.cs
index f8383b4..8abb913 100644
--- a/src/AxCopilot/Models/AppSettings.cs
+++ b/src/AxCopilot/Models/AppSettings.cs
@@ -958,10 +958,8 @@ public class LlmSettings
public string AgentDecisionLevel { get; set; } = "detailed";
///
- /// 플랜 모드. 에이전트가 도구 실행 전에 구조화된 실행 계획을 먼저 생성하도록 강제.
- /// off: 비활성 (기존 동작)
- /// always: 항상 계획 생성 후 사용자 승인 대기
- /// auto: 복잡한 작업 감지 시 자동으로 계획 모드 진입
+ /// 레거시 플랜 모드 설정. 현재 AX Agent 런타임 정책에서는 항상 off 로 고정된다.
+ /// 기존 저장 파일 호환성을 위해 프로퍼티만 유지한다.
///
[JsonPropertyName("planMode")]
public string PlanMode { get; set; } = "off";
@@ -1289,9 +1287,11 @@ public class CodeSettings
[JsonPropertyName("enableCodeVerification")]
public bool EnableCodeVerification { get; set; } = false;
- /// Code 탭에서 Plan Mode 도구(enter/exit plan mode) 사용 여부. 기본 true.
+ ///
+ /// 레거시 Plan Mode 도구 토글. 현재 런타임에서는 비활성(false) 고정이며 저장 호환성만 유지한다.
+ ///
[JsonPropertyName("enablePlanModeTools")]
- public bool EnablePlanModeTools { get; set; } = true;
+ public bool EnablePlanModeTools { get; set; } = false;
/// Code 탭에서 Worktree 도구(enter/exit worktree) 사용 여부. 기본 true.
[JsonPropertyName("enableWorktreeTools")]
diff --git a/src/AxCopilot/Views/ChatWindow.xaml.cs b/src/AxCopilot/Views/ChatWindow.xaml.cs
index db2dbb9..4341709 100644
--- a/src/AxCopilot/Views/ChatWindow.xaml.cs
+++ b/src/AxCopilot/Views/ChatWindow.xaml.cs
@@ -19796,8 +19796,6 @@ private static (string icon, string label, string bgHex, string fgHex) GetDecisi
var parts = new List();
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"));