Skip to content

feat(tui): pulse active subagent indicator - #76023

Closed
ajzrva-sys wants to merge 1 commit into
NousResearch:mainfrom
ajzrva-sys:feat/subagent-status-pulse
Closed

feat(tui): pulse active subagent indicator#76023
ajzrva-sys wants to merge 1 commit into
NousResearch:mainfrom
ajzrva-sys:feat/subagent-status-pulse

Conversation

@ajzrva-sys

Copy link
Copy Markdown
Contributor

Summary

Make the existing ⛓ N subagent indicator feel alive while delegated work is running.

  • pulse only the chain glyph between the theme's muted and accent colors every 700 ms
  • keep the glyph, count, and display width unchanged so the status bar never jitters
  • mount the timer only while the indicator is visible and clean it up on unmount
  • add focused coverage for the pulse color sequence

This keeps subagent activity glanceable without adding a persistent panel or more status text.

Verification

  • npm test -- --run src/__tests__/appChromeStatusRule.test.tsx — 24 passed
  • full vitest run — 1,459 passed, 4 skipped
  • npm run typecheck — passed
  • Prettier check for both changed files — passed
  • independent Codex review — no actionable issues

Related

@teknium1

teknium1 commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Thanks for keeping this focused on the existing status-bar signal. The premise holds: current main renders the active-subagent marker as a static muted ⛓ N at ui-tui/src/components/appChrome.tsx:693-696, after gating it on a positive active count at :557-558.

Suggested changes

  • Consider adding an Ink-rendered fake-timer lifecycle test. The added test in PR commit f513870bae97 verifies only the pure color helper; current StatusRule tests invoke StatusRule(...) directly at ui-tui/src/__tests__/appChromeStatusRule.test.tsx:108-112, which does not mount the nested pulse component or run its interval/cleanup effect. A rendered test could cover the 700 ms transition and unmount cleanup.

The implementation is otherwise a localized fit: it preserves the existing glyph/count width reservation and only mounts under the existing showSubagents condition. This is an automated hermes-sweeper review.

@alt-glitch alt-glitch added type/feature New feature or request comp/tui Terminal UI (ui-tui/ + tui_gateway/) tool/delegate Subagent delegation P3 Low — cosmetic, nice to have labels Aug 1, 2026
@teknium1 teknium1 added the sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform label Aug 1, 2026
@ajzrva-sys

Copy link
Copy Markdown
Contributor Author

Closing at the author's request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/tui Terminal UI (ui-tui/ + tui_gateway/) P3 Low — cosmetic, nice to have sweeper:blast-moderate Sweeper blast radius: moderate — a subsystem or single platform tool/delegate Subagent delegation type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants