Repository navigation
fix(jev): a CLI's localhost callback is not a change of product; wait once before handing back none_chosen - #12
Merged
Merged
Conversation
… once before handing back none_chosen In the daily 51-walk Dosu run the same 23 walks hand back to the supervising agent every day (10-12 to 10-14), and the supervisor then spends about 34 minutes of the hour on them. Two of the causes are the executor's own rules: - `origin_changed`: the walk pins the first page's origin, and a Dosu CLI login opens a tab that ends on `http://localhost:<port>/callback` (or a `file://` report page). The steps expect exactly that page, and the walk handed it back unread. A page on a loopback host or a local file now counts as the walk's own once the walk has a terminal session of its own; any other origin still ends the walk, and a browser-only walk is unchanged. The callback's token is masked in Jev's request by the existing query-parameter rule. - `none_chosen`: an action round that chose none handed back at once, and a CLI's "Returning to your terminal..." page moved on to its callback a second later. It now gets the one wait for the page to move that a checkpoint the page settles neither way already gets (`movedBeforeHandBack`, one mechanism for both); unmoved, it hands back as before. Neither change lets Jev act or pass where it could not: the callback page is judged with the same holds/contradicts questions, and the wait only reads the page again. Checks: typecheck, lint (biome + discipline), pi lane. A local executor test (not committed) passes a walk that lands on a localhost callback with a terminal, still ends one without a terminal or on another site, re-reads a page that moved after none was chosen and hands back one that did not; on the previous code the two new cases fail and the controls pass. Browser-only eval regressions on the local stack: qs-notify off/on, hd-xl off and bw-cart on correct; bw-search-quoted on passed wrongly, which neither changed path touched (no terminal, no none) and which the control arm also did in earlier rounds. Claude-Session: https://claude.ai/code/session_01QXmSJBFujofueuHrdm6TdA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In the daily 51-walk Dosu run the same 23 walks hand back to the supervising agent every day (10-12 to 10-14), and
the supervisor then spends about 34 minutes of the hour on them. Two of the causes are the executor's own rules:
origin_changed: the walk pins the first page's origin, and a Dosu CLI login opens a tab that ends onhttp://localhost:<port>/callback(or afile://report page). The steps expect exactly that page, and the walkhanded it back unread. A page on a loopback host or a local file now counts as the walk's own once the walk has a
terminal session of its own; any other origin still ends the walk, and a browser-only walk is unchanged. The
callback's token is masked in Jev's request by the existing query-parameter rule.
none_chosen: an action round that chose none handed back at once, and a CLI's "Returning to your terminal..."page moved on to its callback a second later. It now gets the one wait for the page to move that a checkpoint the
page settles neither way already gets (
movedBeforeHandBack, one mechanism for both); unmoved, it hands back asbefore.
Neither change lets Jev act or pass where it could not: the callback page is judged with the same holds/contradicts
questions, and the wait only reads the page again.
Checks: typecheck, lint (biome + discipline), pi lane. A local executor test (not committed) passes a walk that
lands on a localhost callback with a terminal, still ends one without a terminal or on another site, re-reads a page
that moved after none was chosen and hands back one that did not; on the previous code the two new cases fail and the
controls pass. Browser-only eval regressions on the local stack: qs-notify off/on, hd-xl off and bw-cart on correct;
bw-search-quoted on passed wrongly, which neither changed path touched (no terminal, no none) and which the control
arm also did in earlier rounds.
https://claude.ai/code/session_01QXmSJBFujofueuHrdm6TdA