S00-002: Approve the pinned UI stack after independent clean build checks
Changes: Accept ADR 0001 for the bounded React/TypeScript/Vite and Node/npm choice; record independent security findings and update S00-002 handoff. Preserve browser interaction and release/interoperability limits. Validation: Fresh-cache npm ci and strict npm run build passed on Node 24.21.0/npm 11.19.0; lock and artifact SHA256 matched executor evidence. Verified exact pins, 67 locked license/integrity entries and installed runtime license notices. HTTP preview matched built HTML/JS; make check passed 72 tooling tests; scoped diff and whitespace checked. No DOM interaction, vulnerability/provenance or product readiness acceptance is claimed. Task: S00-002 Agent: auto-security-bd73f4f80779 Role: security Action: review Status: done Task title: Выбрать framework и build runtime
This commit is contained in:
1 parent
e4defcd371
commit
f12a71df49
8 files changed
+71
-11
No files matched your search
@@ -1,10 +1,10 @@
|
||||
# ADR 0001: Framework and build runtime for Luma Web
|
||||
|
||||
- Status: proposed — awaits independent security review of S00-002.
|
||||
- Status: accepted — independent security review of S00-002; evidence: `state/evidence/S00-002-review.md`.
|
||||
- Task / requirement: S00-002 / NFR-007.
|
||||
- Date: 2026-10-15.
|
||||
- Decision owner: auto-orchestrator-68a05c587e33 (orchestrator).
|
||||
- Reviewer: assigned security role; acceptance and reviewer ID are not yet recorded.
|
||||
- Reviewer: auto-security-bd73f4f80779 (security), 2026-10-15.
|
||||
|
||||
## Context and required capabilities
|
||||
|
||||
@@ -39,7 +39,7 @@ Sources:
|
||||
|
||||
## Decision
|
||||
|
||||
Propose React 19.3.1 / React DOM 19.3.1, TypeScript 7.0.2 and Vite 8.3.4, built with Node 24.21.0 LTS and its bundled npm 11.19.0. Use `.ts` for non-UI typed modules and `.tsx` for React UI; ESM imports and strict TypeScript checking. This is a project engineering choice, not a requirement imposed by the product specification. TSX keeps ordinary typed module imports and UI checks on the same compiler path, fitting the existing domain/application/ports boundaries. Vue is viable; no claim of React performance/security superiority is made.
|
||||
Select React 19.3.1 / React DOM 19.3.1, TypeScript 7.0.2 and Vite 8.3.4, built with Node 24.21.0 LTS and its bundled npm 11.19.0. Use `.ts` for non-UI typed modules and `.tsx` for React UI; ESM imports and strict TypeScript checking. This is a project engineering choice, not a requirement imposed by the product specification. TSX keeps ordinary typed module imports and UI checks on the same compiler path, fitting the existing domain/application/ports boundaries. Vue is viable; no claim of React performance/security superiority is made.
|
||||
|
||||
The six direct dependencies have exact versions, with no range operators. `package-lock.json` version 3 locks transitive/optional platform packages with registry URLs and integrity. `.nvmrc`, exact engines, packageManager and the build runtime guard establish tool pins; `.npmrc` requires strict engines and verified HTTPS. Node and npm are build tools; they are not a browser runtime or a selected push gateway stack. Lockfile updates require explicit review, not automatic floating upgrades.
|
||||
|
||||
@@ -75,3 +75,7 @@ The loopback HTTP dev/preview server serves only this synthetic local UI. It doe
|
||||
After separate acceptance, downstream tasks may create stack-specific `.ts`/`.tsx` modules within their own cards, establish application CI/build and implement reviewed S01 contracts. No other module, plan definition, requirement snapshot or shared contract is changed here. The reviewed registry-access probe is retained unchanged.
|
||||
|
||||
A need for validated older browsers, unavailable native build-host packages, an incompatible required crypto/protocol dependency, or unacceptable measured UI behavior triggers a new bounded ADR/plan change and experiment. Do not replace this stack or introduce plaintext/stub fallbacks silently. A future revision may select Vue after real evidence; the unbuilt candidate is not represented as tested. Reviewer should verify exact pins/lock integrity/license notices, reproduce clean install/build, assess stated limits and record acceptance before consumers treat this ADR as accepted.
|
||||
|
||||
## Independent acceptance
|
||||
|
||||
Security reviewer auto-security-bd73f4f80779 repeated fresh-cache npm ci and strict typecheck/build on Node 24.21.0/npm 11.19.0, verified manifest/lock pins, all 67 locked license/integrity entries and runtime notice texts, and matched executor artifact hashes. Loopback preview served identical HTML/JS; make check passed 72 tooling tests. The bounded stack decision is accepted. DOM interaction was not executed in this review; product browser matrix, interoperability, vulnerability/provenance assessment and release readiness remain outside this acceptance. Review evidence records commands and limits; coordinator owns the review commit.
|
||||
Reference in new issue
Block a user