Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Hosted e2e journey: a push supersedes a running review with a real Worker

Open
#401 0 comments 0 reactions 0 assignees View on GitHub

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:

  1. A pull request opens; the job is claimed and its Worker runs; the fake model holds its answer.
  2. A second push arrives (webhook synchronize) while the first request is in flight.
  3. 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.
  4. The Worker reports superseded and 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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ExpidetGames/code-reviewer

All issues in ExpidetGames/code-reviewer

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.