Hosted e2e journey: a push supersedes a running review with a real Worker
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- python, typescript
- Domain
- testing
Research direction
Start from the existing hosted e2e lane in app/e2e/hosted/ and the fake LLM in fakes/, which already has a hold option used by the Diff cost tests. Read runner/tests/integration/test_worker_once.py to see how the Worker is driven against the fake App. Done when T01 to T04 pass: the first run ends superseded, the held answer is counted, no write goes out for the old head, and a Worker that ignores the signal is ended inside the claim.
Written by the indexing model from the issue text.
Description
Context
#396 (Worker side) and #397 (app side) are merged: a push supersedes a running automatic review and the Worker drains and reports superseded. Both halves are proven separately (unit and integration tests on each side, the Worker against the fake App in runner/tests/integration/test_worker_once.py, the app against Postgres). No journey runs the real app, Dispatcher and Worker together through a supersede.
Goal
A hosted e2e journey (app/e2e/hosted/) with a real superseded Worker:
- A pull request opens; the job is claimed and its Worker runs; the fake model holds its answer.
- A second push arrives (webhook
synchronize) while the first request is in flight. - The next heartbeat answers
superseded; the Worker tells its job process; the held model answer is released and is counted; the process refuses a second request and publishes nothing. - The Worker reports
supersededand exits 0; the Sandbox is torn down; the new head's job runs and publishes.
Test cases
| Id | Level | Check |
|---|---|---|
| T01 | e2e hosted | the first run ends superseded in the Runs view ("Superseded"), not failed; the second run succeeds and is the only review on the pull request |
| T02 | e2e hosted | the fake model saw exactly the in-flight request of the first run and no second one; its measured cost is a usage record with reason superseded and the run is not counted in the quota |
| T03 | e2e hosted | the fake GitHub saw no write for the first head after the push |
| T04 | e2e hosted | a Worker that ignores the signal is ended by the Dispatcher/host inside the claim (about 240 s, shortened by the lane's scaled clock) and the run ends superseded with an unknown cost, never billed |
Notes
- The lane needs a held model answer (the fake LLM in
fakes/has a hold option used by the Diff cost tests) and a way to shorten the 30 s heartbeat (the lane already shortens other timings through the test-only timing variables). - Stay within the loopback fakes; no real network or model.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 1h 17m
- Merged PRs (30d)
- 246
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ExpidetGames/code-reviewer
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ExpidetGames/code-reviewer#464 ·
Maintainers usually reply within 1 day
-
area: app type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
ExpidetGames/code-reviewer#308 ·
Maintainers usually reply within 1 day
-
type: docs
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ExpidetGames/code-reviewer#94 ·
Maintainers usually reply within 1 day
-
area: runner type: bug
Difficulty 3/5 1-2 days Newbie friendliness 64/100
ExpidetGames/code-reviewer#483 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 49/100
ExpidetGames/code-reviewer#479 ·
Maintainers usually reply within 1 day
All issues in ExpidetGames/code-reviewer
Similar issues
-
bug priority: P2
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
wayfinder:task
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
bug customer-reported data-plane question Service Attention Storage
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
Azure/azure-rest-api-specs#47397 · 2 comments ·
Maintainers usually reply within 1 day
-
Claude thinking budget can shrink capped Haiku responses to 2,048 tokensPossibly taken @DavyMassoneto claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
diegosouzapw/OmniRoute#17109 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
paperclipai/paperclip#16785 ·
Maintainers usually reply within 1 day