Fix performance branch audit blockers #141

Open
lost-rob0t wants to merge 21 commits from agent/performance-audit-fixes into perf/large-graph-responsiveness
lost-rob0t commented 2026-07-29 00:11:51 +00:00 (Migrated from github.com)

Scope

This draft targets the unfinished perf/large-graph-responsiveness branch and fixes the blockers found during the audit.

Directly implemented

  • benchmark comparison fails on empty, missing, extra, duplicate, or non-finite scenarios and metrics;
  • FPS uses higher-is-better reporting and regression direction;
  • the performance workflow requires a checked reviewed baseline;
  • graph reconciliation can keep live dragged coordinates authoritative during document-only refreshes;
  • regression tests cover stale incoming positions and explicit graph restoration.

Applied and validated by the branch workflow

The temporary one-shot applicator updates GraphPage, runs checks/tests/build, runs the full deterministic benchmark, generates the reviewed baseline, then removes itself before committing:

  • derive the renderer tier from the currently visible graph;
  • remount Cytoscape only when the renderer tier changes;
  • restore the latest viewport across renderer-tier remounts;
  • pass applyIncomingPositions: graphChanged to reconciliation;
  • project graph coordinates from the latest non-rendering position store instead of stale React state.

Issues

Addresses #129, #130, and #131. Intended to merge into perf/large-graph-responsiveness, after which PR #124 can be rerun and reviewed again.

Validation

  • npm run check
  • npm test
  • npm run build
  • npm run bench:graph:update
  • checked baseline validation

This PR remains draft until the applicator commit and benchmark baseline land successfully.

## Scope This draft targets the unfinished `perf/large-graph-responsiveness` branch and fixes the blockers found during the audit. ### Directly implemented - benchmark comparison fails on empty, missing, extra, duplicate, or non-finite scenarios and metrics; - FPS uses higher-is-better reporting and regression direction; - the performance workflow requires a checked reviewed baseline; - graph reconciliation can keep live dragged coordinates authoritative during document-only refreshes; - regression tests cover stale incoming positions and explicit graph restoration. ### Applied and validated by the branch workflow The temporary one-shot applicator updates `GraphPage`, runs checks/tests/build, runs the full deterministic benchmark, generates the reviewed baseline, then removes itself before committing: - derive the renderer tier from the currently visible graph; - remount Cytoscape only when the renderer tier changes; - restore the latest viewport across renderer-tier remounts; - pass `applyIncomingPositions: graphChanged` to reconciliation; - project graph coordinates from the latest non-rendering position store instead of stale React state. ## Issues Addresses #129, #130, and #131. Intended to merge into `perf/large-graph-responsiveness`, after which PR #124 can be rerun and reviewed again. ## Validation - `npm run check` - `npm test` - `npm run build` - `npm run bench:graph:update` - checked baseline validation This PR remains draft until the applicator commit and benchmark baseline land successfully.
nsaspy changed title from WIP: Fix performance branch audit blockers to Fix performance branch audit blockers 2026-08-27 19:57:36 +00:00
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin agent/performance-audit-fixes:agent/performance-audit-fixes
git switch agent/performance-audit-fixes

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch perf/large-graph-responsiveness
git merge --no-ff agent/performance-audit-fixes
git switch agent/performance-audit-fixes
git rebase perf/large-graph-responsiveness
git switch perf/large-graph-responsiveness
git merge --ff-only agent/performance-audit-fixes
git switch agent/performance-audit-fixes
git rebase perf/large-graph-responsiveness
git switch perf/large-graph-responsiveness
git merge --no-ff agent/performance-audit-fixes
git switch perf/large-graph-responsiveness
git merge --squash agent/performance-audit-fixes
git switch perf/large-graph-responsiveness
git merge --ff-only agent/performance-audit-fixes
git switch perf/large-graph-responsiveness
git merge agent/performance-audit-fixes
git push origin perf/large-graph-responsiveness
Sign in to join this conversation.
No description provided.