Reference schemes · v0.5.0

XEO schemes — the slots, filled

The ontology ships classes, never values: slots like xeo:gapType, xeo:atPriority, xeo:status are skos:Concept ranges you fill with your own scheme. This page is one published answer — the vocabulary one agency actually runs in production, under its own namespace https://xeoontology.org/schemes#. Adopt a scheme as-is, extend it, or replace it: the slot is what XEO defines; a scheme is one answer. Every skos:notation below is the exact string a system stores; schemes.json is the same data as plain JSON (regenerate with tools/gen_schemes.py, never edit by hand), and xeo-schemes.ttl is the Turtle source.

← the ontology itself: 177 terms at /xeo

gapType

§ — Gap types

fills slot xeo:gapType ordered yes — order is meaningful concepts 14

The kinds of Gap a Diagnostic can reveal, in the priority order the structural comparison states them. Five structural findings, four deep-content axes (a missing FAQ block, a missing spec table, a missing certification and a page written for the wrong buyer stage are four different interventions drawn from different tactic categories), four non-structural findings, and one site-level finding. There is deliberately no backlink value: the referring-domain profile is a separate remit. domain_authority_deficit is not that — it is the finding that the page fight is already winnable and the SITE is what is losing.

source: if-control-center packages/contracts/src/gap.ts (GAP_TYPES, GAP_TYPE_LABELS, GAP_TYPE_HINTS) · launch-guardian LG_GAP_TYPES

skos:OrderedCollection — gapType-order — concepts listed in stated order:

missing_page No page for this topic §

They hold a page for this topic and we have none

https://xeoontology.org/schemes#gapType-missing_page

orphaned Orphaned page §

Strong content almost nothing links to — a promotion problem, not a content one

https://xeoontology.org/schemes#gapType-orphaned

buried Buried in the architecture §

Served from too deep in the site against a top-level page

https://xeoontology.org/schemes#gapType-buried

thin_content Thin page §

Comparable page, materially less on it

https://xeoontology.org/schemes#gapType-thin_content

split Split across pages §

Several of our pages share this topic and compete with each other

https://xeoontology.org/schemes#gapType-split

content_subtopic Missing subtopic §

Questions their page answers and ours does not

https://xeoontology.org/schemes#gapType-content_subtopic

content_format_asset Missing format asset §

Specs, comparison tables, calculators, downloads or schema we lack

https://xeoontology.org/schemes#gapType-content_format_asset

content_proof Missing proof §

Named projects, data or certifications we do not show

https://xeoontology.org/schemes#gapType-content_proof

content_intent_fit Buyer-stage mismatch §

Theirs is written for a different stage of the buyer journey

https://xeoontology.org/schemes#gapType-content_intent_fit

visibility_deficit Visibility shortfall §

Estimated traffic we are losing on this topic

https://xeoontology.org/schemes#gapType-visibility_deficit

position_climb Position climb §

We already rank here — this is a climb on an asset we own

https://xeoontology.org/schemes#gapType-position_climb

zero_click Ranking without clicks §

On page one, drawing impressions and no clicks — snippet and intent work

https://xeoontology.org/schemes#gapType-zero_click

project_footprint Project footprint §

They rank for named projects that represent a portfolio asset

https://xeoontology.org/schemes#gapType-project_footprint

domain_authority_deficit Outranked by the site, not the page §

Our page holds up, but their domain outranks ours — a satellite, not a page edit

https://xeoontology.org/schemes#gapType-domain_authority_deficit

gapVerdict

§ — Gap verdicts

fills slot xeo:verdict ordered no concepts 5

A topic's disposition on the scoreboard — the operator-facing decision about a Gap. Carried by exactly one finding per topic per analysis: a verdict is a property of the topic, and a topic's other findings carry none rather than repeating a disposition the analysis did not reach for them.

source: if-control-center packages/contracts/src/gap.ts (GAP_VERDICTS) · launch-guardian LG_GAP_VERDICTS

