03 / The Reliability Lab
The rewrite looked right.
Then somebody checked it.
A CV sentence can invent a company. Write one below, choose what it cites, and watch the check decide.
A CV sentence can invent a company. Here is one that cites its sources, and the reading the check gives it.
No model is called. Everything here runs in your browser.
The material
- Opportunityopportunity-1Graduate data analyst role, Accra.
- Requirement 2requirement-2Python and SQL for reporting.
- Evidence 1evidence-1Class project analysing 1,200 sales records.
- Selected bulletbullet-1Worked on a sales analysis project.
Both sides cited. The claim is still a person’s to check.
The material
- Opportunityopportunity-1Graduate data analyst role, Accra.
- Requirement 2requirement-2Python and SQL for reporting.
- Evidence 1evidence-1Class project analysing 1,200 sales records.
- Selected bulletbullet-1Worked on a sales analysis project.
A sentence that cites both sides
“Built Python and SQL queries to analyse 1,200 sales records.”
Cites requirement-2 and evidence-1.
The bench needs JavaScript. Everything below reads without it.
What the check looks at
Four things, in order. The contract in the product refuses two more before any of this runs: a reply that isn’t JSON, and a reply that isn’t a rewrite.
- Cites somethingA proposal with no source ids cites nothing, so it stops there.
- Only ids it was givenEvery id has to be one the request actually supplied. No invented ids.
- A requirement and evidenceAt least one requirement-* and one evidence-* id, or the claim has no footing.
- Then a personWhat passes is a proposal for review. Not a verified claim, and not an applied edit.
Request limits: 12 items, 8,000 characters each, 24,000 in total.
What actually happened
My CV assistant wrote fluent bullets. Some invented employers, years and percentages that were nowhere in the data it had been given.
A better prompt wasn’t the fix. The request now carries the material explicitly, and the reply has to point at the ids it used before a person ever sees it.
That revision is in the source. It isn’t redeployed yet, and I haven’t measured whether the live model behaves better. The Syncareer case study has the rest.
Before
“Results-driven engineer with 5 years of Kubernetes experience who transformed deployments at Acme Corp, improving speed by 40%.”
Free text. Nothing to check.
After
“Built Python and SQL queries to analyse 1,200 sales records.”
Cites what it used, and a person still reads it.
What this can’t tell you
Whether the sentence is true. These checks read structure and citations, not meaning, so a line can cite everything and still be wrong — which is why a person still reads it.
The checker here is a small subset of the product’s validator, written for this page. Both fixtures are mine, not captured output.
The contract this imitates
{
"kind": "rewrite",
"text": "Built Python and SQL queries to analyse 1,200 sales records.",
"sourceContextIds": ["requirement-2", "evidence-1"]
}Excerpt from career-guidance/contract.ts. The gate in this page is a subset of it.