Skip to content

Commit f08924a

Browse files
Pigbibicodex
andcommitted
integrate raw trusted period bundle verifier
Co-Authored-By: Codex <noreply@openai.com>
1 parent cf0dcaf commit f08924a

3 files changed

Lines changed: 666 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Trusted weekly period bundle A1
2+
3+
This is a pure integration of the merged raw identity contract. It performs no
4+
filesystem, workflow, permissions, Actions, artifact acquisition, upload,
5+
download, rerun, producer, QAR, Pages, legacy, or migration operation.
6+
7+
## Boundary
8+
9+
`build_period_bundle()` and `verify_period_bundle()` accept bounded canonical
10+
raw bytes and plain mappings only. Every call reparses and validates the lock,
11+
source snapshot, trusted identity bytes, manifest, and artifact evidence. No
12+
Python object identity, frozen dataclass, singleton, capability, or registry is
13+
trusted.
14+
15+
The manifest is independently parsed first. Its exact key set, duplicate keys,
16+
types, canonical bytes, fixed repository/workflow path/ref, runtime reviewed
17+
SHA, run/attempt, artifact metadata, and lock/snapshot hashes are checked before
18+
reconstructed expected bytes are compared.
19+
20+
## Full binding
21+
22+
The bundle binds:
23+
24+
- canonical `pert.weekly.period_lock.v1` bytes and SHA-256;
25+
- canonical `pert.weekly.input_snapshot.v1` bytes and source metadata;
26+
- fixed `pert.trusted_workflow_identity.v1` repository/path/ref and explicit
27+
reviewed workflow SHA;
28+
- original source run id and attempt 1;
29+
- artifact name, id, digest, and retention;
30+
- canonical manifest bytes and all reconstructed expected values.
31+
32+
Replacement, tampering, missing/unknown/duplicate/noncanonical data, malformed
33+
mapping objects, unsafe integers, oversized/deep snapshot data, wrong identity,
34+
or artifact mismatch fail closed with sanitized `TrustedPeriodBundleError`
35+
codes. Expected contract exceptions are sanitized; system/programming
36+
exceptions are not broadly caught.
37+
38+
The next privileged workflow integration remains a separate step and must use
39+
trusted default-branch code. It is not part of A1.

0 commit comments

Comments
 (0)