attack Attack §

They hold a strong page and we have none or a weak one

https://xeoontology.org/schemes#gapVerdict-attack

defend Defend §

Comparable, and our own trend is falling

https://xeoontology.org/schemes#gapVerdict-defend

fix_first Fix first §

Our content is strong but orphaned, split or buried

https://xeoontology.org/schemes#gapVerdict-fix_first

hold Hold §

Ours is the stronger page

https://xeoontology.org/schemes#gapVerdict-hold

ignore Ignore §

Off-ICP or unwinnable

https://xeoontology.org/schemes#gapVerdict-ignore

magnitudeUnit

§ — Magnitude units

fills slot xeo:magnitudeUnit ordered no concepts 8

The unit of a Gap's size, where the finding IS a size. A magnitude is never rendered bare. sessions_estimated names the CTR-model provenance in the unit itself, so a derived session figure can never render as a measured one. referring_domains counts domains pointing at a site and is deliberately a separate unit from inlinks, which counts a crawl's internal links — one unit for both would invite a comparison between them.

source: if-control-center packages/contracts/src/gap.ts (MAGNITUDE_UNITS) · launch-guardian LG_MAGNITUDE_UNITS

clicks Clicks §

{n} clicks

https://xeoontology.org/schemes#magnitudeUnit-clicks

impressions Impressions §

{n} impressions

https://xeoontology.org/schemes#magnitudeUnit-impressions

keywords Keywords §

{n} keywords

https://xeoontology.org/schemes#magnitudeUnit-keywords

positions Positions §

{n} positions

https://xeoontology.org/schemes#magnitudeUnit-positions

referring_domains Referring domains §

{n} referring domains pointing at the site

https://xeoontology.org/schemes#magnitudeUnit-referring_domains

sessions_estimated Sessions (estimated) §

≈{n} sessions/mo, derived by a CTR model — never a measured figure

https://xeoontology.org/schemes#magnitudeUnit-sessions_estimated

words Words §

{n} words

https://xeoontology.org/schemes#magnitudeUnit-words

priority

§ — Priority tiers

fills slot xeo:atPriority ordered yes — order is meaningful concepts 3

The priority a Recommendation is issued at. Three tiers, read as a horizon rather than a severity: now, next, later. Where another system speaks critical/high/medium/low, map critical and high to P0, medium to P1, low to P2 — the mapping is documented here so it is not re-decided per consumer.

source: if-control-center packages/contracts/src/recommendation.ts (RECOMMENDATION_PRIORITY_TIERS) · launch-guardian

skos:OrderedCollection — priority-order — concepts listed in stated order:

P0 Now §

Do this in the current cycle

https://xeoontology.org/schemes#priority-P0

P1 Next §

Queued behind the current cycle

https://xeoontology.org/schemes#priority-P1

P2 Later §

Worth doing; not yet scheduled

https://xeoontology.org/schemes#priority-P2

intervention

§ — Interventions — the service catalogue

fills slot xeo:inIntervention ordered no concepts 8

The categories of work an agency can deploy — its service catalogue, as XEO's Intervention taxonomy. A Tactic is inIntervention exactly one of these; a Project's contract scope is expressed over them. Each carries who controls the work (agency, client, or the community) and a typical lead time, because both decide whether a recommendation is deliverable or advisory. The experiment ledger keys the same categories by numeric code; that crosswalk is the ledger's own catalogue, not restated here.

