Skip to content

v0.3.3 — the asynchronous pickup path never worked

Choose a tag to compare

@priyanshuN priyanshuN released this 28 Jul 06:58

Two faults, both found by using triago on a real code review rather than by reading it.

wait_seconds: 0 never asked the server

triago_await_decisions answered pending for every card — including cards decided hours earlier. waitForDecisions guarded its polling loop with while (Date.now() < deadline), and a deadline of now + 0 is already in the past, so the loop body never ran and nothing ever contacted the server.

This is the whole asynchronous half of the product. The shipped instructions name wait_seconds: 0 as the cheap check an agent should run at the top of every turn while a card is outstanding, so in practice an agent could only ever collect decisions it had synchronously blocked for. Anything you triaged after the posting call returned was never picked up.

Zero now performs one real non-blocking read. The suite missed this because every other test waits with a real duration — the one value the policy actually recommends was the one value never exercised.

fix meant the wrong thing on someone else's pull request

The policy read fix — act on it now, in this session, which quietly assumes the agent owns the code. On a review of a pull request you did not write there is no branch the agent may edit, and acting on a finding means raising it as a review comment.

The card that exposed this was posted by an agent unprompted, reviewing a PR where the human was the reviewer rather than the author — and it signed off by offering to make edits it had no business making. It was being faithful to the policy; the policy was wrong. It now says where a fix goes in both cases.

Both are covered by tests, including a red-then-green check on the zero path.