Skip to content

test(research): prove three-event Polymarket flow - #430

Merged
proerror77 merged 1 commit into
mainfrom
codex/polymarket-three-event-e2e-325
Jul 28, 2026
Merged

test(research): prove three-event Polymarket flow#430
proerror77 merged 1 commit into
mainfrom
codex/polymarket-three-event-e2e-325

Conversation

@proerror77

Copy link
Copy Markdown
Owner

Change contract: Add one offline three-event Polymarket fixture that proves public producer qualification through authenticated snapshot readback, production pipeline smoke, three isolated bounded research tasks, typed receipts, and one experiment manifest.

Out of scope: Cloud or runtime mutation, collector deployment or cutover, hft-search-kernel, CEX, alpha-harness, ACK or OSS access, large historical datasets, performance, profitability, promotion, #233, #234, and #326.

Dependency / merge order: #429/#428 is merged in the exact base deb8447. No stacked dependency remains. Merge this before using the fixture as local/CI evidence for later #233/#234 work.

Focused validation:

  • cargo test --locked -p ploy-research --features db --test polymarket_three_event_e2e -- --nocapture (1 passed)
  • cargo test --locked -p ploy-research experiment_manifest_requires_exactly_three_matching_typed_receipts --lib (1 passed)
  • cargo test --locked -p ploy-research result_receipt_rejects_held_out_artifact_mutated_after_selection_seal --lib (1 passed)
  • cargo clippy --locked -p ploy-research --features db --test polymarket_three_event_e2e --no-deps -- -D warnings -A clippy::type_complexity
  • rustfmt check and staged diff check
  • Two independent read-only committed-range reviews: no findings

Held-out identity note: A changed authenticated snapshot is a new sealed snapshot identity and must not reuse its old checkpoint SHA. The already-merged #324 lower-layer contract proves the intended post-selection invariant: changed held-out metrics preserve checkpoint and selected-candidate identities while changing evaluator, receipt, and manifest identities; mutation after the selection seal is rejected. This fixture therefore does not weaken or fake cross-snapshot identity reuse.

Rollout / rollback impact: CI-only research evidence. It adds one affected-CI invocation and no production authority. Rollback removes the fixture, its CI command, and the task record together.

Closes #325

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@proerror77, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 38 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7ea0c431-e637-431a-9b35-8f865411b6c2

📥 Commits

Reviewing files that changed from the base of the PR and between deb8447 and c703c47.

📒 Files selected for processing (3)
  • .github/workflows/ploy-ci.yml
  • rust_hft/prediction-markets/crates/ploy-research/tests/polymarket_three_event_e2e.rs
  • rust_hft/prediction-markets/tasks/todo.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/polymarket-three-event-e2e-325

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@proerror77
proerror77 merged commit 170cdea into main Jul 28, 2026
38 checks passed
@proerror77
proerror77 deleted the codex/polymarket-three-event-e2e-325 branch July 28, 2026 07:50
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.

Prove the producer-to-result contract with one three-event CI fixture

1 participant