Skip to content

fix(workflows): keep history loading off dashboard animation ticks - #422

Merged
tt-a1i merged 1 commit into
mainfrom
codex/workflow-dashboard-lag
Sep 6, 2026
Merged

fix(workflows): keep history loading off dashboard animation ticks#422
tt-a1i merged 1 commit into
mainfrom
codex/workflow-dashboard-lag

Conversation

@tt-a1i

@tt-a1i tt-a1i commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

Problem

Opening the Workflow dashboard can block keyboard input for seconds. Its 120 ms animation timer synchronously scans and hydrates all historical runs before filtering for the current request. Fixes #420.

Value

Keep dashboard animation and navigation responsive as workflow history accumulates, while preserving live progress, canonical settlement and historical transcript/report access.

Approach

  • Read the historical overview once per dashboard instance and filter raw metadata before normalizing unrelated records.
  • Reconcile live in-memory entries on subsequent frames; read a newly settled run once from canonical persistence, with retained projections as the fallback.
  • Hydrate side artifacts only on transcript navigation or report export, and reuse them for rendering.
  • Preserve the investigation and evidence limits in docs/research/WORKFLOW_DASHBOARD_REFRESH_2026-09-07.md.

Validation

  • Regression tests failed on the baseline: ten animation ticks plus return navigation caused 11 history reads; opening the overview caused two artifact reads. Both are zero after the fix.
  • Dashboard tests: 27 passed, including lazy transcript rendering, terminal transition and retained-run discovery.
  • GitHub CI: all required checks passed (Node 22.19.0, Node 24, Background terminals / Windows).
  • bun run check: passed.
  • bun run test: Node 1430 passed / 1 skipped; Vitest 30 passed.
  • Read-only local loader probe returned zero entries: baseline Node 3522/3327/3952 ms; fixed 798/3/3 ms. These are exploratory measurements under concurrent load and cache effects, not a controlled speedup claim.
  • Real terminal acceptance after reloading the fixed package has not been performed. The existing running user's session was preserved.

Impact

  • User-visible: stable animation/navigation no longer rescans history; historical detail loads on demand.
  • Model-visible tools/context: none.
  • Runtime/lifecycle: dashboard projections only; execution authority, cancellation and persistence contracts are unchanged.
  • Persisted configuration/data: no format changes or migrations.
  • Compatibility/risk: external historical edits appear after reopening the dashboard; first metadata discovery and first transcript opening still perform synchronous reads. Separate ordinary conversation-view lag is outside this reproduced path.

@github-actions github-actions Bot added documentation Improvements or additions to documentation area:workflows Workflow engine, capability, skills, or tests labels Sep 6, 2026
@tt-a1i
tt-a1i merged commit a7455cd into main Sep 6, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:workflows Workflow engine, capability, skills, or tests documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: Workflow dashboard blocks input by reloading history on animation ticks

1 participant