fix(bybit-options): write the PASSED marker as the gate.json checksum entry - #749
Conversation
… entry The shadow gate wrote its PASSED.sha256 marker by piping the candidate identity string into 'sha256sum --strict', which both misuses the tool (--strict is only meaningful with --check, so the command failed) and produced the wrong content: the cutover requires the marker to be the gate.json checksum entry and verifies it with sha256sum --check --strict inside the evidence directory. Compute the gate.json checksum entry directly, matching the polymarket gate's marker publication.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reached
Next review available in: 4 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
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. Comment |
Change contract
After a full passing 3600-second observation, the bybit shadow gate died writing its PASSED marker:
printf sha+binary | sha256sum --strict—--strictis only meaningful with--check(exit 1), and even without that misuse the content was wrong:host-bybit-options-cutover.shrequiresPASSED.sha256to contain exactly thegate.jsonchecksum entry and verifies it withsha256sum --check --strictinside the evidence directory (cutover lines 603–607). This is the third never-executed-on-host startup bug in contract #4's scripts (#742 readonly ordering, #744 jq missing arg, now this).Fix: write the marker as
(cd "$evidence_dir" && sha256sum gate.json), matching the polymarket gate's marker publication. Contract test now asserts the marker line and forbids--strictwithout--checkanywhere in the script.Host evidence: gate run c8a2becb87b1414c837502e2c10c0208 (2026-08-08 08:20–09:22 CST) — shadow collected and uploaded for the full hour; only the marker write failed.
Issue relationship
None
Out of scope
Dependencies and merge order
None
Focused validation
test-bybit-options-shadow-gate.sh+test-bybit-options-release-contract.shpass with the new assertions;bash -nclean;git diff --checkclean.<64hex> gate.json, passessha256sum --check --strictin the evidence dir).Rollout and rollback
No production impact at merge. The fixed script ships as deploy assets; the staged release is re-installed with the new bundle and the 1-hour gate reruns. Rollback is revert.
Scope exception
None