103 lines
4.2 KiB
Markdown
103 lines
4.2 KiB
Markdown
# Sigma Global Renderer Production Integration Result
|
|
|
|
Date: 2026-06-19
|
|
Branch: `codex/sigma-global-renderer-integration`
|
|
Plan: `docs/plans/2026-06-19-sigma-global-renderer-integration-phased-plan.md`
|
|
|
|
## Result
|
|
|
|
Sigma/Graphology is now the production global graph renderer route for the graph-engine facade.
|
|
|
|
The final route boundary is:
|
|
|
|
- Global route: Sigma/Graphology through `sigma-global`.
|
|
- Community reading and rich detail route: DOM/SVG through `dom-svg-community`.
|
|
- Small abnormal fallback: DOM/SVG through `dom-svg-small-fallback`, only after Sigma is unavailable and the graph is below the safety threshold.
|
|
- Large abnormal fallback: aggregation safety view through `aggregation-safety-fallback`.
|
|
|
|
There is no user-visible old/new renderer switch. The old DOM/SVG global path is not a normal global main path.
|
|
|
|
## Phase 0 Gate
|
|
|
|
The implementation started only after the plan review gate cleared:
|
|
|
|
- The plan review report ended with `NO UNRESOLVED DECISIONS`.
|
|
- The implementation branch was `codex/sigma-global-renderer-integration`.
|
|
- Baseline graph-engine tests passed before production renderer work started.
|
|
|
|
## Production Evidence
|
|
|
|
The strongest production-path artifact so far is:
|
|
|
|
- `/tmp/llm-wiki-sigma-global-production-task-6-2/sigma-global-production-results.json`
|
|
|
|
Summary:
|
|
|
|
- Renderer: `sigma-global-production`.
|
|
- Production path: `true`.
|
|
- Browser: `148.0.7778.96`.
|
|
- Build commit recorded in artifact: `d2e857f`.
|
|
- Shapes: 11.
|
|
- Records: 110.
|
|
- Failed records: 0.
|
|
- Artifact schema: `1.0.0`.
|
|
- Required schema, thresholds, browser, build, run timestamp, loading-state, and production-path fields are present on every record.
|
|
|
|
Covered shapes:
|
|
|
|
- `real-snapshot-proxy`
|
|
- `nodes-1000-sparse`
|
|
- `nodes-1000-dense`
|
|
- `nodes-5000-sparse`
|
|
- `nodes-5000-dense`
|
|
- `nodes-10000-aggregation`
|
|
- `nodes-10000-high-edge`
|
|
- `oversized-community`
|
|
- `many-small-communities`
|
|
- `many-search-hits`
|
|
- `many-pin-nodes`
|
|
|
|
## Hard Gate Summary
|
|
|
|
| Gate | Production result |
|
|
|---|---:|
|
|
| Failed records | 0 |
|
|
| Wheel FPS floor | min 60.2, required >= 45 |
|
|
| Drag FPS floor | min 60.3, required >= 45 |
|
|
| Wheel frame p95 | max 17.6 ms, required <= 22.3 ms |
|
|
| Drag frame p95 | max 17.6 ms, required <= 22.3 ms |
|
|
| Initial render duration | max 0.2 ms, threshold recorded per action |
|
|
| Search duration | max 37.7 ms, threshold recorded per action |
|
|
| Drawer duration | max 82.0 ms, threshold recorded per action |
|
|
| Return global duration | max 70.5 ms, threshold recorded per action |
|
|
| Repeated-cycle memory growth | max 6.4 MB, threshold recorded per action |
|
|
| Loading state | `sigma-global-ready` on global records |
|
|
|
|
`enter_community` intentionally moves through the community route, so its loading-state set includes the non-global transition state as well as `sigma-global-ready`. Return-global records prove the production route returns to Sigma successfully.
|
|
|
|
## Route And Fallback Boundary
|
|
|
|
The facade owns renderer route switching. Workbench and offline callers continue to use `createGraphEngine` and do not receive a renderer selector.
|
|
|
|
Fallback policy:
|
|
|
|
- If Sigma is available, global graph browsing uses Sigma.
|
|
- If Sigma is unavailable for a small graph, DOM/SVG is allowed only as the emergency small fallback.
|
|
- If Sigma is unavailable for a graph above 2000 nodes, 4000 edges, or 500 nodes in one community, the route uses aggregation safety fallback instead of DOM/SVG.
|
|
- The aggregation safety view is a minimum usable failure state, not a second global graph product.
|
|
|
|
## Historical Context
|
|
|
|
Earlier comparison documents remain valid as historical evidence:
|
|
|
|
- `2026-06-19-phase-6-1-sigma-graphology-trial.md` measured the isolated Sigma candidate.
|
|
- `2026-06-19-phase-6-2-vis-network-trial.md` measured vis-network as a rejected comparison route.
|
|
- `2026-06-19-phase-6-3-aggregation-fallback-trial.md` measured aggregation as a fallback strategy.
|
|
- `2026-06-19-phase-6-4-global-renderer-route-decision.md` selected Sigma/Graphology as the route to integrate.
|
|
|
|
Those documents should not be read as current production state. This document records the production integration result.
|
|
|
|
## Residual Risk
|
|
|
|
This result is proven on the local Chromium/Playwright environment and recorded artifacts. Task 7.3 must still rerun the full final acceptance list and produce the final production-path artifact for plan closure.
|