Skip to content

Verify retained production acceptance evidence - #287

Draft
abrichr wants to merge 4 commits into
codex/production-evidence-contractfrom
codex/verified-production-acceptance-import
Draft

Verify retained production acceptance evidence#287
abrichr wants to merge 4 commits into
codex/production-evidence-contractfrom
codex/verified-production-acceptance-import

Conversation

@abrichr

@abrichr abrichr commented Aug 18, 2026

Copy link
Copy Markdown
Member

What changed

  • Add a strict verifier for the Cloud production-acceptance certificate, GitHub provenance, immutable-retention receipt, signed qualification admission, and complete qualification campaign.
  • Recompute the admission, runtime-validation, workflow-version, organization, workflow, campaign, contract, outcomes, oracle, and trial-count bindings.
  • Reject unknown or revoked admission signers, changed issuer scope, collapsed admission and runtime identities, incomplete trial rows, silent incorrect success, and over-halt omissions.
  • Keep the private import path disabled until one approved export contract binds the complete payload, destination, encryption key, immutable retention, importer workflow and ref, and approval authority.

Why

The public acceptance record contains only remote-safe digests, bounded counts, and signer provenance. Evals must not trust those counts or let the evidence authorize itself. It must derive the result from the complete retained campaign under an external trust root.

This is a stacked draft on PR #286. It contains only the verifier delta above codex/production-evidence-contract.

Validation

  • 127 focused tests pass.
  • Ruff passes.
  • git diff --check passes.
  • A broader run had 2266 passes and 65 skips. Three sandbox-only log-write tests passed outside the sandbox. Seven pre-existing optional-state tests still require openadapt_ml or local demo fixtures.

Current boundary

No private export is enabled. The importer fails closed before it reads an admission or campaign until the exact export contract receives approval.

abrichr and others added 4 commits August 18, 2026 14:37
…ed evidence

- Rename the shared signer field to evidence_runner_signer_sha256 across
  the importer, derived-result bindings, fixtures, tests, and docs so the
  identity grammar matches Cloud evidence v2.
- Bind campaign-outcomes and oracle-contract digests plus validated task,
  condition, required-trial, and observed-trial counts into the derived
  result; report task and condition identities as campaign-scoped hashes
  and keep all eleven failure-taxonomy counts.
- Add a pure, I/O-free builder and validator for the closed
  openadapt.production-acceptance/v1 manifest with a fixed target->claim
  scope map, two separate policy digests, and a Flow lifecycle release
  verifier that binds raw policy bytes, the exact commit URL, and one
  sorted PyPI sdist+wheel into an immutable verified-release object.
- Cloud stays fail-closed until a reviewed deployment-manifest binding
  exists; other targets refuse without their own evidence adapter.
- Export/import of real evidence stays disabled.

Tests: 265 focused (acceptance importer + evidence freshness) pass;
full CI suite 2410 passed, 56 skipped; ruff, source-boundary check,
and git diff --check pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant