feat(agent): budget reminders, usage while waiting, budget-exceeded status and dedupe

- tool results carry a budget reminder near limits; text before the last tool
  call is dropped as report when cut by budget/abort
- usage persisted when a run suspends, so waiting sessions show spent tokens
- task page shows budget_exceeded via business.outcome instead of completed
- budget-exceeded decisions merge by root cause (decision / schedule / goal
  template); new summaries added to investigate allowlist

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-29 01:58:28 +08:00
1 parent 4cd9ec8390
commit a00a9eaf5d
14 files changed
+205 -21

No files matched your search

@@ -18,8 +18,8 @@ import {
BUSINESS_KINDS,
businessLink,
ENGINE_ACTIVE,
engineRunStatus,
RUN_STATUS_OPTIONS,
runStatus,
runTitle,
SOURCE_LABEL,
SOURCE_TRIGGERED_BY,
@@ -247,7 +247,7 @@ export function TaskStream({
key: "status",
header: "状态",
cell: (r) => {
const s = runStatus(r.status);
const s = engineRunStatus(r);
return <StatusBadge tone={s.tone}>{s.label}</StatusBadge>;
},
},