You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace the mixed-duration Polymarket release Gate with a bounded preflight and
one strict 900-second Rust observation. Preflight must verify the exact signed
release, production unit safety, a current policy-clean atomic Python health
publication and captured Python identity, and one mature real closed segment
through the candidate uploader and independent OSS readback. During the Gate,
Python identity must remain stable but no new Python cycle is required. Rust-self
evidence from the new shadow spool must verify live data and runtime integrity
without appending another settlement-maturity wait. After immutable evidence is
validated, promote and verify the three Rust services with Python rollback.
Acceptance criteria
The complete preflight has one 300-second wall-clock deadline and fails
before shadow startup when it expires.
A mature real closed segment passes candidate format, settlement/upload
compatibility, immutable OSS triplet, and independent readback checks.
The formal observation timer is exactly 900 seconds; 899-second evidence
fails and no maturity or parity tail is appended after 900 seconds.
Python identity remains unchanged for the whole Gate, while a new Python
health completion is explicitly not required.
Rust shadow PID, invocation, executable SHA, health progress, data progress,
rotation, deduplication, required record classes, and resource health remain
fail-closed.
Rust-self evidence is accepted only for the declared legacy-Python lane and
cannot bypass any Rust, OSS, immutable identity, or data-quality check.
Final evidence is immutable and independently read back before cutover.
Cutover promotes all three services to the exact Rust candidate, validates
procfs executable SHA and output manifests, and rolls back Python on smoke
failure.
Runtime control
Target: ECS i-6we6afeqsvv8uo1ixmyo and its three canonical Polymarket raw-ops services.
Controller: /root is the sole production controller.
Stop rule: Any identity, policy, real-segment, 300-second preflight, 900-second Gate, parity, OSS, health, resource, or immutable-evidence failure stops shadow and preserves Python.
Rollback: Use the exact cutover evidence directory with the existing fail-closed rollback path; a failure during the 300-second production smoke restores the captured Python units.
Parent
#499
What to build
Replace the mixed-duration Polymarket release Gate with a bounded preflight and
one strict 900-second Rust observation. Preflight must verify the exact signed
release, production unit safety, a current policy-clean atomic Python health
publication and captured Python identity, and one mature real closed segment
through the candidate uploader and independent OSS readback. During the Gate,
Python identity must remain stable but no new Python cycle is required. Rust-self
evidence from the new shadow spool must verify live data and runtime integrity
without appending another settlement-maturity wait. After immutable evidence is
validated, promote and verify the three Rust services with Python rollback.
Acceptance criteria
before shadow startup when it expires.
units, permissions, drop-ins, cutover dry-run, current policy-clean atomic
Python health, and captured Python PID/invocation/restart identity.
compatibility, immutable OSS triplet, and independent readback checks.
fails and no maturity or parity tail is appended after 900 seconds.
health completion is explicitly not required.
rotation, deduplication, required record classes, and resource health remain
fail-closed.
cannot bypass any Rust, OSS, immutable identity, or data-quality check.
procfs executable SHA and output manifests, and rolls back Python on smoke
failure.
Runtime control
Blocked by
#505
Out of scope
CI workflow restructuring, research, snapshot/#235, evaluator/MCTS, collector
feature changes, and overwriting old immutable releases.