source: xeo-graph-kit seed/framework.cypher (InterventionType) · if-event-ledger tactic_category (numeric codes, served by the ledger's catalog endpoint)

brand-entity-ops Brand / entity operations §

Entity truth, author entities, brand accuracy across the web

category consulting · controlled by client · lead time variable

https://xeoontology.org/schemes#intervention-brand-entity-ops

community-mobilization Community mobilization §

The floor beneath the floor — only works if the counter-narrative already exists unprompted

category community · controlled by community · lead time 8+ weeks

https://xeoontology.org/schemes#intervention-community-mobilization

content-optimization Content optimization / refresh §

Revising pages the client already holds

category content optimization · controlled by agency · lead time 1–2 weeks

https://xeoontology.org/schemes#intervention-content-optimization

editorial-placement Third-party editorial placement §

Earned media: a placement on a third-party editorial surface

category earned media · controlled by agency · lead time 2–4 weeks

https://xeoontology.org/schemes#intervention-editorial-placement

local-placement Local / community placement §

Earned media: a placement on a local or community surface

category earned media · controlled by agency · lead time 2–4 weeks

https://xeoontology.org/schemes#intervention-local-placement

onsite-content-advisory Onsite content advisory §

Content direction the client's own team executes

category consulting · controlled by client · lead time variable

https://xeoontology.org/schemes#intervention-onsite-content-advisory

owned-content-creation Owned content creation §

New pages or assets on the client's own site

category content creation · controlled by agency · lead time 4–8 weeks

https://xeoontology.org/schemes#intervention-owned-content-creation

technical-onsite Technical onsite work §

Site infrastructure, rendering, schema, performance — executed by the client's engineers

category consulting · controlled by client · lead time variable

https://xeoontology.org/schemes#intervention-technical-onsite

recommendationStatus

§ — Recommendation execution lifecycle

fills slot xeo:status ordered yes — order is meaningful concepts 5

The execution lifecycle of a Recommendation, as xeo:status on that node. pending, in_progress and blocked are the OPEN states — they still consume an engagement's intervention quota. The delivery board buckets these five into recommended / active / blocked / measuring / completed, where measuring is a completed recommendation still inside its results window; that bucketing is a derived view, not a second vocabulary. A system with a skipped state maps it to cancelled.

source: if-control-center packages/contracts/src/recommendation.ts (RECOMMENDATION_STATUSES) · launch-guardian LG_RECOMMENDATION_STATUSES

skos:OrderedCollection — recommendationStatus-order — concepts listed in stated order:

pending Proposed §

Issued and not yet started; counts as open work

https://xeoontology.org/schemes#recommendationStatus-pending

in_progress In progress §

Being executed; counts as open work

https://xeoontology.org/schemes#recommendationStatus-in_progress

blocked Blocked §

Cannot proceed — a dependency, an approval, or a client direction; still counts as open work

https://xeoontology.org/schemes#recommendationStatus-blocked

cancelled Cancelled §

Withdrawn with a recorded reason; never silently dropped

https://xeoontology.org/schemes#recommendationStatus-cancelled

completed Done §

Shipped; measuring until its results window closes

https://xeoontology.org/schemes#recommendationStatus-completed

effort

§ — Effort estimates

fills slot xeo:effortEstimate ordered yes — order is meaningful concepts 4

How long a Recommendation is expected to take to execute — a categorical horizon, not a score. Scored dimensions (impact, risk, time-to-value) belong on a TacticAssessment via onDimension; this is the delivery-side estimate an operator plans a cycle around.

source: if-control-center packages/contracts/src/recommendation.ts (RECOMMENDATION_EFFORTS)

skos:OrderedCollection — effort-order — concepts listed in stated order:

hours Hours §

Done inside a working day

https://xeoontology.org/schemes#effort-hours

days A day or two §

A short, bounded piece of work

https://xeoontology.org/schemes#effort-days

weeks Weeks §

A multi-week deliverable

https://xeoontology.org/schemes#effort-weeks

quarter A quarter §

A programme, not a task

https://xeoontology.org/schemes#effort-quarter

execution

§ — Who executes

fills slot xeo:execution ordered no concepts 2

Who does the work a Recommendation calls for. ours spends the engagement's intervention allowance; advised does not, because advisory work is not agency capacity. This is the delivery-side half of the scope gate: requiresCapability says whether the work is possible, execution says whose hours it costs.

source: if-control-center packages/contracts/src/recommendation.ts (RECOMMENDATION_EXECUTIONS)

advised Client does it §

Advisory — outside the allowance; the client executes

https://xeoontology.org/schemes#execution-advised

ours We do it §

Spends the engagement allowance

https://xeoontology.org/schemes#execution-ours

practiceOutcome

§ — What a Practice did

fills slot xeo:practiceOutcome ordered no concepts 3

What a Practice did to a candidate when it fired — the value carried on the appliedPractice audit edge. One outcome per practiceKind: a guardrail vetoes, a preference reranks, guidance caveats.

source: if-control-center packages/contracts/src/recommendation.ts (PRACTICE_OUTCOMES) · launch-guardian LG_PRACTICE_OUTCOMES

caveated Flagged §

Guidance attached a caveat and changed nothing else

https://xeoontology.org/schemes#practiceOutcome-caveated

reranked Reordered §

A preference moved the candidate up or down

https://xeoontology.org/schemes#practiceOutcome-reranked

vetoed Blocked §

A guardrail removed the candidate

https://xeoontology.org/schemes#practiceOutcome-vetoed

practiceKind

§ — Practice kinds

fills slot xeo:practiceKind ordered no concepts 3

How a Practice acts on a candidate recommendation. Kept as a small controlled value rather than a subclass.

source: xeo-strategy.ttl (xeo:practiceKind) · if-control-center PRACTICE_KINDS

guardrail Guardrail §

Veto a matching candidate

https://xeoontology.org/schemes#practiceKind-guardrail

guidance Guidance §

Attach a caveat; change nothing

https://xeoontology.org/schemes#practiceKind-guidance

preference Preference §

Reorder a matching candidate

https://xeoontology.org/schemes#practiceKind-preference

practiceSource

§ — Practice provenance

fills slot xeo:source ordered no concepts 3

Where a Practice came from — the confidence ratchet. authored stands on a human's authority; claimed ships low-confidence with a halfLife and decays unless experiments promote it; learned is earned from the experiment ledger, and its confidence ratchets with Outcomes. One class holds a firm SOP and a fragile claim without conflating their trust.

source: xeo-strategy.ttl (xeo:source, on a Practice) · if-control-center PRACTICE_SOURCES

authored Authored §

A human SOP or best-practice — high standing, durable

https://xeoontology.org/schemes#practiceSource-authored

claimed Claimed §

An unproven assertion — ships low-confidence, decays over its halfLife unless promoted

https://xeoontology.org/schemes#practiceSource-claimed

learned Learned §

Earned from the experiment ledger; confidence ratchets with Outcomes

https://xeoontology.org/schemes#practiceSource-learned

practiceStatus

§ — Practice lifecycle

fills slot xeo:status ordered yes — order is meaningful concepts 3

Lifecycle of a Practice, as xeo:status on that node. A proposed Practice is visible but does not fire; superseding one deprecates it — retired, never deleted, so the record of what it vetoed survives.

source: xeo-strategy.ttl (xeo:status, on a Practice) · if-control-center PRACTICE_STATUSES

skos:OrderedCollection — practiceStatus-order — concepts listed in stated order:

proposed Proposed §

Visible; does not fire

https://xeoontology.org/schemes#practiceStatus-proposed

active Active §

Fires on matching candidates

https://xeoontology.org/schemes#practiceStatus-active

deprecated Deprecated §

Superseded; retained for the audit trail

https://xeoontology.org/schemes#practiceStatus-deprecated

experimentStatus

§ — Experiment lifecycle

fills slot xeo:status ordered yes — order is meaningful concepts 4

Lifecycle of an Experiment, as xeo:status on that node. unmeasurable covers two arrivals with one word — an operator cleared the measured set, or the website has no search-performance history to measure against; the record says which.

source: if-control-center packages/contracts/src/recommendation.ts (EXPERIMENT_STATUSES)

skos:OrderedCollection — experimentStatus-order — concepts listed in stated order:

measuring Measuring §

Inside its results window; observations still arriving

https://xeoontology.org/schemes#experimentStatus-measuring

concluded Concluded §

Window closed; an Outcome is recorded and immutable

https://xeoontology.org/schemes#experimentStatus-concluded

cancelled Cancelled §

Stopped before conclusion, with a reason

https://xeoontology.org/schemes#experimentStatus-cancelled

unmeasurable Not measurable §

No usable baseline or observation stream

https://xeoontology.org/schemes#experimentStatus-unmeasurable

outcomeResult

§ — Outcome results

fills slot xeo:result ordered no concepts 3

Whether an Outcome moved. A regression IS significant: result answers did this move, and the lift's sign answers which way. The labels must not smuggle a direction in.

source: if-control-center packages/contracts/src/recommendation.ts (OUTCOME_RESULTS)

inconclusive Inconclusive §

Could not be judged — see resultReason

https://xeoontology.org/schemes#outcomeResult-inconclusive

no_change No change §

Measured, and it did not move

https://xeoontology.org/schemes#outcomeResult-no_change

significant Moved §

The measured change clears the significance bar, in either direction

https://xeoontology.org/schemes#outcomeResult-significant

outcomeResultReason

§ — Why an outcome was inconclusive

fills slot xeo:resultReason ordered no concepts 7

Why an Outcome could not be read cleanly. The two confounder reasons read differently on purpose: co_intervention keeps its lift and names the rows it shares attribution with; confounded_external records none. below_volume_floor and no_page_data are not the same sentence — the second asserts an absence, the first says there is data and not yet enough of it.

source: if-control-center packages/contracts/src/recommendation.ts (OUTCOME_RESULT_REASONS)

baseline_unavailable No search history before this shipped §

Nothing to compare against

https://xeoontology.org/schemes#outcomeResultReason-baseline_unavailable

below_volume_floor Not enough traffic to judge §

The page has data, and not yet enough for a percentage to mean anything

https://xeoontology.org/schemes#outcomeResultReason-below_volume_floor

co_intervention Shared with other work of ours §

Another of our interventions touched the same pages in the window; lift is kept and attribution is shared

https://xeoontology.org/schemes#outcomeResultReason-co_intervention

confounded_external Something outside our work changed the page §

An external event confounds the window; no lift is recorded

https://xeoontology.org/schemes#outcomeResultReason-confounded_external

no_page_data No search data for this page §

A complete window with no rows at all on the address

https://xeoontology.org/schemes#outcomeResultReason-no_page_data

no_qualifying_snapshot Waiting on a reading §

No qualifying rank snapshot has arrived yet

https://xeoontology.org/schemes#outcomeResultReason-no_qualifying_snapshot

window_incomplete Window still filling §

The results window has not closed

https://xeoontology.org/schemes#outcomeResultReason-window_incomplete

objectiveMetric

§ — Objective metrics

fills slot xeo:metric ordered no concepts 6

The metrics a MetricTarget can be set on. Half the vocabulary is lower-is-better — position and rank_absolute are 1-based ranks — so a target's direction is DERIVED from the metric, never client input; a shared +20% across metrics would silently ask for a rank 20% worse. The note on each concept records direction and unit.

source: if-control-center packages/contracts/src/objective-metric.ts (OBJECTIVE_METRICS, METRIC_DIRECTIONS, METRIC_UNIT_OF) · launch-guardian LG_OBJECTIVE_METRICS

clicks Clicks §

Search clicks over the window

direction up · unit count · source GSC

https://xeoontology.org/schemes#objectiveMetric-clicks

ctr CTR §

Clickthrough rate over the window

direction up · unit percent · source GSC

https://xeoontology.org/schemes#objectiveMetric-ctr

etv Est. traffic value §

Estimated traffic value

direction up · unit currency · source DataForSEO

https://xeoontology.org/schemes#objectiveMetric-etv

impressions Impressions §

Search impressions over the window

direction up · unit count · source GSC

https://xeoontology.org/schemes#objectiveMetric-impressions

position Avg position §

Average SERP position over the window

direction down · unit rank · source GSC

https://xeoontology.org/schemes#objectiveMetric-position

rank_absolute Rank §

Absolute rank from a rank tracker

direction down · unit rank · source DataForSEO

https://xeoontology.org/schemes#objectiveMetric-rank_absolute

engagementType

§ — Engagement types

fills slot xeo:engagementType ordered no concepts 2

The shape of a Project's contract — the discriminator for how its scope is expressed. A retainer caps interventions per recurring period (cadence); a one-off caps them over a fixed run (durationDays). The intervention quota is common to both and always required: a scope of work with no ceiling is not a scope.

source: if-control-center packages/contracts/src/objective-metric.ts (ENGAGEMENT_TYPES) · launch-guardian LG_ENGAGEMENT_TYPES

oneoff One-off §

Fixed run; the quota covers durationDays

https://xeoontology.org/schemes#engagementType-oneoff

retainer Retainer §

Recurring; the quota resets every cadence period

https://xeoontology.org/schemes#engagementType-retainer

cadence

§ — Retainer cadences

fills slot xeo:cadence ordered yes — order is meaningful concepts 2

The recurring period a retainer's intervention quota resets over. Applies to retainer Projects only.

source: if-control-center packages/contracts/src/objective-metric.ts (PROJECT_CADENCES) · launch-guardian LG_PROJECT_CADENCES

skos:OrderedCollection — cadence-order — concepts listed in stated order:

monthly Monthly §

Quota resets each month

https://xeoontology.org/schemes#cadence-monthly

quarterly Quarterly §

Quota resets each quarter

https://xeoontology.org/schemes#cadence-quarterly

targetKind

§ — Target kinds

fills slot xeo:targetKind ordered no concepts 2

How a MetricTarget's targetValue is read: as an absolute value of the metric, or as a percent change from the captured baseline.

source: if-control-center packages/contracts/src/objective-metric.ts (OBJECTIVE_TARGET_KINDS) · launch-guardian LG_OBJECTIVE_TARGET_KINDS

absolute Absolute §

targetValue is a value of the metric itself

https://xeoontology.org/schemes#targetKind-absolute

percent Percent lift §

targetValue is a relative change from baseline, in the metric's better direction

https://xeoontology.org/schemes#targetKind-percent

epistemicLayer

§ — Epistemic layers

fills slot xeo:epistemicLayer ordered yes — order is meaningful concepts 6

The six kinds of claim an XEO term can make, in order from bedrock to governance. The annotation property types TERMS; publishing the six here as a scheme gives a consumer tagging INSTANCES the same six values under one IRI each. Whether XEO itself should own an instance-level layer property is a separate decision this scheme does not make.

source: xeo-core.ttl (xeo:epistemicLayer)

skos:OrderedCollection — epistemicLayer-order — concepts listed in stated order:

entity Entity §

A durable identity — a website, a page, a term, a brand

https://xeoontology.org/schemes#epistemicLayer-entity

episode Episode §

Something that happened at a time; immutable once finished — a crawl, a captured response, an experiment

https://xeoontology.org/schemes#epistemicLayer-episode

observation Observation §

A measured fact, grounded in a standard or an API contract

https://xeoontology.org/schemes#epistemicLayer-observation

derivation Derivation §

Model or algorithm output; carries method, model and confidence

https://xeoontology.org/schemes#epistemicLayer-derivation

interpretation Interpretation §

A labeled claim — a diagnosed gap, a recommendation, an objective

https://xeoontology.org/schemes#epistemicLayer-interpretation

norm Norm §

A standing rule about a class of cases — a Practice

https://xeoontology.org/schemes#epistemicLayer-norm