Role Intel
€7
Measured 2 Sep 2026
A structured read of a role — what a job description is actually asking
for, and how to read it.
Closed vocabularies
Same test as the column beside this one: for each value list, does the
prompt lock it or merely list it. Role Intel answers worse than Profile Intel on
the first vocabulary, and that is the most important line on this page.
Role archetypes 7, listed — not locked
Builder · Operator · Specialist · Connector · Fixer · Translator · Anchor
The prompt carries the seven bare words and no definitions. The
definitions exist only as tooltip strings in the renderer, written after the fact, and the model
never sees them. There is no runtime check that the emitted value is one of the seven. A role
carries a dominant archetype and may carry a secondary.
Seniority ladder 5 producible — not validated
Senior IC · Manager · Senior Manager · Director · VP/Executive
These five are the rungs the pay engine can actually price and label.
Three problems sit behind that sentence. The free-text matcher accepts seventeen tokens and
maps them onto those five. ic_junior is priced but has no band label, so a
junior role is captioned with the senior band's name, and it is absent from the ladder, so it can
never be scope-adjusted. And ic_mid, c_level and head_of are
referenced by three consumers but producible by none.
Occupational family · geography closed
Families resolve through an alias map to a canonical set. Geography
resolves to one of ten bands: four Romanian cities plus RO_other, and
EU_west, EU_cee, EU_south, EU_nordic_ch,
EU_unspecified. Pay is held per family × geography × rung.
Pay confidence closed
Calibrated or Estimated, with
Disclosed where the employer published a band. Any inferred seniority now forces
Estimated — that was shipped on 1 September 2026 and was not true before it.
Two vocabularies are not closed, and one of them is not a vocabulary at all.
gap_type — the label naming what a role is missing — has no fixed
list: two runs of the same input produced eight distinct labels with one overlap. And
role_seniority_chip has no runtime validator anywhere in the pipeline; the
sister product has been observed emitting C-level, which is off-vocabulary, and it
reached a pay band regardless. Both are open. Recorded 2 September 2026.
What is comparable today
So the honest claim is that two Role Intel briefs are comparable on
money and on the classifications that set it, and not on the single word that names the role's
shape. That word is the most quotable thing on the brief and it is the least reproducible.
What is confirmed, and what is inferred
Everything comes from the job description submitted. Nothing is looked
up: the posting is not fetched, the employer is not researched, no listing is retrieved.
Confirmed from the document
- Stated title, location, work model
- Stated responsibilities and requirements
- A published salary range, where the JD gives one
- Stated team size, reporting line, budget
- Named tools, stacks and certifications
Inferred by the system
- Role archetype and secondary archetype
- True seniority and scope versus the title
- JD-inflation signals and severity
- Occupational family and geography band
- Pay figures, which follow from those two
- Transferability and talent-pool depth
These are readings of a posting,
not facts about the employer.
What the system does not do
- It does not fetch the job posting. A brief that claims it retrieved the JD is blocked before
delivery — that is a named gate rule.
- It does not evaluate a person, and it never sees one. A Role Intel brief is a read of a
document about a job.
- It does not tell you whether to apply. It has no verdict field of that kind.
- It does not price above a figure the employer published. The internal table may never outbid
a published ceiling — also a gate rule.
The delivery gate
Deterministic code inside the renderer, not a model. Nineteen
numbered rules, DG-01 to DG-19, gate version 1.8. Each
finding carries a rule id, a severity, a message and a machine-readable evidence object. Any
finding at BLOCK stops delivery; WARN findings are recorded and the brief
ships.
Why 1.8, briefly: 1.7 could reject its own correct output. One
rule demanded a verdict — under-priced, over-priced, or aligned — on every brief, including ones
priced against a job description that published its own salary grid, where no verdict was ever
computable. 1.8 tells the two cases apart before asking for a verdict. The incident that surfaced
it is below, dated.
The gate reports everything it runs — on briefs that ship. On blocked briefs it reported
almost nothing, until today. A delivered brief carries
delivery_gate_findings: the full serialised list of every finding, with ids,
severities and evidence, plus a pass flag and block and warn counts. But a blocked brief
throws, and the throw replaces the output — so the findings were lost precisely when they
mattered. On 1 September a real brief was blocked and the stored reason was 77 characters of
the tail of one sentence, with every rule id cut off; identifying the rule took a
reconstruction from the payload. Two fixes have shipped: the message is now a single line, and the
rule ids are appended at the end, where the truncation keeps them. Recorded 2 September
2026.
Determinism — what we measured
Same intent as the column beside this one, same answer in shape, but
the split falls in a different place: Role Intel's money reproduces and Role Intel's headline
word does not.
Identical input · pay path
Two runs of the same job description on the same day reproduced the pay
figures exactly. A third run, captured separately as a fixture on live code, reproduced an
earlier brief's figures to the euro. A fourth case was checked by recomputing the arithmetic
by hand from the published band: likely offer at the lower third of a
€89,700–€152,300 grid gives €110,566.7, rounded to €110,550, and
the ask at the grid maximum gives €152,300. Both matched the delivered figures
digit for digit.
The pay engine is deterministic code and behaves
like it. Where pay has moved between runs, the cause has been a classification changing
upstream, not the table.
Identical input · the archetype
Sixteen runs of byte-identical input returned Builder six times,
Operator six times, Fixer four times — near-uniform across three of the seven values.
Temperature was tested at three settings including 0; pinning it made the spread worse,
not deterministic.
Separately, six real job descriptions were each submitted twice by
accident, hours apart, byte-identical. The dominant archetype reproduced in 3 of 5 comparable
pairs, the secondary in 1 of 6. In one case a single submission was delivered twice from
literally the same bytes and came back Operator/Translator once and
Builder/Connector the other.
The cause is known and it is not mysterious: the
seven archetypes are handed to the model as a bare list with no definitions. Defining them is the
next change, and it is the cheapest experiment on the backlog. Nobody has run it yet.
A question for whoever maintains the Profile Intel column. The changelog below records an
earlier sixteen-input reproducibility study as unrecorded because its date and fields cannot be
sourced. The sixteen-run study above is a Role Intel archetype study. These may be the
same study, filed against the wrong product. We are flagging the possibility rather than merging
them, because guessing would be exactly the failure the log exists to prevent.
What we claim, precisely
- The generation call runs at temperature 0.3, set explicitly at the request, and the
reviewer at 0.3 as well.
- Seniority band, family, geography and every pay figure reproduced exactly across the
identical-input cases above. Evidence from a handful of documents, not a guarantee.
- The role archetype does not reproduce, at 3 of 5 and 1 of 6, on samples that are small
but consistent, and on a mechanism we can name.
- Whether the generation call ever ran without an explicit temperature is not established.
The retained workflow history reaches back only to 1 September 2026 — four versions, all from
that day — so the question cannot be answered from it. It is not answered by assumption
either.
EU AI Act posture
Not analysed, and not inherited. The Profile Intel analysis turns
on a brief being commissioned by the person it describes. A Role Intel brief describes a
job, is commissioned by a candidate reading that job, and evaluates no natural person at
any point — a structurally different question that has not been worked through. The mechanism
set out under the common engine below is stated there because it is the same whoever reads it;
where the line falls for Role Intel specifically is open.
Submitted material and retention
Not established. Whether Role Intel makes the same retention
promise as Profile Intel, and whether a mechanism stands behind it, has not been audited. Stating
it before checking is how the Profile Intel promise ran ahead of its mechanism, and the same
mistake is not worth repeating on this side of the page.
Delivery identity
A Role Intel brief declares product = "Role Intel", and that
label appears in the brief's provenance paragraph and in its structured page data. Whether the two
products are visually distinguishable to a reader who lands on one has not been audited.
Open backlog
- Role archetype does not reproduce and the seven values are undefined in the prompt.
2 Sep 2026.
- Gap type has no closed vocabulary — 8 labels across 2 runs. 2 Sep 2026.
- No runtime validator on the seniority chip, in either product. 2 Sep 2026.
- Thirteen non-monotonic salary rows: Senior Manager prices above Director in two
families, so a scope adjustment upward lowers the band while the brief says it was
adjusted for scope. 2 Sep 2026.
ic_junior has no band label and cannot be scope-adjusted; a junior role is
priced correctly and captioned with the senior band's name. 2 Sep 2026.
- Three phantom rungs are referenced by consumers and producible by none. 2 Sep 2026.
- Pay figures are not stored, so the database cannot answer what a given brief told a
customer about money. 2 Sep 2026.
- Romanian briefs leak English interface strings — 59 sites inventoried, 46 of them
reaching the page. The locale itself resolves correctly; these are untranslated constants.
2 Sep 2026.
- The scope-adjustment direction is emitted and never read by the renderer, so a brief can
argue a title is inflated and then advise as though it were understated. 2 Sep 2026.
- The engine version stamped into the brief index is four versions stale. 2 Sep 2026.
Profile Intel
€19
Measured 1 Sep 2026
A structured capability read of one person, from their CV, commissioned by
that person.
Closed vocabularies
A closed vocabulary means the system may only emit values from a
fixed list. It is what lets two briefs be compared. Where a vocabulary is not closed,
this page says so.
Profile types 7, closed
Builder · Operator · Specialist · Connector · Fixer · Translator · Anchor
The prompt states these must be exactly this set. A profile
carries a primary type and may carry a secondary. The type is separate from the career
archetype — a free-text positioning label capped at four words, which may never be one of
the seven types.
Career patterns 7, closed
Linear · Progression · Steady · Lateral · Crossover · Multi-track · Multi-context
A profile carries a dominant pattern and, where the shape is dual, a
foundation pattern. The dominant is always the more distinctive of the two, never the more
common one.
Capability ladder 4 bands, closed
Every brief carries four to six capability clusters. Each gets a band,
an evidence confidence and a recency class. The band is not a judgement of the person; it is
a statement about how much of the CV supports the claim.
Evidence confidence
| High | 3+ anchors, 2+ roles |
| Med | 2 anchors, or one role |
| Thin | 1 anchor, or implied |
Recency
| Current | within 2 years |
| Recent | 2–6 years |
| Historic | 7+ years |
The recency gate caps the top of the ladder, and only the top.
If the newest supporting evidence for a capability is seven or more years old and has not been
refreshed by recent work, that capability caps at Expert rather than Distinctive. It is never
dropped below Expert on recency alone. A rare credential stays a rare credential even when it is
old — currency of a capability and rarity of a credential are different axes, and the system does
not collapse them.
Legacy labels. Briefs generated before the ladder was renamed
carry Solid, Developing and Basic. These map to
Demonstrated, Emerging and Emerging. They are not emitted in new output.
One vocabulary is not closed, and you should know which. The management-tier scale used in
the experience timeline — IC / Team Lead / Manager / Senior Manager / Director / VP / C-level
— is specified as a list but not locked the way the vocabularies above are, and its seven values
do not map one-to-one onto the six-rung scale the pay engine uses. A fix is specified and not yet
shipped. Recorded 1 September 2026; see the changelog.
What is comparable today
Comparability rests on the closed value lists, not on the prose being
identical. So it holds for exactly the fields whose vocabularies are closed and which
have been shown to reproduce:
So the honest form of the claim is narrower than "briefs are
comparable". Two briefs can be compared on profile type, career pattern, capability band,
seniority, family, geography and the pay figures. They cannot currently be compared on management
tier or peak direct reports. Those two are named in the changelog as open, and this table is what
the claim is reduced to until they close.
What is confirmed, and what is inferred
Everything on a brief comes from the submitted CV. Nothing is looked
up about the person, and no external record is consulted. But not everything on a brief has the
same standing.
Confirmed from the document
- Employers, role titles, stated dates
- Durations computed from those dates
- Stated skills, tools, named credentials
- Stated figures, as the CV states them
- Education and certifications as listed
Every evidence anchor must trace
to specific content in the CV. An empty anchor list is a correct output; an invented one is a
failure.
Inferred by the system
- Profile type and career pattern
- Capability clusters, bands, confidence, recency
- Seniority band and occupational family
- Salary bands, which follow from those two
- Rarity anchors and the misread-risk audit
- Trajectory, fit and direction
These are readings of a
document, not verified facts about a person.
What the system does not do
- It does not verify that a claim in the CV is true. It audits how well the CV
supports the claim, and marks each one substantiated, partial, weak, unverifiable or
unsupported.
- It does not look the person up. No search, no public records, no social profiles.
- It does not rank one person against another. A brief is commissioned by, and about, one
person.
- An impressive company-scale number the audit cannot substantiate is treated as context,
never as a lift to a band, a confidence, a level or a trajectory.
The delivery gate
Before a brief is delivered, a separate reviewer model checks it
against numbered rules and returns pass, warn or fail on each. The gate owns the final decision.
There are 29 numbered phases — eleven K phases and sixteen L phases, plus a truncation
check and a language check. Six L phases carry lettered sub-checks. There is no K8.
The gate reports a subset of what it runs. All 29 phases execute, but the machine-readable
result carries fifteen entries: thirteen rules with a pass / warn / fail, plus two warn-only
sub-checks (seniority anchor, tenure coherence). The remaining sixteen phases act on the output
and raise warnings, but do not surface a per-phase verdict. We are stating this rather than
publishing a rule count that sounds larger than what is reported. Recorded 1 September 2026.
A brief is delivered on pass_validated or
compact_validated. On fail_validated it is held and not sent. A held
brief is a working gate, not a lost order — it means the reviewer found something the read could
not stand on.
Determinism — what we measured
The design intent is that the same CV produces the same brief. That
is not what we measured, so it is not what we claim.
Identical input, two runs · 1 Sep 2026
The classifications that set the salary reproduced
exactly. The management-scope reading did not.
Eighteen characters changed · 1 Sep 2026
The same document with an eighteen-character phrase deleted from one
bullet. Nine of twelve timeline rows were identical. Three moved, and the peak-level reading
moved with them:
Peak management level for the whole profile: Director in one run,
Manager in the other — a two-band swing on the same document. The claims audit also differed:
twelve claims listed in one run, thirteen in the other, and the one claim marked unsupported in
the first was not audited at all in the second. That single difference propagated to the
inflation-risk label and to whether a whole block appeared on the page.
The prediction under test — that the phrase was setting
the seniority band — was wrong. The band did not move; the management tier did. We are
recording the failed prediction because it is the result.
What we claim, precisely
- Generation runs at temperature 0.3. It is a language model reading a document, and it does
not repeat itself exactly.
- On the evidence above, seniority band, occupational family, geography and the likely-offer
figure reproduced exactly across identical input. That is a measurement on one document with
two runs — it is evidence, not a guarantee.
- Management tier, peak direct reports and the claims audit did not reproduce. Named,
dated, and open.
- Both studies were run after 28 August 2026, so they describe the engine as it is
configured today. They are not a measurement of the briefs produced before that date, which ran
at a materially higher temperature — see the changelog.
- Comparability rests on the closed value lists, and the table above names which fields that
covers today.
EU AI Act posture
A Profile Intel brief is a capability overview commissioned by the
person it describes, and in that use it is not a high-risk AI system. Using one to evaluate,
screen, rank or compare someone else against a role is a different purpose and may fall
within high-risk classification. The mechanism, and the date it applies, is set out under the
common engine below.
Open backlog
- Management-tier vocabulary is not closed. Fix specified, not shipped. 1 Sep 2026.
- Peak direct reports does not reproduce, and it is load-bearing on the pay figure via a
peak-management premium. 1 Sep 2026.
- The claims audit varies in selection, not rating — which moves the inflation label and
whether a whole pay block renders. 1 Sep 2026.
- An earlier sixteen-input reproducibility study is unrecorded because its date and
fields cannot yet be sourced. 1 Sep 2026.
- Suppressed-pay wording renders in English on Romanian briefs. 2 Sep 2026.