Skip to content

Polymarket raw-ops: supervise formal Gate independently of Cloud Assistant #448

Description

@proerror77

Parent

#447

What to build

Run each formal raw-ops Gate as one bounded, queryable systemd-supervised job with an immutable candidate/invocation identity. Cloud Assistant may request start, status, or cancellation but must not own the Gate process tree. Controller or Assistant restart must not create an unmanaged Gate; cancellation or abnormal termination must leave Rust shadow inactive and preserve the Python baseline. Persist an explicit terminal receipt that distinguishes passed, failed, and cancelled jobs.

Acceptance criteria

  • A focused control-plane counterexample proves controller/Cloud Assistant disappearance cannot leave an unmanaged Gate process capable of starting shadow.
  • Start is single-owner and rejects duplicate jobs for the same candidate; status reports the exact unit, candidate, source, phase, and terminal state.
  • Cancellation and every non-pass terminal path stop shadow, preserve Python, and cannot produce PASSED.sha256.
  • The job has a hard overall lifetime covering admission and observation plus cleanup, and systemd owns the complete process tree.
  • Existing immutable release, baseline identity, health, parity, and OSS checks remain fail-closed.
  • Focused tests, ShellCheck, CI, and two-axis review pass.

Blocked by

None - can start immediately

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentFully specified and safe for an autonomous agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions