Skip to content

Phase 3, part 2: put review answers on the form, and answer salary bands - #27

Merged
coderback merged 2 commits into
mainfrom
feat/answers-fill
Oct 16, 2026
Merged

coderback merged 2 commits into
mainfrom
feat/answers-fill

Conversation

@coderback

Copy link
Copy Markdown
Owner

Phase 3, part 2: answers you give in the review go onto the form, and salary bands get answered.

Filling review answers in

Until now, an answer you saved in the review was kept for the next form, but you still had to type it into this one yourself. Now, while the agent's browser is paused, the questions panel collects the answers you save (a question left blank, or a draft you rewrote) and offers Fill them in on the form.

That sends an answers command to the session. A short follow-up agent then puts the answers on the page: it chooses the option, types the text, or uses fill_answer for a written answer.

  • Like the submit agent, it has the password-scoped tools and never sends the form.
  • Afterwards the review gets:
    • the questions again, with your answers marked as saved;
    • a fresh check of the required fields that are still empty;
    • new notes that replace the first pass's summary, which still listed those questions as needing you.

Salary bands

A salary question whose options are bands now gets the one band that holds your salary expectation (£31,500 → "£30,000-£35,000"). A figure on a boundary, or a range that spans two bands, is left for you. The reading prompt now tells the model to cite the salary fact for band questions, because in a full batch of questions it sometimes didn't.

Checked

  • Live run (real model, local practice form):
    • the first pass left the convictions dropdown and the accuracy checkbox blank;
    • after "No" and "Confirm" were sent from the review, the form read back convictions: No, accurate: true, and it was not submitted.
  • Answers eval: now requires the band. Three runs: 36/36 facts within their labels, the band answered every time, 1–2 of 27 answerable facts left for you, and no flagged claim in any draft.

Tests

  • API: 738 pass, including 11 new ones on bands, checking review answers, the record update, a failed fill and storing the questions again.
  • Browser (real Chromium): 15 pass. The new one has browser-use's own select action set the dropdown the review answered.
  • Frontend: 13/13 Playwright smoke tests pass. The new one drives a live review with the apply stream held open.

…ry bands

While the browser is paused for review, an {type: "answers"} command runs a
short follow-up agent (like the submit one: password-scoped tools, never
sends the form) that puts the user's answers on the page, with fill_answer
for written ones. The run's record takes them as saved answers, the
required-field check runs again, and the review gets fresh questions and
notes; the first pass's summary, which still listed them as needing the
user, gives way to what this pass did.

A salary question with band options now gets the one band that holds the
salary expectation ("£31,500" in "£30,000-£35,000"). On a boundary, or a
range that straddles two bands, it's left for the user.

A live run of the real model on a local practice form: the review's two
answers (a convictions dropdown, an accuracy checkbox) went on the form. The
answers eval now requires the salary band; three runs kept every fact
within its labels and answered the band each time.
… panel

Answers you save in the live review (a question left blank, or a draft you
rewrote) wait in the questions panel with "Fill them in on the form", which
sends them to the paused agent. The panel clears them once the agent
reports back with the record updated. A smoke test drives a live review
with the apply stream held open.
@coderback
coderback merged commit f3f3448 into main Oct 16, 2026
4 checks passed
@coderback
coderback deleted the feat/answers-fill branch October 16, 2026 21:02
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.

1 participant