Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
4d41d4c
fix(Codex): export only frozen bridge sources and attest executed ove…
HMarcusWH Oct 12, 2026
2746853
fix(ONLINE-4A): prove state-fault effects, complete observation windo…
HMarcusWH Oct 12, 2026
b72bb91
fix(ONLINE-4B): enforce authoritative HTTP chess, durable intents and…
HMarcusWH Oct 12, 2026
646b64d
fix(RELEASE-1): preserve smoke exceptions, authenticate bridge lock a…
HMarcusWH Oct 12, 2026
72d881a
fix(RELEASE-1): bind OCI attestations and verify expanded rootfs diff…
HMarcusWH Oct 12, 2026
c8392e3
test(Codex): add destructive faults for recovery and release admission
HMarcusWH Oct 12, 2026
c6f384f
test(RELEASE-1): independently verify OCI layers and attestation subj…
HMarcusWH Oct 12, 2026
3204997
test(Codex): prove smoke exception, workflow and bridge-source bounda…
HMarcusWH Oct 12, 2026
6b7a043
ci(Codex): retain independent verdicts after failed fault experiments…
HMarcusWH Oct 12, 2026
27bcbe1
test(ONLINE-4A): accept empty chunk line while proving fenced HTTP re…
HMarcusWH Oct 12, 2026
da7b516
docs(Codex): ledger all 18 late findings and closure acceptance rules
HMarcusWH Oct 12, 2026
e23461d
fix(source-export): copy exact Git blob bytes, not filtered checkout …
HMarcusWH Oct 12, 2026
ba4d282
test(source-export): prove CRLF-smudged checkout exports canonical in…
HMarcusWH Oct 12, 2026
9f160cc
fix(RELEASE-1): name offline OCI export and retain bounded attestatio…
HMarcusWH Oct 13, 2026
69001b2
fix(RELEASE-1): require application-manifest attestation subjects and…
HMarcusWH Oct 13, 2026
a4d6102
test(RELEASE-1): reject layer-only subjects, attestation metadata and…
HMarcusWH Oct 13, 2026
2b8da7a
fix(RELEASE-1): preserve request-ID-correlated smoke trace and reject…
HMarcusWH Oct 13, 2026
f9ff1f0
feat(RELEASE-1): independently reconstruct every packaged HTTP chess …
HMarcusWH Oct 13, 2026
d9b7b6c
fix(RELEASE-1): require independent packaged-chess verification befor…
HMarcusWH Oct 13, 2026
2235270
test(RELEASE-1): destructive full-game, lost-ACK, 429 and illegal-HTT…
HMarcusWH Oct 13, 2026
03a19e8
test(RELEASE-1): verify source-correlated HTTP IDs and OCI export dia…
HMarcusWH Oct 13, 2026
85d5598
fix(RELEASE-1): bind aggregate source claims to raw OCI archive SHA-256
HMarcusWH Oct 13, 2026
cf57ee2
docs(RELEASE-1): map Codex follow-up repairs to strict offline eviden…
HMarcusWH Oct 13, 2026
0507988
test(RELEASE-1): prove late successful-game exception is not suppress…
HMarcusWH Oct 13, 2026
60b9f4e
fix(RELEASE-1): verify exact OCI export descriptor graph and SLSA ide…
HMarcusWH Oct 13, 2026
c79519a
test(RELEASE-1): exercise nested BuildKit indexes, descriptor sizes a…
HMarcusWH Oct 13, 2026
10aeea1
fix(RELEASE-1): verify persisted SQLite and request-bound lost-ACK ev…
HMarcusWH Oct 13, 2026
210674e
test(RELEASE-1): correlate actual lost-ACK and unrelated responses
HMarcusWH Oct 13, 2026
07f3276
test(RELEASE-1): qualify actual SQLite snapshots, live WAL and destru…
HMarcusWH Oct 13, 2026
799723a
docs(RELEASE-1): record six Codex repairs and correct size-falsifier …
HMarcusWH Oct 13, 2026
d75f10e
fix(RELEASE-1): reject uncorrelated HTTP terminal traces and invalid …
HMarcusWH Oct 13, 2026
36d6422
fix(RELEASE-1): bind OCI application platform and attestation subject…
HMarcusWH Oct 13, 2026
511d101
fix(RELEASE-1): require move-endpoint unknown ACK for R02 recovery
HMarcusWH Oct 13, 2026
5d84438
fix(RELEASE-1): require client-observed 429 response and persistent c…
HMarcusWH Oct 13, 2026
c844697
fix(RELEASE-1): bound signed Ubuntu snapshot retries and falsify ille…
HMarcusWH Oct 13, 2026
44b6b29
docs(RELEASE-1): record four Codex P2 closures and bound diagnostic e…
HMarcusWH Oct 13, 2026
4cab42a
test(RELEASE-1): inspect active Docker instructions and fail closed o…
HMarcusWH Oct 13, 2026
f0f6421
fix(RELEASE-1): validate stopped SQLite and WAL via private read-only…
HMarcusWH Oct 14, 2026
a651c1f
fix(RELEASE-1): verify nested OCI platform chain and full SPDX docume…
HMarcusWH Oct 14, 2026
11b4c6d
fix(RELEASE-1): bind R10 finite cooldown to durable event and guard c…
HMarcusWH Oct 14, 2026
ec66042
docs(RELEASE-1): record WAL-safe host and P2 evidence requirements
HMarcusWH Oct 14, 2026
55d458c
test(RELEASE-1): falsify cooldown bounds even with matching durable e…
HMarcusWH Oct 14, 2026
aaa63f7
test(RELEASE-1): accept precise SPDX refusal diagnostic in malformed-…
HMarcusWH Oct 14, 2026
56b4736
fix(RELEASE-1): validate SPDX package/file schemas, namespace and saf…
HMarcusWH Oct 14, 2026
ff26032
fix(RELEASE-1): enforce OCI platform requirements and embedded docume…
HMarcusWH Oct 14, 2026
d975462
fix(RELEASE-1): anchor R10 supervisor and verifier to completed targe…
HMarcusWH Oct 14, 2026
c845a71
build(RELEASE-1): pin SPDX scanner OCI index and minimize retained me…
HMarcusWH Oct 14, 2026
e90fc93
docs(RELEASE-1): record final P2 repairs, source boundaries and reten…
HMarcusWH Oct 14, 2026
e66330c
fix(RELEASE-1): validate SPDX locations and canonical versioned check…
HMarcusWH Oct 14, 2026
f5aa02e
fix(RELEASE-1): bind OCI config platform requirements to selected run…
HMarcusWH Oct 14, 2026
dbae085
fix(RELEASE-1): bound signed pinned-snapshot APT acquisition and fals…
HMarcusWH Oct 14, 2026
0b4858e
test(RELEASE-1): preflight exact Ubuntu snapshot before costly builds
HMarcusWH Oct 14, 2026
ac877c7
fix(RELEASE-1): require durable SQLite and precise downstream HTTP/OC…
HMarcusWH Oct 14, 2026
900c876
fix(RELEASE-1): sanitize OCI diagnostic subjects and annotations
HMarcusWH Oct 14, 2026
39bb446
test(RELEASE-1): independently qualify pinned SBOM scanner before eng…
HMarcusWH Oct 14, 2026
f2e067e
docs(RELEASE-1): account for upstream/downstream validation, scanner …
HMarcusWH Oct 14, 2026
e2a55d9
fix(RELEASE-1): bound complete signed snapshot preflight and report f…
HMarcusWH Oct 17, 2026
c126193
fix(RELEASE-1): retry APT only when every acquisition failure is tran…
HMarcusWH Oct 17, 2026
364b6f2
fix(RELEASE-1): share exact GET/POST request admission between eviden…
HMarcusWH Oct 17, 2026
fda6ecd
fix(ONLINE-4): tie actual move URL to canonical traced UCI across v1/v2
HMarcusWH Oct 17, 2026
396df13
fix(RELEASE-1): validate SPDX percent encoding and URI authority befo…
HMarcusWH Oct 17, 2026
442ea6b
fix(RELEASE-1): allowlist retained OCI statement strings and failure …
HMarcusWH Oct 17, 2026
a471677
docs(RELEASE-1): reconcile latest source-linked P2 fixes and CI stop …
HMarcusWH Oct 17, 2026
43d76fe
test(RELEASE-1): align retry and rejection assertions with strict sha…
HMarcusWH Oct 17, 2026
8d4a378
fix(RELEASE-1): apply strict shared URI grammar to SPDX namespace and…
HMarcusWH Oct 17, 2026
c1d528f
fix(RELEASE-1): preserve canonical full HTTP request-target semantics…
HMarcusWH Oct 17, 2026
3ce1eb3
fix(ONLINE-4A): bind all move POST audit records to request-correlate…
HMarcusWH Oct 17, 2026
e218def
fix(RELEASE-1): handle malformed OCI diagnostic objects without leaki…
HMarcusWH Oct 17, 2026
c337268
fix(RELEASE-1): bind OCI digest to same verified inode and refuse arc…
HMarcusWH Oct 17, 2026
4826ad0
fix(RELEASE-1): classify contextual HTTP status without mistaking HTT…
HMarcusWH Oct 17, 2026
0bebecc
test(RELEASE-1): harden URI controls and real request-correlation fix…
HMarcusWH Oct 17, 2026
d31b46f
docs(RELEASE-1): reconcile six reviewed evidence boundaries and final…
HMarcusWH Oct 17, 2026
66e56b8
fix(RELEASE-1): retain valid singleton in-toto statements in safe OCI…
HMarcusWH Oct 17, 2026
22c75d9
fix(RELEASE-1): load source-attested HTTP policy by file in standalon…
HMarcusWH Oct 17, 2026
1c778b7
fix(ONLINE-4): attest executable HTTP request-target policy in both e…
HMarcusWH Oct 17, 2026
deddc4e
fix(ONLINE-4): attest original wire request targets before HTTP parse…
HMarcusWH Oct 17, 2026
2f1f97b
fix(RELEASE-1): reject explicitly null in-toto statement wrappers
HMarcusWH Oct 17, 2026
600c214
fix(RELEASE-1): require RFC3986 ASCII URI grammar for SPDX and SLSA i…
HMarcusWH Oct 17, 2026
1e4ebbf
fix(RELEASE-1): preserve literal RFC3986 reserved delimiters in stric…
HMarcusWH Oct 17, 2026
101431f
fix(ONLINE-4A): replay every HTTP move at receipt ply and classify pr…
HMarcusWH Oct 17, 2026
ad93481
test(ONLINE-4B): bind every guarded move request ID to server trace a…
HMarcusWH Oct 17, 2026
64b6c15
docs(RELEASE-1): reconcile second Codex wave, negative tests and exac…
HMarcusWH Oct 17, 2026
376b4c3
test(RELEASE-1): reproduce standalone CLI without masking user-site d…
HMarcusWH Oct 17, 2026
b4791ca
fix(RELEASE-1): align scanner-only in-toto wrapper validation with st…
HMarcusWH Oct 17, 2026
4153243
docs(RELEASE-1): align scanner preflight with strict in-toto wrapper …
HMarcusWH Oct 17, 2026
6a9f8e7
fix(ONLINE-4A): distinguish unsafe legal retry from invalid server co…
HMarcusWH Oct 17, 2026
c437a61
fix(ONLINE-4B): independently validate original request targets befor…
HMarcusWH Oct 17, 2026
9249b38
fix(RELEASE-1): validate RFC3986 URI path query fragment components s…
HMarcusWH Oct 17, 2026
66a9563
fix(RELEASE-1): validate present SLSA v1/v0.2 optional fields by sche…
HMarcusWH Oct 17, 2026
565787b
fix(ONLINE-4A): classify noncanonical raw HTTP request targets as uns…
HMarcusWH Oct 17, 2026
32b45ba
docs(ONLINE-4 RELEASE-1): reconcile new review and genuine R01 unsafe…
HMarcusWH Oct 17, 2026
37fdf5e
feat(ASSURANCE): define claim contract and enforce transitive source …
HMarcusWH Oct 17, 2026
4ceda5f
feat(ASSURANCE): enforce scenario-bound HTTP response semantics in re…
HMarcusWH Oct 17, 2026
2f98cb0
fix(ASSURANCE): bind committed chess actor to turn and reject unsuppo…
HMarcusWH Oct 17, 2026
b334a07
fix(ASSURANCE): enforce in-toto statement, ResourceDescriptor, time a…
HMarcusWH Oct 17, 2026
697dcf0
feat(ASSURANCE): centralize bounded safe serialization for retained q…
HMarcusWH Oct 17, 2026
def5054
fix(ASSURANCE): close safe serializer dependencies and test nested re…
HMarcusWH Oct 17, 2026
75a44ce
feat(ASSURANCE): enforce claim dependency implications and prevent fa…
HMarcusWH Oct 17, 2026
e6822d6
test(ASSURANCE): falsify source closure, report semantics and release…
HMarcusWH Oct 17, 2026
fa8f457
fix(ASSURANCE): retain synthetic hyphenated case keys in safe reports
HMarcusWH Oct 17, 2026
72a2c5e
fix(ASSURANCE): repair RFC3986 IPvFuture regex and preserve valid URI…
HMarcusWH Oct 17, 2026
8a6b422
test(ASSURANCE): expect redacted invalid UCI in retained unsafe evidence
HMarcusWH Oct 17, 2026
d4551d3
test(ASSURANCE): cover mutated Git sources, unknown in-toto siblings …
HMarcusWH Oct 17, 2026
e42a141
fix(ASSURANCE): close dynamic input inventory and trigger recovery CI…
HMarcusWH Oct 17, 2026
3aefec4
fix(RELEASE-1): support RFC3986 opaque pkg URIs in SLSA ResourceDescr…
HMarcusWH Oct 17, 2026
7b98898
fix(ASSURANCE): correlate observed move statuses with scenario witnesses
HMarcusWH Oct 17, 2026
8927e55
fix(ASSURANCE): enforce OCI archive, layer, SPDX and SLSA prerequisit…
HMarcusWH Oct 17, 2026
22e06d5
fix(ASSURANCE): use fixed safe-report enums rather than string-shape …
HMarcusWH Oct 17, 2026
6e4b936
fix(RELEASE-1): classify standard transient APT install summary witho…
HMarcusWH Oct 17, 2026
3643653
fix(RELEASE-1): validate mandatory SPDX copyright and conditional pac…
HMarcusWH Oct 17, 2026
1bfec6d
test(ASSURANCE): reject fault-targeted HTTP 200 overrides while prese…
HMarcusWH Oct 17, 2026
39252ca
fix(RELEASE-1): validate every scanner in-toto subject and predicate,…
HMarcusWH Oct 17, 2026
e5bcee3
docs(ASSURANCE): reconcile nested Codex P1/P2 closure and real BuildK…
HMarcusWH Oct 17, 2026
887acbb
test(ASSURANCE): target image proof graph and distinguish APT log tex…
HMarcusWH Oct 17, 2026
75f0a5c
fix(ASSURANCE): require whole approved paths at audit boundaries
HMarcusWH Oct 17, 2026
9d8dc3a
test(ASSURANCE): falsify malformed path publication at ingress and re…
HMarcusWH Oct 17, 2026
a5519c8
fix(RELEASE-1): align pinned scanner provenance with reviewed builder…
HMarcusWH Oct 17, 2026
ab59666
test(RELEASE-1): require real scanner provenance and safe builder dia…
HMarcusWH Oct 17, 2026
a2adf30
fix(ASSURANCE): align SPDX optional fields and trigger bridge CI for …
HMarcusWH Oct 17, 2026
eda47af
test(ASSURANCE): align HTTP publication policy, CI triggers and raw a…
HMarcusWH Oct 17, 2026
16facca
docs(ASSURANCE): inventory all PR71 Codex findings and exact-head clo…
HMarcusWH Oct 17, 2026
283ffe8
feat(RELEASE-1): freeze SPDX license identifiers and parse bounded v2…
HMarcusWH Oct 18, 2026
7117ce6
fix(RELEASE-1): demand observed SLSA v1 provenance and exact scanner …
HMarcusWH Oct 18, 2026
05c55d1
test(RELEASE-1): reject missing, duplicate, wrong-builder and wrong-v…
HMarcusWH Oct 18, 2026
bdf4276
fix(RELEASE-1): apply versioned SPDX package semantics, license gramm…
HMarcusWH Oct 18, 2026
67ae527
test(RELEASE-1): add rehashed SPDX 2.2/2.3, license and SHA1 destruct…
HMarcusWH Oct 18, 2026
f5ba9fc
fix(RELEASE-1): verify every verdict-bearing module against Git and s…
HMarcusWH Oct 18, 2026
4f8138a
test(RELEASE-1): isolate aggregate logic tests from authenticated mod…
HMarcusWH Oct 18, 2026
8cf7510
test(RELEASE-1): import aggregate HTTP policy fixture by absolute sou…
HMarcusWH Oct 18, 2026
1d9d826
test(RELEASE-1): real Git source, rehashed worktree and TOCTOU snapsh…
HMarcusWH Oct 18, 2026
46b2b89
fix(RELEASE-1 CI): verify scanner and aggregate verifier Git bytes be…
HMarcusWH Oct 18, 2026
3d30598
docs(ASSURANCE): reconcile five Codex findings, SPDX version semantic…
HMarcusWH Oct 18, 2026
56bbdf1
feat(RELEASE-1): source-pin v1.11.0 Syft scanner and add dual SHA1/SH…
HMarcusWH Oct 18, 2026
7ba3106
feat(RELEASE-1): deterministic local BuildKit scanner transport and s…
HMarcusWH Oct 18, 2026
58fec30
fix(RELEASE-1): load source-locked scanner preparation by exact sibli…
HMarcusWH Oct 18, 2026
e18a2cd
fix(RELEASE-1 CI): consume exact-source v1.11.0 SHA1-capable scanner …
HMarcusWH Oct 18, 2026
bf6b919
fix(ASSURANCE): source-attest v1.11.0 scanner patch and gate reviewed…
HMarcusWH Oct 18, 2026
91458a7
docs(RELEASE-1): document staged scanner digest approval and offline …
HMarcusWH Oct 18, 2026
f7f2717
fix(RELEASE-1): export scanner images reproducibly from containerized…
HMarcusWH Oct 18, 2026
235e8d2
test(RELEASE-1): bind real scanner SHA1 and SHA256 claims to known pi…
HMarcusWH Oct 18, 2026
f3baaa9
fix(RELEASE-1 CI): verify actual SBOM SHA1/SHA256 against pinned Ubun…
HMarcusWH Oct 18, 2026
18b5e1f
fix(RELEASE-1): freeze independently reviewed reproducible scanner bi…
HMarcusWH Oct 18, 2026
a133604
fix(RELEASE-1): require exact SLSA v1 builder identity on full export…
HMarcusWH Oct 18, 2026
5a54cde
fix(ONLINE-4): bind recovery phase logs and replay files to exact con…
HMarcusWH Oct 18, 2026
64086c2
fix(ASSURANCE): execute independent recovery and OCI verifiers from e…
HMarcusWH Oct 18, 2026
dba31b2
test(ASSURANCE): prove exact-commit execution and record five manual-…
HMarcusWH Oct 18, 2026
90e98e6
test(RELEASE-1): assert absolute OCI archive input after isolated Git…
HMarcusWH Oct 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/online-bridge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ on:
- 'tests/lichess/**'
- 'scripts/qualify-online-bridge.py'
- 'scripts/prepare-online3b-wheels.py'
- 'scripts/sanitize_qualification_evidence.py'
- 'scripts/http_evidence_verdict.py'
- 'scripts/qualify-online-recovery.py'
- 'scripts/verify_source_closure.py'
- 'qualification/http-evidence-contract-v1.json'
- 'qualification/online-recovery-v1.json'
- 'qualification/online-bridge-v1.json'
- '.github/workflows/online-bridge.yml'
- 'Makefile'
Expand Down
38 changes: 34 additions & 4 deletions .github/workflows/online-recovery-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,23 @@ on:
- 'tests/lichess/**'
- 'tests/fixtures/lichess/**'
- 'scripts/qualify-online-recovery-v2.py'
- 'scripts/qualify-online-recovery.py'
- 'scripts/http_evidence_verdict.py'
- 'scripts/sanitize_qualification_evidence.py'
- 'scripts/verify_assurance_contract.py'
- 'scripts/verify_source_closure.py'
- 'qualification/assurance-contract-v1.json'
- 'qualification/http-evidence-contract-v1.json'
- 'qualification/schemas/**'
- 'scripts/release-manifest.py'
Comment on lines +9 to +17

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Trigger recovery CI for every new verifier dependency

