Skip to content

"Now Working" activity ticker on the Goals page#1735

Draft
pulzzejaehoon wants to merge 3 commits into
mainfrom
goal/5d4a3b78
Draft

"Now Working" activity ticker on the Goals page#1735
pulzzejaehoon wants to merge 3 commits into
mainfrom
goal/5d4a3b78

Conversation

@pulzzejaehoon

Copy link
Copy Markdown
Contributor

Integration PR for this goal — its tasks commit onto this branch (one PR per goal). Opened automatically by the engine on first push; left as a draft until the goal completes.

pulzzejaehoon and others added 3 commits June 30, 2026 11:24
Surface a thin, live 'Now working' strip at the top of a project's Engine
Goals page showing each goal a machine is actively executing (status
running with a live currentTask). Draws from the project-scoped fleet-queue
read and refetches on engine.changed + machine-heartbeat notifications;
renders null (no layout shift) when nothing is running or the fetch fails.

No agent-config update needed: pure UI over an existing endpoint, no new
tools or domain entities.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add the missing ac-tests sub-criterion (c): a previously-rendered 'Now
working' strip is removed after an engine.changed refetch returns zero
running goals. Mirrors the existing engine.changed refetch test but in the
teardown direction (visible -> null), exercising refresh()'s
setRunningItems([]) on an empty result.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Injecting the live NowWorkingTicker into EngineGoalsClient made the
engine-goals-client test suite fire the ticker's mount-time fleet-queue
fetch + async setState on every one of its 94 renders. That stray async
work ballooned the file from ~31s to ~311s of test time (10x) — making
it the single slowest file in the whole suite at ~320s. Under the CI
runner's resource limits that one file was heavy enough to starve the
fork pool and trigger cascading worker/test timeouts across unrelated
files (worker/index, authorization-fuzzing, tool-dispatcher, etc.),
which is why `npm run test` exited 1 and no coverage/lcov.info was
produced (system:test-suite-failed, system:patch-coverage-below-threshold).

Fix: mock NowWorkingTicker inert in this suite, matching the file's
existing pattern of stubbing peripheral deps (next/navigation, sonner,
page-bar-context). The ticker keeps full standalone coverage in
now-working-ticker.test.tsx, so isolating it here loses no coverage and
restores the file to ~31s.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant