JobAgent · system map
JobAgent, under the hood
Explore how an advert moves through the agent: plain rules first, then a score and a draft from Claude, then checks it did not write, and a person’s yes before anything is sent. Play the tour, pick one of the 8 journeys, or select any part to see what it does.
Verified against the code and database, 12 October 2026
Journeys8 journeys through the system
Every application starts as an advert on a job board. Follow one to a verified draft through 23 parts and 29 connections.
By the numbers
- adverts tracked since 10 July 2026
- 13,462
- rejected by rules before any score
- 2,148
- dropped by rules at intake, in logged runs
- 7,163+
- duplicates dropped at intake, in logged runs
- 3,268
- scored by Claude from the full advert
- 10,096
- scored 60 or more, the bar for a CV
- 349
- applications sent, each after the person’s go-ahead
- 316
- handed back at a sign-in wall
- 112
Read from the agent database without changing it, and from the run logs, on 12 October 2026.
How each number was counted
- 13,462 adverts tracked since 10 July 2026
- Agent database, read-only count of every advert stored, 12 October 2026.
- 2,148 rejected by rules before any score
- Agent database, adverts rejected by a rule and never scored, 12 October 2026.
- 7,163+ dropped by rules at intake, in logged runs
- The intake run logs. Only logged runs are counted, so this is a minimum, 12 October 2026.
- 3,268 duplicates dropped at intake, in logged runs
- The intake run logs. Only logged runs are counted, so this is a minimum, 12 October 2026.
- 10,096 scored by Claude from the full advert
- Agent database, adverts with a score, 12 October 2026.
- 349 scored 60 or more, the bar for a CV
- Agent database, a score of 60 or more, 12 October 2026.
- 316 applications sent, each after the person’s go-ahead
- Agent database, applications sent, 12 October 2026.
- 112 handed back at a sign-in wall
- Agent database, roles stopped at a sign-in wall, 12 October 2026.
The journeys, step by step
The same 8 journeys the map plays, written out. Each step names the parts it connects.
01From advert to verified draftCollect and rules · 10 steps
- 1The search plan turns the job families and places in the config into this run’s searches.Search plan → Job boards
- 2Each board’s extractor, and each employer site’s fixed page, saves the advert cards, and ingest reads them in.Job boards → Ingest; Employer sites → Ingest
- 3The cards become clean rows, and plain rules sort them.Ingest → Hard filters
- 4Repeats are dropped.Hard filters → Dedupe key
- 5New roles are stored in the tracker, as found.Dedupe key → SQLite tracker
- 6In the person’s own browser, the full advert is read and saved word for word.Browser session → Full advert
- 7Claude scores the role from that text.Full advert → Fit scoring
- 8A score of 60 or more gets a CV, tailored to that one advert.Fit scoring → CV writer
- 9Independent checks follow: structure and keywords, grounding, the person’s own rules, then a fresh score from a reviewer that did not write the CV.CV writer → Gate A; Gate A → Grounding check; Grounding check → Gate B; Gate B → Re-score
- 10A draft that passes every check is marked verified in the tracker.Re-score → SQLite tracker
02Rejected by the rulesRules · 2 steps
- 1A title on the reject list, an advert over 14 days old, a closing date that has passed, an on-site role outside the allowed places, or pay below the floor: the advert never reaches Claude.Hard filters → SQLite tracker
- 2The same board id, or the same company, title and location, is dropped. Likely reposts are flagged.Dedupe key → SQLite tracker
03Score bandsClaude · 3 steps
- 1The score always comes from the full advert, because a title can hide a different kind of job.Full advert → Fit scoring
- 2Claude matches each requirement in the advert to evidence in the master profile, then picks a score from 0 to 100.Master profile → Fit scoring
- 3Code turns the score into a status: 60 or more gets a CV, 50 to 59 waits for the person, under 50 is rejected.Fit scoring → Score bands
04A failed grounding checkDrafts and checks · 4 steps
- 1The grounding check compares every number and claim in the CV with the master profile.Master profile → Grounding check
- 2A CV with an invented number fails, and goes back with the exact fixes.Grounding check → CV writer
- 3The fixed CV is checked again. The pipeline allows at most two retries.CV writer → Grounding check
- 4After that, a person decides.Grounding check → Approval
05Applying only with a go-aheadPerson and output · 3 steps
- 1Roles that are ready are listed for the person, with their files and answers.SQLite tracker → Approval
- 2One yes covers exactly the roles listed, and nothing more.Approval → Apply
- 3Each application is made one role at a time, and its route and confirmation are recorded in the tracker.Apply → SQLite tracker
06A sign-in wallPerson and output · 2 steps
- 1On an account, password, code or CAPTCHA page, Claude stops typing.Apply → Sign-in hand-back
- 2The role goes on the hand-off sheet, for the person to finish.Sign-in hand-back → Daily report
07The daily reportPerson and output · 2 steps
- 1The end-of-run checks must show zero unread rejections, unmapped scores and stale rows.SQLite tracker → Daily report
- 2The workbook, the run log and the “Needs you” list go to the person.Daily report → Approval
08Where AI is used, and where rules areAI · 5 steps
- 1The hard filters and the dedupe key are plain code. A rejected advert is never shown to a model.Ingest → Hard filters; Hard filters → Dedupe key
- 2Claude gives the score. Plain code turns it into a band.Full advert → Fit scoring; Fit scoring → Score bands
- 3Claude writes the CV. Gate A, the grounding check and Gate B are plain code.Fit scoring → CV writer; CV writer → Gate A; Gate A → Grounding check; Grounding check → Gate B
- 4A cover letter is written only when it helps, then edited to remove AI-sounding phrasing.Warrant test → Cover letter
- 5Claude comes back once more, as a reviewer that did not write the CV.Gate B → Re-score
Want an agent that does the volume while people keep the yes?
Tell us about the high-volume work your team reads and drafts. We'll reply within two business days with a first view of what we'd build.