Skip to content

fix: keep non-expiring admissions out of Production - #35

Merged
abrichr merged 1 commit into
mainfrom
codex/executed-trial-artifact-guard
Sep 3, 2026
Merged

fix: keep non-expiring admissions out of Production#35
abrichr merged 1 commit into
mainfrom
codex/executed-trial-artifact-guard

Conversation

@abrichr

@abrichr abrichr commented Sep 3, 2026

Copy link
Copy Markdown
Member

Problem

The current synthetic release and workflow records have expires_at: null. The lifecycle validator counted them as active even though the organization policy requires signed, expiring, and revocable admissions. The public lifecycle page then labeled all seven targets as Production.

Change

  • Restore the 30-day release limit and the 7-day workflow limit.
  • Verify retained signed records, but exclude a record with no valid expiry window from active state.
  • Clear product Production state when no active workflow admission exists.
  • Update the lifecycle page and CLI wording to describe the current records accurately.

This patch doesn't modify production-evidence/**, evidence-registry.json, or either signed admission ledger.

Verification

  • python -m pytest -q tests/test_production_lifecycle.py tests/test_public_trust_schemas.py tests/test_evidence_registry.py tests/test_production_trust.py
  • 127 tests passed, with 103 subtests.
  • python scripts/validate_production_lifecycle.py reports 0 active admissions and 7 retained workflow records.
  • git diff --check

@abrichr
abrichr merged commit 078db7a into main Sep 3, 2026
3 checks passed
@abrichr
abrichr deleted the codex/executed-trial-artifact-guard branch September 3, 2026 04:02
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