24 Commits
Author SHA1 Message Date
Federico EliaandClaude Opus 5 5a77154ff5 Six test applications on real postings, and the facts they settled
JazzHR, BambooHR, Personio, Breezy, Teamtailor and Greenhouse, each on a
real posting with the test CV, nothing sent: 8 to 48 steps, under a cent
to a cent each. Five of the unknowns the plugins admitted to are now
facts.

The one worth saying once: a file input the page hides refuses the file,
and the upload goes to the button beside it, which the page labels. It
happened on Greenhouse and on Personio in the same run, so it is in the
rules every form gets, and each plugin keeps its own selector:
`[aria-labelledby='upload-label-resume'] button` on Greenhouse,
`[aria-labelledby="doc-label-cv"] button` on Personio, `a.resume` on
Breezy, `#resumator-resume-value` on JazzHR.

Also settled: a closed BambooHR posting sends the browser to the
company's whole list at /careers, which is that plugin's missing
closed-posting fact; Personio's company questions are
`#field-custom_attribute_<number>` and its send control is
`form button[type="submit"]`, with the page in English on some .com
postings; Breezy's send control is a `type="button"` and uploading fills
its summary field; Teamtailor's cookie banner is declined by its
aria-label in the page's language.

docs/sites.md records each run with its steps.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-11-07 13:21:27 +01:00
Federico EliaandClaude Opus 5 d12ac83050 Three dry runs on the confirmed sites, and the rule that keeps the model on the form's site
Greenhouse, Ashby and Lever, each on a real posting with the test CV,
nothing sent. Lever filled in 22 steps and under a cent, with no captcha;
Ashby in 40 steps and a cent; Greenhouse met a closed posting.

What the runs taught, now in the plugins: a closed Greenhouse posting
sends the browser to the board at /<company>?error=true, which is the
closed-posting fact that plugin lacked; Ashby's fields are bare uuids read
from each label's `for`, its Yes and No are the question's own buttons or
labelled radios, its consent box is required and its send control, which
no id names, was matched alone by `#form > button:last-of-type`; Lever's
location suggestions are `#location-0` and the rest.

On the closed posting the model went to a search engine to look for the
job, which is three steps spent outside the task. The rules every form
gets now say to stay on the form's own site and the mailbox the site's
instructions name, and that a closed posting is reported, not hunted.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-11-07 12:42:48 +01:00
Federico EliaandClaude Fable 5.1 fb3dc4ab6c sites.md: a dry run on Workable, 27 steps to the send control
Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-11-07 11:49:48 +01:00
Federico EliaandClaude Fable 5.1 e18bec83e7 Paylocity: the demographic lists, step by step; sites.md: two dry runs of 2026-11-07
A dry run with a test CV reached the send control on SmartRecruiters in
42 steps and on Paylocity in 148 of the 150 allowed: the demographic
listboxes and typeahead lists took most of them. The plugin now says what
worked on that form: the listbox options by id, ArrowDown and Enter when
one is out of reach, and the typeahead's first row.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-11-07 11:47:45 +01:00
Federico EliaandClaude Fable 5.1 f863c0e000 Workday plugin: the account, the email code and the six steps
Read on a real site on 2026-11-07, up to the "Create Account" page: the
/apply page, "Sign in with email", the sign-in and create-account forms by
data-automation-id, the robots-only field never to fill, and the mail from
myworkday.com for a verification code. The steps after sign-in are
Workday's usual form, said as such; docs/sites.md says the plugin has not
yet run on a real form.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-11-07 08:01:59 +01:00
feder-cr d1e8cb3bee docs/sites.md: a new run each on JazzHR and BambooHR 2026-11-05 20:07:38 +01:00
feder-cr 9f22016d23 docs/sites.md: two runs each on SmartRecruiters and Paylocity reached the send button 2026-11-05 19:54:58 +01:00
feder-cr 7737d2293e A form does not run out of steps repeating what changed nothing
Recorded on a real SmartRecruiters form: about 40 of 150 steps went on PageUp and a screenshot, in a form that scrolls inside its own container. The model is told not to repeat an action that changed nothing, and the plugin says how that form scrolls. On the next runs SmartRecruiters and Paylocity reached the send button; nothing was sent. Also the last mentions of the per-job CV.
2026-11-05 19:34:37 +01:00
feder-cr 09b8b75e90 A send's page is read until it says something, and an error comes out as itself
The MCP client's task groups wrapped every failure during a form, so a refused key was not recognised and the person read 'unhandled errors in a TaskGroup'. A page still showing 'Submitting...' was judged at once and the browser closed. docs/sites.md records the real runs on Workable, SmartRecruiters and Paylocity.
2026-11-05 18:30:49 +01:00
feder-cr d559055ef2 README: say it in two lines, then the commands
In the voice of the other READMEs: what others do, what this one does, and the install. The measurements move to docs/sites.md.
2026-11-05 18:17:48 +01:00
feder-cr 5358834a9f Every posting is tried: a plugin helps where there is one 2026-11-05 18:00:58 +01:00
feder-cr 9b26b349d7 Lever: a send confirmed through the app as it is now 2026-11-05 17:42:18 +01:00
feder-cr 708c28917f The rest: the plugins name the send control, and the counts' words 2026-11-05 17:08:20 +01:00
feder-cr a7121c7c98 Four more sites reach the send button, and their plugins name it 2026-11-05 17:07:46 +01:00
feder-cr b23cadb276 One command, everything on the screen, and no more checks on the model 2026-11-05 14:47:50 +01:00
feder-cr 290de45e4d Score a job with no stored text on its own page, and show the real screen in the README 2026-11-05 12:19:53 +01:00
feder-cr 8966ec97a3 Plugins: what real forms taught about each site, and a confirmed send on Teamtailor 2026-11-05 11:34:41 +01:00
feder-cr 881badd0ee Sites: a confirmed send on Recruitee, and Lever's own words 2026-11-05 10:12:55 +01:00
feder-cr 5e55568f53 Sites: what one round of labelled test sends showed 2026-11-05 08:45:27 +01:00
feder-cr 9d8c6849d9 Docs: fix README and doc claims, document the config keys 2026-11-05 06:21:47 +01:00
feder-cr 90e63afe8f Docs for adopters: data, cost, responsibility, updates
README says what leaves the computer and what it costs, who answers for what is sent, how to update and uninstall, and where the search is changed. It states that the mail plugins' read-only rule is an instruction to the model, not enforced in code.

CONTRIBUTING: CI runs on Ubuntu, Windows and macOS, Python 3.11 and 3.12; ruff check runs the default rules, so the 160 line length is not enforced.
docs/plugins.md: the example is lever.md as it is.
SECURITY.md: the mail plugins' read-only rule is an instruction, not a guarantee.
Phone numbers removed from docs/sites.md and the SmartRecruiters plugin; the plugin gives a placeholder.
LLDB engine credit reworded in NOTICE and profile.py comment; CHANGELOG says what the repository was.
2026-11-05 02:24:27 +01:00
feder-cr 744d710e34 SmartRecruiters: the plugin says how the country, phone, CV and menus work; sites row updated from five real runs 2026-11-05 01:51:02 +01:00
feder-cr f1e764854f Sites: what forms did on real sites, without calling them unfinished 2026-11-05 01:07:58 +01:00
feder-cr 5356361bbb Docs: each site's real status in docs/sites.md, linked from the README
The README site list is replaced by a one-line summary and a link to a
table of status per site, from the real forms trials and the index counts.
Ashby's after-sending section quotes the page a real send showed; the
SmartRecruiters plugin says what stops it today.
2026-11-05 01:07:18 +01:00