AX Agent 계획 승인 흐름을 transcript 우선으로 전환하고 claw-code 비교 기준을 문서화
- claw-code 대비 canonical prompt set 10종을 parity 문서에 추가해 Chat/Cowork/Code 회귀 검증 기준을 고정함 - AX와 claw-code의 도구/스킬 차이를 문서에 정리해 남은 parity 목표를 명확히 함 - PlanViewerWindow를 즉시 띄우지 않고 inline 승인/수정/취소 버튼을 transcript에 먼저 노출하도록 계획 승인 흐름을 변경함 - PlanViewerWindow는 하단 계획 버튼으로 여는 보조 상세 보기 역할로 축소함 - 검증: 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:
@@ -9916,22 +9916,10 @@ public partial class ChatWindow : Window
|
||||
|
||||
await Dispatcher.InvokeAsync(() =>
|
||||
{
|
||||
// PlanViewerWindow 생성 또는 재사용
|
||||
if (_planViewerWindow == null || !IsWindowAlive(_planViewerWindow))
|
||||
{
|
||||
_planViewerWindow = new PlanViewerWindow(this);
|
||||
_planViewerWindow.Closing += (_, e) =>
|
||||
{
|
||||
e.Cancel = true;
|
||||
_planViewerWindow.Hide();
|
||||
};
|
||||
}
|
||||
|
||||
// 계획 표시 + 승인 대기
|
||||
_planViewerWindow.ShowPlanAsync(planSummary, steps, tcs);
|
||||
|
||||
// 하단 바 계획 버튼 표시
|
||||
EnsurePlanViewerWindow();
|
||||
_planViewerWindow?.LoadPlan(planSummary, steps, tcs);
|
||||
ShowPlanButton(true);
|
||||
AddDecisionButtons(tcs, options);
|
||||
});
|
||||
|
||||
// 5분 타임아웃
|
||||
@@ -9973,6 +9961,19 @@ public partial class ChatWindow : Window
|
||||
};
|
||||
}
|
||||
|
||||
private void EnsurePlanViewerWindow()
|
||||
{
|
||||
if (_planViewerWindow != null && IsWindowAlive(_planViewerWindow))
|
||||
return;
|
||||
|
||||
_planViewerWindow = new PlanViewerWindow(this);
|
||||
_planViewerWindow.Closing += (_, e) =>
|
||||
{
|
||||
e.Cancel = true;
|
||||
_planViewerWindow.Hide();
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>하단 바에 계획 보기 버튼을 표시/숨김합니다.</summary>
|
||||
private void ShowPlanButton(bool show)
|
||||
{
|
||||
|
||||
@@ -287,7 +287,7 @@ internal sealed class PlanViewerWindow : Window
|
||||
// 공개 API
|
||||
// ════════════════════════════════════════════════════════════
|
||||
|
||||
public Task<string?> ShowPlanAsync(string planText, List<string> steps, TaskCompletionSource<string?> tcs)
|
||||
public void LoadPlan(string planText, List<string> steps, TaskCompletionSource<string?> tcs)
|
||||
{
|
||||
_planText = planText;
|
||||
_steps = steps;
|
||||
@@ -304,7 +304,11 @@ internal sealed class PlanViewerWindow : Window
|
||||
RenderSteps();
|
||||
BuildApprovalButtons();
|
||||
_statusBar.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
|
||||
public Task<string?> ShowPlanAsync(string planText, List<string> steps, TaskCompletionSource<string?> tcs)
|
||||
{
|
||||
LoadPlan(planText, steps, tcs);
|
||||
Show();
|
||||
Activate();
|
||||
return tcs.Task;
|
||||
|
||||
Reference in New Issue
Block a user