Skip to content

Add verify summary context #6

Add verify summary context

Add verify summary context #6

Workflow file for this run

# determinism.yml — nightly + contract-change PRs (plan §9).
# Gate Zero platforms first (macOS arm64 + Linux x64); Windows x64 joins no later than
# Milestone B exit (week 8). Unresolved Windows divergence blocks or re-scopes Public Beta.
# Determinism failures are NEVER retried into green — a flaky fingerprint IS the bug.
name: determinism
on:
schedule:
- cron: "17 3 * * *" # nightly
pull_request:
types: [opened, synchronize, labeled]
workflow_dispatch:
jobs:
cross-platform:
if: >-
github.event_name != 'pull_request' ||
contains(github.event.pull_request.labels.*.name, 'contract-change')
strategy:
fail-fast: false
matrix:
os: [macos-14, ubuntu-latest] # macOS arm64 + Linux x64 (Gate Zero platforms)
# TODO(week 8 / Milestone B exit): add windows-latest (risk R9; release-blocking
# for Public Beta if divergent)
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: rustup show
# The contract vectors pin exact c14n bytes + sha256 per platform: every platform
# asserting the same pinned hashes IS cross-platform byte equality for the
# serialization layer. Corpus-level fingerprint comparison joins when the engine
# parses the frozen manifest (WS-ENGINE + WS-HARNESS).
- run: cargo test --locked -p ethos-core --all-features
- name: full-corpus fingerprint equality
shell: bash
run: |
if [ -n "${ETHOS_PDFIUM_LIBRARY_PATH:-}" ] && [ -f "${ETHOS_PDFIUM_LIBRARY_PATH:-}" ]; then
make -C benchmarks/harness fixtures
else
echo "skipped: pinned PDFium runtime is not configured on this runner"
fi