Repository navigation
Conversation
Read declaration-only campaign topology instead of unused run and import totals. Preserve scoped chart/table filtering, navigation counts and live canonical subscriptions, with populated and empty regression coverage. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Contributor
Dashboard dead viewsDead element views (0):
|
Collaborator
Author
|
Full-app captures after the optimization, using the same fully ingested 575,582-record deployed dataset as the paired measurements. Desktop (1440×1000) and mobile (390×844). These are real site captures, not fixture/mock screenshots: campaign registration is unknown in the deployed inventory, so active repository topology remains honestly empty while the navigation retains Insights 1, Failures 37, and Reports 113. |
Preserve raw join coordinates and inactive or unknown inventory while sharing role selection and presentation fields between topology and execution consumers. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Reuse the shared declaration role guarantee when aggregating campaign workflow totals. Preserve the combined estimator read threshold and all execution quality dependencies. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Change
Optimize only the
campaign-repositoriesroute. Its chart and table separately evaluatedcampaign-workflows, including run/AIC totals and import-evidence dependencies that neither view displays. Both now use declaration-only Dashboard Language JSON over canonical workflows. Separate projection/inventory stages preserve coordinate/name filtering, search, structural declarations across runtime horizons, and stable ordering.The shared JSON
campaign-workflow-declarationsbase now feeds both structural topology andcampaign-workflow-inventory. It selects orchestrator/worker roles once and centralizes campaign/workflow display-name fallbacks, repository coordinates, registration/mode defaults, and repository dashboard links. Raw organization/repository/workflow join coordinates and declaration fields remain intact; inactive/unknown entries remain in execution inventory. Active filtering stays in the two list consumers. Execution consumers retain their separate run/import-quality dependencies, while topology resolves only toworkflows.No production JavaScript, cache, batching, query-engine path, navigation-count query, execution-total definition, policy, or enrollment behavior changes. Preserve identities and links, chart counts, table behavior, and abort-scoped canonical subscriptions. Unavailable workflow evidence still fails closed; unrelated run/import quality no longer degrades declaration-only topology. The execution/import-quality definitions and raw-coordinate execution join are unchanged.
Integration with Campaign workflows #19004
Runtime query JSON merges cleanly with
b88b01ac6; the complete branches require test/generated-artifact conflict resolution. Combining them requires resolving estimator expectations while retaining declaration-stage/identity coverage, native-quality aggregate assertions, and all existing reduction thresholds. Regenerate both agent catalogs from the resolved JSON sources. No duplicate implementation, dependency edits in #19004, or stacking on that branch are needed.Follow-up commit
4d7dab4fcremoves the redundant role filter incampaign-workflow-totals: the shared declaration base already guarantees those roles. This removes an unnecessary row scan without changing grouping, execution evidence, or quality dependencies. Combined normalized estimator results are:campaign-inventorycampaign-workflowscampaign-workflow-totalsNo thresholds were weakened. Regression coverage rejects duplicate role filtering downstream of the shared base. The coordinator independently verified the resolved combined export: 10 suites, 173 passed / 1 skipped, strict types, lint, and dashboard validation passed, retaining both branches' assertions and regenerating catalogs. That export is integration evidence, not a claim that these independent branches have been merged.
Same-data paired measurements
Rerun after the shared declaration extraction. The later redundant total-filter cleanup is outside the Campaign repositories route dependency graph, which remains unchanged. Production-built app, Chromium desktop 1440×1000, no intentional throttling. Both arms use identical JavaScript and pinned deployed data; only dashboard documents/page chunks differ. Baseline: unmodified parent
2de032495, not the earlier 13.13 s live observation.575,582 fully ingested records, 4,073 runs, 695 workflows, 6 repositories, 11 campaigns, asserted before every sample. Retention frozen at
2026-10-19T20:25:34.392Zprevents evidence aging out between arms. Each arm loads a fresh document and waits for ingestion, then measures navigation through all chart, navigation/tab-count, table-payload and page-chrome worker responses plus completed rendering—not the shell. Ingestion, the 500 ms quiet check, screenshots and optional Table interaction are excluded from default readiness. The harness asserts the correct before/after source was requested.Three paired samples per campaign, alternating B/A, A/B, B/A on this shared 18-core machine. Independent benchmarks were not stopped; 1-minute load ranged 13.95–24.93. This session ran no other validation workload during timed measurements. Absolute times are contention-sensitive; every pair improves, including reversed order. Final run:
2026-10-19T21:55:06Z–21:59:46Z, 12 completed measurements, no failures.eu-cra-compliancedependabotRendered table content and all tab labels/counts/links match between arms. EU CRA retains Insights 1, Failures 37, Reports 113; Dependabot retains Insights 1, Failures 6, and no nonzero Reports badge. Deployed campaign declarations have unknown registration, so active topology legitimately remains empty. Populated cases are separately validated through canonical ingestion/worker fixtures and live browser subscriptions; no deployed registration state was invented.
Deployed revision:
3afa28aea1b381123effea45bc49bc4692356ef7.Manifest SHA-256:
cce19a1f7237786b47a363678ea51e6a685e93a2eca21dd1bd80aac82b605808.Inventory SHA-256:
4ddedb1f63ea89834b7fd2dab6a88ac5c6e938e9b37817d29d9468e52d94f7e5.Preliminary retained-document/unfrozen-retention runs and the interrupted pre-final extraction run were discarded, not included above.
Regression coverage and validation
Desktop/mobile full-app captures with the pinned deployed dataset are attached separately. They honestly show empty active topology and populated navigation evidence—not mocked populated-page screenshots.