Closed
Labels
area:automationScheduled tasks and automationScheduled tasks and automationenhancementNew feature or requestNew feature or request
Description
What
#357 (performance/quality board) and #401 (cost per item) want cost visible. The timeline shows models and durations but not how many tokens each Bot spent, so where the team's model quota goes is invisible.
Expected behavior
- The activity feed's
turn.endgainstokens(the counts a turn's model calls reported:input/cacheRead/cacheWrite/output), summed from the turn'sassistant/messageusage, each floored and capped. Counts only, never text. - The timeline records them (short keys) and
timeline/windowcarriesusageper Bot:{ lane, calls, input, output, cacheRead, cacheWrite }. - Read-only; absent when the adapter reported no usage.
Change scope
core/src/host/flybot-feed.js (fold usage, cap), core/types/flybot.d.ts, plugins/timeline/src/{recorder,sanitize,window}.js, tests (core/test/flybot-feed.test.js, plugins/timeline/test/{recorder,window}.test.js), docs. No new dependency; no egress; metadata only.
Why
Cost/token visibility next to the run (the quality-visible bet, #361).
Metadata
Metadata
Assignees
Labels
area:automationScheduled tasks and automationScheduled tasks and automationenhancementNew feature or requestNew feature or request
Activity
Birfy commentedon Oct 20, 2026
Triage (Birfy, 2026-10-20 20:08 Asia/Shanghai). Token spend per Bot in the timeline: the activity feed's
turn.endgainstokens, which the timeline records and sums intousageper Bot. It touches core (flybot-feed.js) and the timeline plugin. HugoXK's PR #537 implements it; reviewed FAIL at b157f8f.Design check: it conflicts with simplicity/consistency. FlyBot already has a per-Bot token ledger (
core/src/host/usage.js, the Usage page) that counts billed attempts the way DSH does (retries, stream usage, forks, group Sessions). This adds a second counter that sums onlyassistant/messageusage, so the two will disagree for the same Bot. Same series as #530/#534/#538, with no overlap with the merged export (#484/#523/#524).Proposed scope if accepted: no new feed field. The timeline (or the panel) reads per-Bot totals for the window from the existing usage ledger. Otherwise, close it as covered by the Usage page.
needs-human: the owner needs to confirm whether this is wanted at all (given the Usage page) and whether HugoXK's #537 is accepted after it is reworked onto the ledger.Birfy commentedon Oct 20, 2026
Owner decision (2026-10-20 21:09 Asia/Shanghai): accepted (option a) with a change: token numbers must come from the existing Usage ledger, not a separate count, so they match the Usage page. PR #537 needs that change.
Birfy commentedon Oct 21, 2026
Implemented by PR #537 (merged as
105ec65b, 2026-10-21 00:27Z), which records per-Bot token counts on the activity feed'sturn.endand exposesusageper Bot intimeline/window.The PR body only referenced #357/#401, so GitHub did not auto-close this issue. Closing it by hand with that evidence; the
agent-workingandagent-readylabels come off.