The updated ONLINE-4B path filter still omits the newly imported scripts/http_evidence_verdict.py, scripts/sanitize_qualification_evidence.py, scripts/verify_assurance_contract.py, and scripts/verify_source_closure.py, as well as qualification/http-evidence-contract-v1.json. A later PR changing only one of these verdict-critical files will skip the guarded integration workflow entirely; add these paths to both ONLINE-4A and ONLINE-4B filters (or cover the relevant directories) so source-closure and status-policy changes receive exact-head qualification.

Useful? React with 👍 / 👎.

- 'scripts/package-online.py'
- 'scripts/build-online-engine-opt-v2.sh'
- 'scripts/qualify-engine-opt-v2.py'
- 'scripts/prepare-online3b-wheels.py'
- 'scripts/ci-install-apt-deps.sh'
- 'Makefile'
- 'deploy/bin/**'
- 'qualification/online-recovery-v1.json'
- 'qualification/online-recovery-v2.json'
- '.github/workflows/online-recovery-v2.yml'
- 'docs/ONLINE_4B_RECOVERY.md'
Expand Down Expand Up @@ -136,6 +153,7 @@ jobs:

independent-guarded-qualification:
needs: guarded-integration
if: ${{ always() }}
runs-on: ubuntu-24.04
timeout-minutes: 16
steps:
Expand All @@ -147,17 +165,29 @@ jobs:
- name: Install independent chess oracle
run: |
bash scripts/ci-install-apt-deps.sh python3-pip python3-venv
python3 -m pip install --break-system-packages 'chess==1.11.2'
python3 -m pip install --break-system-packages 'chess==1.11.2' 'PyYAML==6.0.3'
- name: Verify independent exact-source worktree before importing recovery code
run: |
set -euo pipefail
VERIFIED="$RUNNER_TEMP/online4b-verified-${GITHUB_RUN_ID}"
git worktree add --detach "$VERIFIED" "$ALLFATHER_SOURCE_SHA"
test "$(git -C "$VERIFIED" rev-parse HEAD)" = "$ALLFATHER_SOURCE_SHA"
git -C "$VERIFIED" diff --exit-code
python3 "$VERIFIED/scripts/verify_source_closure.py" \
--profile online-recovery-v2 --source-sha "$ALLFATHER_SOURCE_SHA"
python3 "$VERIFIED/deploy/lichess/fetch_bridge.py"
echo "ONLINE4B_VERIFIED_ROOT=$VERIFIED" >> "$GITHUB_ENV"
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
continue-on-error: true
with:
name: online4b-guarded-raw-evidence
path: build/test-results/online-recovery-v2
- name: Independently qualify guarded safety and restart continuation
run: |
python3 scripts/qualify-online-recovery-v2.py \
--evidence build/test-results/online-recovery-v2 \
python3 "$ONLINE4B_VERIFIED_ROOT/scripts/qualify-online-recovery-v2.py" \
--evidence "$GITHUB_WORKSPACE/build/test-results/online-recovery-v2" \
--source-sha "$ALLFATHER_SOURCE_SHA" \
--output build/test-results/online4b-verdict/report.json
--output "$GITHUB_WORKSPACE/build/test-results/online4b-verdict/report.json"
- name: Summarize containment versus recovery claims
if: always()
run: |
Expand Down
32 changes: 29 additions & 3 deletions .github/workflows/online-recovery.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ on:
- 'tests/lichess/**'
- 'tests/fixtures/lichess/**'
- 'scripts/qualify-online-recovery.py'
- 'scripts/http_evidence_verdict.py'
- 'scripts/sanitize_qualification_evidence.py'
- 'scripts/verify_assurance_contract.py'
- 'scripts/verify_source_closure.py'
- 'qualification/assurance-contract-v1.json'
- 'qualification/http-evidence-contract-v1.json'
- 'qualification/schemas/**'
- 'scripts/release-manifest.py'
- 'scripts/package-online.py'
- 'scripts/build-online-engine-opt-v2.sh'
- 'scripts/qualify-engine-opt-v2.py'
- 'scripts/ci-install-apt-deps.sh'
- 'Makefile'
- 'deploy/bin/**'
- 'qualification/online-recovery-v1.json'
- '.github/workflows/online-recovery.yml'
- 'docs/ONLINE_4_RECOVERY.md'
Expand Down Expand Up @@ -133,6 +147,7 @@ jobs:

independent-recovery-evidence:
needs: offline-fault-integration
if: ${{ always() }}
runs-on: ubuntu-24.04
timeout-minutes: 15
steps:
Expand All @@ -146,15 +161,26 @@ jobs:
bash scripts/ci-install-apt-deps.sh python3-pip python3-venv
python3 -m pip install --break-system-packages 'chess==1.11.2'
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
continue-on-error: true
with:
name: online4a-raw-evidence
path: build/test-results/online-recovery-v1
- name: Establish Git-committed independent verifier source before imports
run: |
set -euo pipefail
VERIFIED="$RUNNER_TEMP/online4a-verified-${GITHUB_RUN_ID}"
git worktree add --detach "$VERIFIED" "$ALLFATHER_SOURCE_SHA"
test "$(git -C "$VERIFIED" rev-parse HEAD)" = "$ALLFATHER_SOURCE_SHA"
git -C "$VERIFIED" diff --exit-code
python3 "$VERIFIED/scripts/verify_source_closure.py" \
--profile online-recovery-v1 --source-sha "$ALLFATHER_SOURCE_SHA"
echo "ONLINE4A_VERIFIED_ROOT=$VERIFIED" >> "$GITHUB_ENV"
- name: Independently reconstruct commits and fault witnesses
run: |
python3 scripts/qualify-online-recovery.py \
--evidence build/test-results/online-recovery-v1 \
python3 "$ONLINE4A_VERIFIED_ROOT/scripts/qualify-online-recovery.py" \
--evidence "$GITHUB_WORKSPACE/build/test-results/online-recovery-v1" \
--source-sha "$ALLFATHER_SOURCE_SHA" \
--output build/test-results/online4a-verdict/report.json
--output "$GITHUB_WORKSPACE/build/test-results/online4a-verdict/report.json"
- name: Publish diagnostic qualification summary
if: always()
run: |
Expand Down
Loading
Loading