|
|
|
@@ -2,6 +2,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
This document records verified risks, the production controls that address them, and the next evidence to collect. It is intentionally operational: a passing build alone is not proof that the browser application is production-ready.
|
|
|
|
This document records verified risks, the production controls that address them, and the next evidence to collect. It is intentionally operational: a passing build alone is not proof that the browser application is production-ready.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 2026-07-16: production stylesheet boundary
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The production entry renders `AppV2` exclusively. V2 pages do not import Semi UI components, so loading the legacy `global.css` from `main.tsx` made every route download and parse the complete legacy Semi theme and thousands of unreachable V1 rules. The entry now imports only `v2/styles/v2.css`; the legacy stylesheet remains available to the explicit `test:legacy` compatibility suite but cannot enter the V2 production bundle. `productionEntry.test.ts` protects this boundary. The verified production CSS fell from 435.20 kB / 53.50 kB gzip to 168.91 kB / 27.72 kB gzip, and the Semi theme Sass deprecation warnings disappeared from the build.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The default `test` command is now the production V2 suite. The old `App.tsx` integration test remains runnable as `test:legacy`, and `test:all` is retained for combined audits. This separation makes deprecation and jsdom navigation warnings from the retired Semi UI shell visible without allowing them to hide regressions in the production application. The 2026-07-16 baseline is 139/139 passing production tests and 154/168 passing legacy assertions; the 14 legacy failures describe retired V1 mileage and hash-route expectations and do not gate V2 deployment.
|
|
|
|
|
|
|
|
|
|
|
|
## 2026-07-15: route continuity and monitor memory
|
|
|
|
## 2026-07-15: route continuity and monitor memory
|
|
|
|
|
|
|
|
|
|
|
|
### Resolved in this round
|
|
|
|
### Resolved in this round
|
|
|
|
@@ -25,8 +31,8 @@ The navigation and progressive-loading direction follows mature observability sy
|
|
|
|
|
|
|
|
|
|
|
|
1. Capture a Chrome heap profile across at least 50 `monitor -> history -> statistics -> tracks` cycles and inspect retained AMap objects and detached DOM nodes.
|
|
|
|
1. Capture a Chrome heap profile across at least 50 `monitor -> history -> statistics -> tracks` cycles and inspect retained AMap objects and detached DOM nodes.
|
|
|
|
2. Bound or explicitly evict other high-cardinality query families, especially arbitrary history windows and track playback ranges.
|
|
|
|
2. Bound or explicitly evict other high-cardinality query families, especially arbitrary history windows and track playback ranges.
|
|
|
|
3. Retire or migrate the legacy `App.tsx` integration suite so production V2 regressions and obsolete legacy UI expectations are reported separately.
|
|
|
|
3. Retire or migrate the remaining legacy `App.tsx` integration suite after its compatibility coverage is replaced in V2.
|
|
|
|
4. Reduce the shared CSS and Semi UI payload; preserve ExcelJS as an action-only dynamic import and consider moving large workbook generation off the main thread.
|
|
|
|
4. Preserve ExcelJS as an action-only dynamic import and consider moving large workbook generation off the main thread.
|
|
|
|
5. Add an automated release smoke that reads the previous `.release-assets` manifest and asserts every listed compatibility asset returns HTTP 200.
|
|
|
|
5. Add an automated release smoke that reads the previous `.release-assets` manifest and asserts every listed compatibility asset returns HTTP 200.
|
|
|
|
|
|
|
|
|
|
|
|
## 2026-07-15: query memory and vehicle-count semantics
|
|
|
|
## 2026-07-15: query memory and vehicle-count semantics
|
|
|
|
|