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 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
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
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
inlinks Internal links §
{n} internal links, counted by a crawl
https://xeoontology.org/schemes#magnitudeUnit-inlinks
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
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:
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
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
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:
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)
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
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
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
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:
deprecated Deprecated §
Superseded; retained for the audit trail
https://xeoontology.org/schemes#practiceStatus-deprecated
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
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
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)
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
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
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
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:
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
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