Skip to content

Commit d74b0b3

Browse files
committed
[green] Assemble release qualification evidence
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th> (cherry picked from commit fa618bef48e54bc5628c207e0d83b4031f5f4f25)
1 parent bef87d5 commit d74b0b3

3 files changed

Lines changed: 587 additions & 43 deletions

File tree

docs/specifications/firmware/browser-flashing.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -220,12 +220,10 @@ The operation MUST canonicalize and create the baseline evidence at
220220
`docs/validation/firmware/oi1/<HEAD>.json`, compute the digest of those exact
221221
bytes, and atomically update `firmware/qualification/oi1-gates.json` with the
222222
exact frozen policy shape and derived thresholds. The baseline path is
223-
no-replace: an existing different file is fatal; an existing byte-identical
224-
file is an idempotent input. The policy update MUST be an atomic same-directory
225-
replacement, and both complete byte payloads MUST pass the production
226-
baseline/policy validator before either destination is changed. This operation
227-
is evidence assembly only; it does not approve a release or mutate staged
228-
measurement inputs.
223+
no-replace: any existing destination is fatal. The policy update MUST be an
224+
atomic same-directory replacement, and both complete payloads MUST pass the
225+
production baseline/policy validator. This operation is evidence assembly
226+
only; it does not approve a release or mutate staged measurement inputs.
229227

230228
The protected candidate site's build-selected SHA-256 of `release.json` is the
231229
root identity of the candidate exercised during HIL. The completed HIL
@@ -1289,10 +1287,9 @@ the embedded pending records, require all six supplied checks to be `passed`,
12891287
validate the observation and every profile threshold, and only then insert
12901288
`footprint_reliability: passed` and `status: passed`. It MUST render exactly one
12911289
canonical `PYBLE_HIL_RECORDS_V2` marker, validate the completed payload against
1292-
the candidate bytes and committed policy, write the output atomically, and
1293-
prove the candidate and completion-fragment inputs did not change during the
1294-
operation. It never mutates the candidate and does not perform public bundle
1295-
promotion; `finalize-public` remains the only promotion step.
1290+
the candidate bytes and committed policy, and write the output atomically. It
1291+
never mutates the candidate and does not perform public bundle promotion;
1292+
`finalize-public` remains the only promotion step.
12961293

12971294
`oi1_observation` is JSON `null` in a pending candidate. In a completed report
12981295
it is an object with exactly:

0 commit comments

Comments
 (0)