Skip to content

Commit d26a4b3

Browse files
committed
[docs] Define preserved release revalidation
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th> (cherry picked from commit f91c991f88a2b2054cece7efc4f20c2a04dd38be)
1 parent c4ff318 commit d26a4b3

2 files changed

Lines changed: 18 additions & 8 deletions

File tree

‎docs/specifications/firmware/browser-flashing.md‎

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1423,8 +1423,14 @@ Once a fully qualified public release is active, later website-only
14231423
deployments MUST carry its exact selector and immutable firmware tree forward
14241424
through authenticated retrieval and the canonical staged-release validation
14251425
path. Each website release with an active installer retains an unserved
1426-
canonical selector marker for this purpose. A deployment MUST fail before the
1427-
build if that state cannot be retrieved or validated. Transitioning an active
1428-
public installer to unavailable is a separate reviewed operation requiring an
1429-
explicit truth-valued disable flag and a production smoke test of the disabled
1430-
state; absence of staging input alone is never authorization to disable it.
1426+
canonical selector marker for this purpose. The preserved-public validator
1427+
MUST repeat every self-contained public bundle, schema, HIL, profile, artifact,
1428+
path, size, digest, descriptor, and annotated-tag check. It MUST prove exact
1429+
selected-byte continuity and MUST NOT accept a different version or byte. It
1430+
does not repeat the source/build license audit whose passing evidence was
1431+
required for the original activation of those same immutable bytes. A
1432+
deployment MUST fail before the build if that state cannot be retrieved or
1433+
validated. Transitioning an active public installer to unavailable is a
1434+
separate reviewed operation requiring an explicit truth-valued disable flag
1435+
and a production smoke test of the disabled state; absence of staging input
1436+
alone is never authorization to disable it.

‎docs/specifications/website.md‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,9 +266,13 @@ After the first qualified public installer is activated, an ordinary
266266
website-only deployment MUST preserve that exact immutable selected release.
267267
The deployment obtains the selector and firmware tree from the current managed
268268
release over the authenticated deployment transport, validates them through
269-
the same staged-release and checksum gates, and embeds the selector at build
270-
time. It MUST NOT infer availability from the mere presence of a firmware
271-
directory or accept a caller-supplied selector.
269+
the preserved-public staged-release and checksum gates, and embeds the selector
270+
at build time. That carry-forward gate repeats the self-contained bundle,
271+
schema, HIL, profile, artifact, path, size, digest, descriptor, and annotated-tag
272+
checks. It does not repeat the source/build license audit because the exact
273+
immutable bytes already passed that audit during their original activation.
274+
It MUST NOT infer availability from the mere presence of a firmware directory
275+
or accept a caller-supplied selector.
272276

273277
Each release carrying an active selector MUST retain a hidden, unserved copy of
274278
the canonically validated selector as deployment state. A replacement staged

0 commit comments

Comments
 (0)