You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0eb772c
Browse filesBrowse the repository at this point in the historyBrowse files
Record qualified website and automatic Pages publication evidence
Preserve immutable exact-H qualification, both automatic triggers, provider and live report provenance. Close only website requirements and retain historical failures and independent database gates.
Copy file name to clipboardExpand all lines: docs/ADR/ADR-040-static-site-threejs-evidence.md
+11-3Lines changed: 11 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# ADR-040: Static product website, conceptual Three.js and qualified evidence
2
2
3
-
Status: Accepted; implementation and GitHub site qualification in progress. Date: 2026-10-02. Owner: website lead. Related: REQ-BC-011–018 / AC-BC-011–018, [BenchmarkComparisons](../Features/BenchmarkComparisons.md), [acceptance](../../site-design.acceptance.md), [plan](../../site-design.plan.md), ADR-021/032/034.
3
+
Status: Implemented for the website scope; exact-H GitHub qualification, automatic publication and strongest final review complete. Date: 2026-10-02. Owner: website lead. Related: REQ-BC-011–018 / AC-BC-011–018, [BenchmarkComparisons](../Features/BenchmarkComparisons.md), [acceptance](../../site-design.acceptance.md), [plan](../../site-design.plan.md), ADR-021/032/034.
4
4
5
5
## Context and decision
6
6
@@ -22,7 +22,7 @@ flowchart LR
22
22
23
23
## Dependency, renderer and preservation contract
24
24
25
-
Pin Three.js0.186.1 MIT from [official npm distribution](https://registry.npmjs.org/three/-/three-0.186.1.tgz), source commit9b4a2ac29c63ccb43fd51c5661f2f873ac2c39b8. Expected SHA512 integrity: `sha512-blFeqb49wRCSGUGj7gtpfnSGHy2lwDk94RhUmS1c/hTby70kvChbWpkJ4Pm1390LqzzvTmzgXKHPEafJwCb8jA==`. Vendor only original build/three.webgpu.js, build/three.core.js and LICENSE under site/Features/BenchmarkComparisons/vendor/three/0.186.1, with file hashes, bytes and gzip sizes in a manifest. No package/framework/global installation or browser CDN. Preserve unmodified distribution bytes and license; this narrowly documented exception to authored LOC/type/function/literal limits applies only to those third-party files. The shared workspace additionally records upstream `space-before-tab` handling for the pinned vendor files in `.gitattributes`; this separate attributes integration is not included in the isolated website validation candidate, which retains its parent attributes. Preserve the hash-verified distribution bytes; authored files receive ordinary checks. Repository-authored wrappers obey all limits. Upgrade replaces the versioned directory coherently after full hash/browser/CI review; no second legacy renderer is retained.
25
+
Pin Three.js0.186.1 MIT from [official npm distribution](https://registry.npmjs.org/three/-/three-0.186.1.tgz), source commit9b4a2ac29c63ccb43fd51c5661f2f873ac2c39b8. Expected SHA512 integrity: `sha512-blFeqb49wRCSGUGj7gtpfnSGHy2lwDk94RhUmS1c/hTby70kvChbWpkJ4Pm1390LqzzvTmzgXKHPEafJwCb8jA==`. Vendor only original build/three.webgpu.js, build/three.core.js and LICENSE under site/Features/BenchmarkComparisons/vendor/three/0.186.1, with file hashes, bytes and gzip sizes in a manifest. No package/framework/global installation or browser CDN. Preserve unmodified distribution bytes and license; this narrowly documented exception to authored LOC/type/function/literal limits applies only to those third-party files. The shared workspace additionally records upstream `space-before-tab` handling for the pinned vendor files in `.gitattributes`. Earlier isolated A–E validation candidates retained their parent attributes; exact H includes the separately reviewed attributes integration, preserving all original vendor bytes. Preserve the hash-verified distribution bytes; authored files receive ordinary checks. Repository-authored wrappers obey all limits. Upgrade replaces the versioned directory coherently after full hash/browser/CI review; no second legacy renderer is retained.
26
26
27
27
Use WebGPURenderer, await init and node materials. The [native renderer](https://threejs.org/manual/pages/webgpurenderer) selects WebGPU or its own WebGL2 backend; no custom compatibility fallback. Use public onDeviceLost/onError from the [pinned renderer source](https://raw.githubusercontent.com/mrdoob/three.js/9b4a2ac29c63ccb43fd51c5661f2f873ac2c39b8/src/renderers/common/Renderer.js), not private backend/device access. Intentional device.destroy is ignored by the [pinned backend loss handler](https://raw.githubusercontent.com/mrdoob/three.js/9b4a2ac29c63ccb43fd51c5661f2f873ac2c39b8/src/renderers/webgpu/WebGPUBackend.js); it cannot be presented as actual public loss qualification.
28
28
@@ -113,7 +113,7 @@ This does not broaden website delivery into product/RF3 coverage qualification.
113
113
114
114
Migrate site/index.html/app.js/styles.css/measurements.mjs and scripts/measurements.test.mjs to the accepted feature/template/TUnit surfaces as one reviewed change; keep scripts/build.mjs as a thin executable composition entry and favicon as a shared asset. Add SiteTests to the solution, architecture and current governance inventory without changing existing policy text. ADR-032 old layout debt is closed only for the migrated site, not for unrelated backend/tests.
115
115
116
-
Benefits: a clear product identity, same-origin bounded graphics, accessible evidence and an independently runnable site qualification gate. Costs: a lazy vendor payload recorded separately and another centrally governed TUnit project; browser/device review is still necessary. Rollback restores the prior coherent asset/build set and evidence access, retains immutable measured artifacts, and never weakens policy/tests or mixes incompatible module versions. Current Core, quality/coverage, schema3/cluster comparisons, DNS and publication remain distinct pending gates.
116
+
Benefits: a clear product identity, same-origin bounded graphics, accessible evidence and an independently runnable site qualification gate. Costs: a lazy vendor payload recorded separately and another centrally governed TUnit project; browser/device review is still necessary. Rollback restores the prior coherent asset/build set and evidence access, retains immutable measured artifacts, and never weakens policy/tests or mixes incompatible module versions. At this historical design stage, Core, quality/coverage, schema3/cluster comparisons, DNS and publication remained distinct pending gates; the scoped website closure below records the fulfilled website qualification and publication.
117
117
118
118
### Native equal-span function contract
119
119
@@ -437,3 +437,11 @@ tracked in site-publication.plan.md. No public API/data/runtime/dependency
437
437
migration. Rollback restores the coherent parser/reader/tests and previous verified
438
438
public output, retaining failed evidence; this ADR remains Accepted until actual
439
439
publication and complete acceptance evidence exist.
440
+
441
+
## Scoped implementation evidence, 2026-10-02
442
+
443
+
REQ/AC-BC-011–018/024/025/027/028 are implemented and qualified at exact H `6a82c86d0113270335368bbfbff0080ea1c1800a`, with strongest TASK-SITE-REVIEW-007 documentation/evidence join COMPLETE. [Canonical status and immutable receipts](../implementation/site-design.json) bind complete GitHub validation37011817610, automatic push37013009381 and workflow_run37014111869 to118+70 non-skipped tests, unchanged native and JavaScript source/critical gates, actual predeploy tuple, original12/final9 raw files and exact35-file Pages output. All previously failed attempts remain retained.
444
+
445
+
Both automatic publications succeeded at https://www.keyload.cloud/; current provider evidence confirms the authorized www/HTTPS update and live apex301 redirect. Live HTML/publication/catalog/raw-report bytes match qualified output. Manual desktop/mobile/WebGPU observations supplement the real GitHub Chrome qualification and preserve the narrower physical-device-loss exception. Schema3/advanced benchmarks, database/RF3/endurance/power-loss qualification and production readiness are separate; their status is not changed by this ADR closure. DNS was not modified.
446
+
447
+
Implementation ownership and ordered stages above remain the executed contract. Rollback retains the coherent prior verified website and immutable evidence; it never restores a publisher bypass or suppresses tests/freshness. This immutable H as-of record may be delivered in one docs-only descendant without attributing H tests to that descendant; subsequent automatic qualification remains source-accurate in Actions.
| REQ-BC-014: unchanged historical arithmetic and controls | AC-BC-014: all6 scenarios/11 metrics/profile/repetition/log/whiskers/table/downloads match independent oracle over authentic successful-CI reports |Planned SiteMeasurementTests/SiteMeasurementOracle using actual JS child process; real browser control review |
118
-
| REQ-BC-015: atomic validated report state | AC-BC-015: invalid/path/hash/rapid/error loads never mix data/provenance/downloads; abort and stale generation fencing |Planned SiteEvidenceValidationTests over real production validators and controlled corrupt inputs; required rapid/error browser review |
119
-
| REQ-BC-016: canonical complete asset/build migration | AC-BC-016: feature-owned assets, exact verified vendor/raw bytes and clean isolated output; authored JS≤40KiB gzip/CSS≤20KiB gzip; vendor lazy and separately recorded |Planned SiteBuildTests and source/static/vendor/size/raw-byte checks |
120
-
| REQ-BC-017: GitHub TUnit site qualification | AC-BC-017: independent centrally pinned TUnit/MTP/net10 suite, real bounded Node probe, preserved old edge intentions; only exact GitHub run qualifies |Planned KeyLoad.SiteTests full suite in GitHub; explicit visual/lifecycle review exception; numeric coverage remains pending|
121
-
| REQ-BC-018: honest source/evidence/delivery | AC-BC-018: site/measured revisions, successful run and hashes distinct; no historical→current/schema3/publication/CLI-model inference |Planned SiteEvidenceValidationTests and strongest complete source/evidence review |
114
+
| REQ-BC-011: product-first responsive design | AC-BC-011: purpose/status/navigation visible at1440/768/390/320px, no page overflow or clipped controls; labelled table scroll only |Qualified H: SiteBuildTests plus explicit real-browser desktop/mobile visual review |
| REQ-BC-014: unchanged historical arithmetic and controls | AC-BC-014: all6 scenarios/11 metrics/profile/repetition/log/whiskers/table/downloads match independent oracle over authentic successful-CI reports |Qualified H: SiteMeasurementTests/SiteMeasurementOracle using actual JS child process; real browser control review |
118
+
| REQ-BC-015: atomic validated report state | AC-BC-015: invalid/path/hash/rapid/error loads never mix data/provenance/downloads; abort and stale generation fencing |Qualified H: SiteEvidenceValidationTests over real production validators and controlled corrupt inputs; required rapid/error browser review |
119
+
| REQ-BC-016: canonical complete asset/build migration | AC-BC-016: feature-owned assets, exact verified vendor/raw bytes and clean isolated output; authored JS≤40KiB gzip/CSS≤20KiB gzip; vendor lazy and separately recorded |Qualified H: SiteBuildTests and source/static/vendor/size/raw-byte checks |
120
+
| REQ-BC-017: GitHub TUnit site qualification | AC-BC-017: independent centrally pinned TUnit/MTP/net10 suite, real bounded Node probe, preserved old edge intentions; only exact GitHub run qualifies |Qualified H: KeyLoad.SiteTests full suite in GitHub; explicit visual/lifecycle review exception; numeric coverage is recorded in the scoped website closure below|
121
+
| REQ-BC-018: honest source/evidence/delivery | AC-BC-018: site/measured revisions, successful run and hashes distinct; no historical→current/schema3/publication/CLI-model inference |Qualified H: SiteEvidenceValidationTests and strongest complete source/evidence review |
122
122
123
123
Canonical site files, mounts, TUnit project, limits, task ownership and terminal joins are frozen in ADR-040 and the site plan before coding. Positive flow: read product→inspect actual report→download raw data. Negative/error: corrupt/unavailable report clears all dependent state; GPU failure stops decoration only. Edge: rapid profile changes cannot reintroduce stale data; reduced motion and narrow/no-JS views remain readable. No source/module name is a passing test or public publication result.
124
124
@@ -176,7 +176,8 @@ spec here. Backend/contracts/database persistence N/A: no runtime/data API chang
176
176
Actors, public receipt schema, positive/negative/edge/error flows, tests, exact
177
177
worker ownership and terminal joins are frozen in acceptance/ADR/plan before
178
178
writes. Pure controlled metadata/ZIP tests are not fake API transport evidence.
179
-
Real workflow/provider/live evidence remains mandatory and currently pending.
179
+
Real workflow/provider/live evidence remains mandatory and is fulfilled for exact
180
+
H by the scoped website closure below.
180
181
181
182
AC-BC-024/025 additionally retains actual CDP blank/no-script empty deltas with
182
183
their raw hashes and zero line/branch contribution. Each session must independently
@@ -197,7 +198,9 @@ module80% line/70% branch and each of12 critical diagnostic pipelines90% line
197
198
coverage from integer counts. Missing, malformed, ambiguous, changed or empty
198
199
evidence fails. Retain raw XML, exact source/runtime hashes, derived report and
199
200
pure gate boundary/error regressions. This establishes only the first analyzer
200
-
module baseline; broader AC-CQ-009, RF3 and no-decrease qualification stay pending.
201
+
module baseline; broader AC-CQ-009, RF3 and broader repository no-decrease
202
+
qualification stay pending. Mandatory website no-decrease coverage is retained in
203
+
the scoped closure below.
201
204
202
205
Concurrent TimeSeries already owns stable REQ/AC-BC-026. The analyzer substage's
203
206
initial draft collision was corrected to BC-027 before candidate delivery;
@@ -225,3 +228,11 @@ artifacts cannot refresh the site. Its three profile folders and measurement-ste
225
228
names still match the publication transport contract. The current schema2 queue
226
229
phase→PointRead control regression is TASK032 under REQ/AC-BC-014/025; complete
227
230
real Chrome evidence is required, with every existing oracle and numeric gate.
231
+
232
+
## Qualified website delivery, 2026-10-02
233
+
234
+
**Website scope only: REQ/AC-BC-011–018/024/025/027/028.** Exact H `6a82c86d0113270335368bbfbff0080ea1c1800a` passed complete GitHub validation37011817610 and both separate automatic Pages publications: site-path push37013009381 and producer-completion workflow_run37014111869. Full118 analyzer and70 site tests pass without skips, together with all required native/JavaScript thresholds and source inventories. [Canonical immutable evidence](../implementation/site-design.json), [design closure](../../site-design.plan.md) and [publication closure](../../site-publication.plan.md) map criteria, tasks, exact artifacts and actual provider/live proof; strongest TASK-SITE-REVIEW-007 documentation/evidence review is COMPLETE.
235
+
236
+
The live responsive product page includes the bounded independent Three.js scene, accessible charts/tables, workload/metric/repetition controls and exact JSON/CSV/Markdown downloads. Current published measurements are the authentic successful comparison36926803549 at9c570f8c33a7a9667507a8e1c0ca68860de3be45; failed current producer37013008931 supplies no new results. Website/control/measured revisions and run/job/artifact hashes remain distinct. Every performance number is derived from these raw reports; unsupported values stay unavailable.
237
+
238
+
Pages at https://www.keyload.cloud/ uses enforced HTTPS; live apex redirects301 to www. Both automatic triggers, current-main/evidence freshness, immutable Pages35-file output and all9 raw-report bytes were verified. Manual mobile/desktop/WebGPU review complements real Chrome qualification; physical GPU-loss qualification remains explicitly unexercised. The feature's global status, BC001–010/019–023/026, schema3/advanced profiles and database/endurance/readiness qualification remain unchanged.
0 commit comments