Skip to content

Stop runtime activity indicator flickering between scans - #82

Merged
kentwelcome merged 1 commit into
mainfrom
spacedock-ensign/stabilize-runtime-activity-indicator
Aug 24, 2026
Merged

kentwelcome merged 1 commit into
mainfrom
spacedock-ensign/stabilize-runtime-activity-indicator

Conversation

@kentwelcome

Copy link
Copy Markdown
Contributor

Keep runtime activity visible across workflow refreshes so operators do not see active workers flicker to idle.

What changed

  • Preserve typed activity for unchanged entity identities across workflow reloads.
  • Reject activity carryover when entity paths or identities change.
  • Add five-cycle reload, polling, stop, and UI regression coverage.
  • Document activity ownership across workflow reloads.

Evidence

  • Focused runtime suites: 20/20 passed.
  • Full workspace suite: 648/648 passed; 3 ignored.

Review guidance

AC-4 live Engram observation remains unavailable; captain approved publication despite this gap.


078

Copilot AI lite review requested due to automatic review settings August 24, 2026 02:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prevents the runtime activity indicator from flickering to idle during workflow snapshot reloads by carrying forward previously published EntityActivity (and related scan diagnostics) when the reloaded snapshot still contains the same entity identity (matching id + source path). This aligns with Spacetop’s read-first operator experience by keeping “currently running” signals stable across refresh cycles.

Changes:

  • Add WorkflowIndex::retain_session_activity_from to selectively transfer prior session activity (and scan error) only when entity identity is unchanged across reloads.
  • Update OverviewState::reload_from_index to retain activity during snapshot reloads instead of clearing it.
  • Add multi-cycle reload + polling + stop UI regression coverage and an app-level reload retention test; document the retention semantics in the activity design spec.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
docs/superpowers/specs/2026-07-27-spacetop-entity-activity-design.md Documents the intended behavior: retain activity/diagnostics across reloads only for unchanged entity identity.
crates/spacetop/src/ui/tests/task_list.rs Adds a 5-cycle reload + unchanged scan loop asserting the running marker/text remains stable, then validates stop behavior.
crates/spacetop/src/ui/tests.rs Refactors test helpers to share snapshot_with_items for reuse in UI tests.
crates/spacetop/src/app/tests.rs Adds an app-level regression test ensuring activity survives reload_from_snapshot when entity identity is unchanged.
crates/spacetop/src/app/overview.rs Implements the behavior change by retaining prior session activity on index reload rather than clearing it.
crates/spacetop-core/src/index.rs Introduces the core retention logic and adds focused unit tests for identity-preserving vs identity-changing reloads.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@kentwelcome
kentwelcome merged commit e503807 into main Aug 24, 2026
2 checks passed
@kentwelcome
kentwelcome deleted the spacedock-ensign/stabilize-runtime-activity-indicator branch August 24, 2026 02:48
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.

2 participants