Skip to content

chore(ci): preserve RelayFlow proof timeout evidence - #1617

Merged
khaliqgant merged 1 commit into
mainfrom
fix/pr-proof-timeout-headroom
Aug 27, 2026
Merged

chore(ci): preserve RelayFlow proof timeout evidence#1617
khaliqgant merged 1 commit into
mainfrom
fix/pr-proof-timeout-headroom

Conversation

@miyaontherelay

@miyaontherelay miyaontherelay commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • reduce the trusted PR proof workflow timeout from 60 minutes to 45 minutes
  • leave the GitHub dispatcher deadline at 60 minutes, creating 15 minutes of teardown/reporting headroom
  • pin the timeout separation in the trusted-dispatcher contract test

This changes the proof harness, not Relay runtime behavior. It lets the workflow self-fail and persist terminal step state before the outer dispatcher cancels and reaps its orchestrator sandbox.

RelayFlow Proof

  • Change type: non-functional
  • RelayFlow case: n/a

Validation

  • git diff --check passed
  • dependency-backed test execution could not run locally because the shared checkout volume is at ENOSPC; CI is the validation authority

No production deploy and no merge performed.

Session-Id: 01a03d75-2261-7e60-911e-7dd3188d648b
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3c1dfed4-dd6c-431a-89d7-bc85c976033e

📥 Commits

Reviewing files that changed from the base of the PR and between 10fc5ce and a8dfd65.

📒 Files selected for processing (2)
  • tests/fixtures/pr-proof-contract.test.ts
  • workflows/pr-proof.ts

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

The PR proof workflow timeout changes from 60 minutes to 45 minutes. Contract coverage verifies the new timeout and rejects the previous value.

Changes

PR proof timeout

Layer / File(s) Summary
Update timeout and contract coverage
workflows/pr-proof.ts, tests/fixtures/pr-proof-contract.test.ts
The workflow timeout changes to 2_700_000 milliseconds. The contract test requires the new value and rejects 3_600_000.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to a8dfd

The PR separates the workflow and dispatcher timeouts so terminal proof state can be preserved before teardown. No actionable merge-blocking risk remains after normal checks and review.

Suggested reviewers: khaliqgant, willwashburn

Poem

A rabbit checks the clock at dawn
The proof now hops for forty-five
Sixty minutes quietly yawn
The test guards every timeout line
Carrots cheer as checks pass by

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is concise and directly related to preserving evidence for the RelayFlow proof timeout change.
Description check ✅ Passed The description includes the summary, RelayFlow Proof classification, validation results, and operational context. The Test Plan checklist is replaced by a Validation section, but the required testing…
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2 files.

Full details: Description check

Explanation

The description includes the summary, RelayFlow Proof classification, validation results, and operational context. The Test Plan checklist is replaced by a Validation section, but the required testing information is still provided. Screenshots are not applicable.

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/pr-proof-timeout-headroom

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.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Re-trigger cubic

@miyaontherelay miyaontherelay changed the title fix(ci): preserve RelayFlow proof timeout evidence chore(ci): preserve RelayFlow proof timeout evidence Aug 26, 2026

@khaliqgant khaliqgant left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving — minimal, correct, and the regression guard is the right shape.

What it does: drops the workflow ceiling from .timeout(3_600_000) to .timeout(2_700_000), giving 15 minutes of headroom under the dispatcher's PR_PROOF_CLOUD_TIMEOUT_MS: 3600000.

Why this matters. The two values were previously identical, so the workflow could never self-terminate before CI cancelled it. On GitHub run 32944656109 / Cloud run f95d160f-9fd6-4f1b-8ef7-a9bac3c21fc6, the dispatcher polled status: running for 59 minutes and then issued Cancelling Cloud RelayFlow run (deadline exceeded). That external cancellation reaped the Daytona sandbox (54fae474-... no longer exists) and left the durable log frozen at 962 bytes, ending at [bootstrap] Started relayfile-mount daemon. Every stall of this class destroyed its own evidence. This change lets Cloud persist terminal step state and retain the sandbox first.

Test coverage. pr-proof-contract.test.ts asserts both the new value and the absence of the old one. The negative assertion is what prevents a silent revert back to the colliding value — a real drift guard, not redundancy.

Margin. 15 minutes is sufficient for terminal-state persistence plus sandbox retention while leaving the dispatcher its own polling budget. No concern.

Disclosure. I orchestrated the agent that authored this, so treat this as informed technical review rather than fully independent review. The change is two lines plus a test, and 36/36 checks are green.

@khaliqgant
khaliqgant merged commit a7f2e32 into main Aug 27, 2026
36 of 37 checks passed
@khaliqgant
khaliqgant deleted the fix/pr-proof-timeout-headroom branch August 27, 2026 02:16
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.

2 participants