Skip to content

Reduce Campaign workflows query graph overhead - #19004

Closed
pelikhan wants to merge 1 commit into
mainfrom
pelikhan-campaign-workflows-performance
Closed

pelikhan wants to merge 1 commit into
mainfrom
pelikhan-campaign-workflows-performance

Conversation

@pelikhan

Copy link
Copy Markdown
Collaborator

Summary

Optimize #page-campaign-workflows?campaign=eu-cra-compliance through Dashboard Language and the canonical worker, without changing the view payload or rendering.

  • Replace unused per-run/per-workflow import counts in campaign inventory with compact retained-source quality summaries using native table counts. Audit, domain, tool and issue provenance all remain dependencies. These summaries carry source quality only; they are not displayed as import coverage. Actual run-import coverage queries are unchanged.
  • Preserve selected-horizon run/AIC totals, active orchestrator/worker membership, identities, links, navigation counts, filtering, ordering, pagination and abort-scoped subscriptions.
  • Keep native counts unavailable when their source is explicitly unavailable. Add a contract fixture and worker/browser coverage for populated and valid-empty campaigns, stale/unavailable evidence, native-count-only reads, continuation pages and live refreshes.

Paired deployed-data measurement

Same pinned manifest and fully ingested database: 575,582 records, 4,073 runs, 695 workflows, six repositories and 11 campaigns. Manifest SHA-256: cce19a1f7237786b47a363678ea51e6a685e93a2eca21dd1bd80aac82b605808. Data is from the supplied public deployment evidence at 3afa28aea1b381123effea45bc49bc4692356ef7; the code baseline is this branch's base, 2de032495.

Chromium desktop 1440x1000, no deliberate CPU/network throttling, production builds, one shared database, alternating order before/after, after/before, before/after. Waited for page completion, all relevant worker responses, no busy views and a quiet interval; reported readiness excludes that interval. Ingestion is excluded.

Pair Before After Reduction
1 10.458 s 3.521 s 66.3%
2 (reverse order) 10.398 s 3.345 s 67.8%
3 12.106 s 4.493 s 62.9%
Median 10.458 s 3.521 s 66.3%

Every returned source payload and the rendered page text matched exactly across all six measurements, including navigation badges Insights 1 / Failures 37 / Reports 113. No browser errors occurred. Absolute values differ from the earlier 7.67 s review on this shared host; only these paired measurements are compared.

The pinned public inventory marks campaign-owned workflow registration unknown, so the representative campaign is legitimately empty under the existing active-only filter. Populated cases are verified separately through canonical-ingestion worker fixtures (31 active workflows and horizon-specific totals) and desktop/mobile subscription tests; no live authority or fixture data was substituted into the deployed-data benchmark.

Validation

Passed: 58 focused query/database tests (one pre-existing skip); desktop and mobile Campaign workflows E2E tests; dashboard lint, strict typecheck, document and authoring-corpus validation; root lint; all 36 agent-catalog tests; workflow compilation; deployed-data worker-memory budget test.

Broader suite caveats, not hidden by changing budgets:

  • Full dashboard unit suite: 3,602 passed, one skipped, one contention-sensitive estimator test timed out. All 15 tests in that file passed on isolated retry.
  • Full browser suite: 291 passed, one skipped, three pre-existing failures. Existing-database upgrade import-dialog visibility and 18-category mobile pie-chart CLS (0.10457 vs 0.1) both reproduce in an untouched base-commit export. The core-payload size assertion fails with 78,039 bytes both before and after, against its existing 76,500-byte budget.
  • Required Lighthouse command completed all 12 empty-data scenarios (scores 98–100), then timed out waiting 900 seconds for full-data ingestion. The separate pinned-data paired benchmark and production worker-memory test both completed full ingestion successfully.

Desktop and mobile screenshots of the real, fully ingested representative route are attached in a PR comment. No screenshots or downloaded datasets are committed.

Compose retained import-source quality with native table counts while preserving selected-horizon execution totals, workflow identity, and active membership. Keep unavailable native counts fail-closed and cover populated, empty, pagination, and live subscription behavior.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@pelikhan

Copy link
Copy Markdown
Collaborator Author

Real deployed-data Campaign workflows screenshots, captured after full ingestion of 575,582 canonical records. Desktop: 1440×1000; mobile: 390×844. The selected eu-cra-compliance campaign is valid-empty under the unchanged active-only registration filter; navigation counts remain Insights 1, Failures 37 and Reports 113. Populated campaign behavior is covered separately by canonical-worker and browser refresh fixtures.

Campaign workflows on desktop with fully ingested deployed data

Campaign workflows on mobile with fully ingested deployed data

@github-actions

Copy link
Copy Markdown
Contributor
Dashboard dead views

Dead element views (0):
Dead dashboard pages (0):
Analyzed 8 element renderers and 66 dashboard pages across 1 dashboard.json file(s) from dashboard/site/src/components/ui-elements.js.

⚠️ This reachability report is informational and does not block the pull request.
🔎 View the workflow run and report artifact.

@pelikhan

Copy link
Copy Markdown
Collaborator Author

Superseded by the single consolidated draft PR #19015 at f0b769c. The reviewed source changes and preservation corrections are collected there, with regenerated catalogs and combined validation. Closing without merging or deleting the source branch; history and original evidence remain available.

@pelikhan pelikhan closed this Oct 19, 2026
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