Skip to content

feat(card): show the agent's current step instead of a static live line - #114

Merged
Robbertvermeulen merged 3 commits into
mainfrom
card/task_94f4
Oct 18, 2026
Merged

Robbertvermeulen merged 3 commits into
mainfrom
card/task_94f4

Conversation

@Robbertvermeulen

Copy link
Copy Markdown
Owner

Closes #113.

The card detail view showed a static "Agent is working on this now — live session" line whenever the card was doing and any session happened to be running — not necessarily one working on this card, and with no hint of what it was actually doing.

  • cardClaimSession (cards.ts): the session that claimed this specific doing card, read from the stamp moveCard already leaves on the status_changed event.
  • latestStep (sessions.ts): the last parsed step of a session's transcript.
  • GET /api/cards/:id/live-step: combines the two with sessionStatus() to confirm the claiming session is still actually live, returning { live, session_id, step }.
  • card.js: renders the latest step's [type] label (same vocabulary as the existing "Agent activity" tab) in place of the static text, and polls it every 2.5s tick independent of the fingerprint-guarded rerender — the same append-without-rerender pattern the session view's live tail already uses.

Verified against a real built server with a faked live session + lock file: live-step correctly flips to live:true only once the claiming session matches an actually-live one, and the reported step updates as new transcript lines are appended. Could not do a full browser check in this sandbox (headless Chromium needs system libs not present here); did verify the JS modules parse cleanly and the TS build is clean.

agentboard added 3 commits October 15, 2026 13:11
The card detail view only knew a session was running somewhere, not
whether it was working on this card or what it was doing. Resolve the
session that actually claimed this doing card (the stamp already left
on its status_changed event), confirm it is still live, and surface its
latest transcript step as the one-line presence text. Polls in place on
the existing 2.5s tick, independent of the fingerprint-guarded rerender,
the same way the session view's live tail already updates without a
full rerender.

task_94f4
The step label was just the bare tool name (e.g. 'Bash'). Now it appends the first string value found in the tool's input, truncated to ~40 chars (e.g. 'Bash: git push origin card/task_94f4'), so the live-step line and the Agent activity tab actually say what the agent is doing.
main landed hard claims (#115) while this branch was open: claimed_by is
now a direct column on the card row instead of being derived from
status_changed events via doingClaimsIn. Adapted cardClaimSession to read
claimed_by off getCard() instead of the now-removed doingClaimsIn.
@Robbertvermeulen
Robbertvermeulen merged commit 3c4a108 into main Oct 18, 2026
2 checks passed
@Robbertvermeulen
Robbertvermeulen deleted the card/task_94f4 branch October 18, 2026 09:50
github-actions Bot pushed a commit that referenced this pull request Oct 18, 2026
# [0.26.0](v0.25.1...v0.26.0) (2026-10-18)

### Features

* **card:** show the agent's current step instead of a static live line ([#114](#114)) ([3c4a108](3c4a108))
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.26.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Robbertvermeulen added a commit that referenced this pull request Oct 20, 2026
…118)

## Summary
Follow-up to #114 / #113 based on live feedback: the card view's
live-step line showed `[tool] Bash: git push ...`. The bracketed type
prefix read as noise once in daily use.

- Drop the `[type]` prefix.
- Capitalize the first letter of the step label.
- Lead with `Agent:` so the line reads as a sentence, e.g. `Agent: Bash:
git push origin card/task_94f4`.

Only the card-detail live-step line changes; the Agent activity tab's
`[type] label` steps are untouched (different spot, not what was
flagged).

## Test plan
- [x] `npm run build` (tsc) passes
- [x] `node --check web/js/views/card.js`
- [x] Manual logic check with sample steps confirms the new format
- [ ] Visual check in a browser (not available in this sandbox)

Co-authored-by: agentboard <agentboard@localhost>
github-actions Bot pushed a commit that referenced this pull request Oct 20, 2026
## [0.26.1](v0.26.0...v0.26.1) (2026-10-20)

### Bug Fixes

* **card:** drop [type] prefix on live-step line, add Agent: lead-in ([#118](#118)) ([a295629](a295629)), closes [#114](#114) [#113](#113)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show live one-line status of what the agent is doing on a card

1 participant