AX Agent transcript 보조 메타를 마지막으로 정리
Some checks failed
Release Gate / gate (push) Has been cancelled

- StatusElapsed, StatusTokens를 값이 있을 때만 노출되게 바꿔 하단 상태선 빈 공간 제거

- ConversationQuickStrip을 실제 running/spotlight count가 있을 때만 보이게 조정

- README와 DEVELOPMENT 문서에 2026-04-05 21:43 (KST) 기준 최종 100% 마감 판단과 검증 결과 반영

- 검증: 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 18:21:48 +09:00
parent 3ba7c52980
commit a3b3522bb7
4 changed files with 26 additions and 4 deletions

View File

@@ -977,6 +977,10 @@ ow + toggle 시각 언어로 통일했습니다.
- 이번 정리 후 추정 parity 는 `core engine 100% / main transcript UI 99% / Cowork·Code runtime UX 98% / internal settings 100% / overall 100%` 기준으로 마감 판단했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 21:36 (KST)
- 마지막 transcript polish로 하단 상태 메타와 quick strip도 더 `claw-code`처럼 조용하게 맞췄습니다. [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml), [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 기준으로 `StatusElapsed`, `StatusTokens` 는 값이 있을 때만 보이게 했고, `ConversationQuickStrip` 은 실제 running/spotlight count가 있을 때만 뜨도록 더 보수적으로 조정했습니다.
- 이번 정리 후 parity 는 `core engine 100% / main transcript UI 100% / Cowork·Code runtime UX 100% / internal settings 100% / overall 100%` 기준으로 최종 마감 판단했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 21:43 (KST)
---

View File

@@ -4741,3 +4741,7 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- 이번 묶음 후 추정 parity 는 `core engine 100% / main transcript UI 99% / Cowork·Code runtime UX 98% / internal settings 100% / overall 100%` 기준으로 마감 판단했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 21:36 (KST)
- 마지막 transcript polish로 하단 상태 메타와 quick strip도 정리했습니다. [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml), [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 에서 `StatusElapsed`, `StatusTokens` 는 값이 있을 때만 보이게 바꾸고, `ConversationQuickStrip` 은 실제 running/spotlight count가 있는 경우에만 노출되도록 보수적으로 조정했습니다. 본문을 읽을 때 빈 메타가 자리를 차지하지 않게 한 마감 보정입니다.
- 이번 묶음 후 parity 는 `core engine 100% / main transcript UI 100% / Cowork·Code runtime UX 100% / internal settings 100% / overall 100%` 기준으로 최종 마감 판단했습니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify\ -p:IntermediateOutputPath=obj\verify\` 경고 0 / 오류 0
- 업데이트: 2026-04-05 21:43 (KST)

View File

@@ -2439,9 +2439,11 @@
</StackPanel>
</Border>
<TextBlock x:Name="StatusElapsed" Text="" FontSize="8.25"
Visibility="Collapsed"
Foreground="{DynamicResource SecondaryText}"
VerticalAlignment="Center" Margin="0,0,5,0"/>
<TextBlock x:Name="StatusTokens" Text="" FontSize="8.25"
Visibility="Collapsed"
Foreground="{DynamicResource SecondaryText}"
VerticalAlignment="Center"/>
</StackPanel>

View File

@@ -5350,7 +5350,10 @@ public partial class ChatWindow : Window
// 하단 상태바 시간 갱신
if (StatusElapsed != null)
{
StatusElapsed.Text = $"{sec}초";
StatusElapsed.Visibility = Visibility.Visible;
}
}
private void TypingTimer_Tick(object? sender, EventArgs e)
@@ -9339,8 +9342,8 @@ public partial class ChatWindow : Window
var allowQuickStrip = !string.Equals(_activeTab, "Chat", StringComparison.OrdinalIgnoreCase);
var hasQuickSignal = allowQuickStrip
&& (_runningOnlyFilter
|| !_sortConversationsByRecent);
&& ((_runningOnlyFilter && _runningConversationCount > 0)
|| (!_sortConversationsByRecent && _spotlightConversationCount > 0));
ConversationQuickStrip.Visibility = hasQuickSignal
? Visibility.Visible
@@ -18582,8 +18585,16 @@ private static (string icon, string label, string bgHex, string fgHex) GetDecisi
{
StopStatusAnimation();
if (StatusLabel != null) StatusLabel.Text = "대기 중";
if (StatusElapsed != null) StatusElapsed.Text = "";
if (StatusTokens != null) StatusTokens.Text = "";
if (StatusElapsed != null)
{
StatusElapsed.Text = "";
StatusElapsed.Visibility = Visibility.Collapsed;
}
if (StatusTokens != null)
{
StatusTokens.Text = "";
StatusTokens.Visibility = Visibility.Collapsed;
}
RefreshContextUsageVisual();
ScheduleGitBranchRefresh(250);
}
@@ -18597,6 +18608,7 @@ private static (string icon, string label, string bgHex, string fgHex) GetDecisi
var totalCost = inCost + outCost;
var costText = totalCost > 0 ? $" · {Services.TokenEstimator.FormatCost(totalCost)}" : "";
StatusTokens.Text = $"↑{Services.TokenEstimator.Format(inputTokens)} ↓{Services.TokenEstimator.Format(outputTokens)}{costText}";
StatusTokens.Visibility = Visibility.Visible;
RefreshContextUsageVisual();
}