CareerOS Verification layer Spec 04 — Containment

A résumé writer that cannot overstate its author

CareerOS writes job applications automatically. Every sentence it produces is checked against the evidence it claims to come from, and anything unsupported is destroyed before a human ever sees it. This is that check, running live. Edit the rewrite below and watch it be judged.

Evidence on record freyr-01 Source of truth — immutable

Proposed rewrite Type freely — try to sneak something past it
Verdict
PASS ships as written

Why it exists

A model asked to improve a résumé bullet will improve it — including in ways nobody can back up. It promotes supported to drove, moves a number onto a more impressive noun, and adds a tool the person never used.

None of those introduce a new figure or a capitalised name, so a lexical check passes all three. This one compares structure instead: which verb governs the sentence, which noun each number sits beside, and whether a token is a product name.

Three tiers, not two

Reject is for things nobody should have to review — an invented figure, a two-tier authority jump, a fabricated tool.

Review is for genuine ambiguity. A four-word window cannot tell cycle time from onboarding time, so it says so rather than guessing. Every unknown verb routes here too: a gap in the vocabulary is the gate's problem, not the writer's.

A gate that guesses in the strict direction teaches people to override it, and an override habit is worse than a smaller vocabulary.

What it caught

On the first live generation run, the writer produced a 35% improvement for a result that carries no such number. The check discarded the entire message and the deterministic version shipped instead.

Measured against 23 hand-written bullets that must never be rejected, the false-reject rate is zero. A gate that fires on good work gets switched off.

Himanshu Srivastava Python · FastAPI · SQLite Ported to JS for this page — same rules, same thresholds