Schema.ai· vLLM
vLLM v0.23.0API up

Graph model

This page defines the Schema.ai knowledge-graph model: what the records are, what every controlled vocabulary value means, and how the design maps onto standard knowledge-graph practice. It is kept in lockstep with the schema by an automated check — if a value exists in the graph, it is defined here.

The model in one paragraph

Schema.ai is a property graph with reified assertions. Entities are the nodes — metrics, settings, behaviors, components. Edges are typed, directed links between entities that make relationships traversable. Claims are the truth-bearing records: each one is a reified assertion about a subject entity, carrying its own evidence, applicability scope, epistemic status, and time metadata. Edges never assert anything on their own authority — every edge cites the claims that ground it (claim_refs). The corpus is an append-only event log (assert / retract / supersede), so the graph at any moment is a projection of its history, and nothing is ever silently deleted.

In knowledge-graph terms: claims are n-ary relations in the style of Wikidata statements or RDF-star — a core subject–predicate–object triple promoted to a first-class node so that qualifiers (our guards), references (our evidence), and temporal validity (our knowledge time and version applicability) can attach to the assertion itself. The graph is open-world by default — absence of a record implies nothing — except where an inventory is declared complete, which enables closed-world absence answers ("this metric does not exist in this version").

The product principle shaping all of it: Schema returns knowledge building blocks plus how to interpret them, not finished answers. Every structure below exists to keep those blocks precise, attributable, and honestly scoped.

Nodes: entities

An Entity is a stable, linkable handle for something operators name: it has an id, an entity_type, a title, alternate names (the alias surface lexical retrieval matches against), and a description. Entities carry no truth about behavior — that lives in claims about them.

EntityType

software_projectA product or project the graph covers — e.g. vLLM itself. The root node other entities belong to.
releaseA tagged upstream release of a project. Version applicability is expressed against releases, not wall-clock time.
settingA named configuration knob as operators think of it (e.g. max_num_seqs), independent of where it is exposed.
config_classA code-level configuration object (e.g. SchedulerConfig) that groups settings in the implementation.
configuration_surfaceOne concrete place a setting is exposed: a constructor parameter, CLI flag, or environment variable. A setting can have several surfaces.
metricAn observability time series (e.g. vllm:prefix_cache_queries). Metric entities carry an instrument_type from which exposition aliases are derived mechanically.
runtime_componentAn internal subsystem of the product (e.g. the scheduler) that behaviors and metrics attach to.
log_messageA recognizable log line or log-message family operators encounter and search for.
failure_modeA named way the system degrades or breaks, as a linkable concept rather than prose.
tuning_actionA named operator intervention (e.g. lowering a batch limit) that claims and guidance can reference.
source_artifactA cataloged source document or file treated as a graph node so provenance is traversable.
behaviorA named runtime behavior or condition (e.g. prefix cache reuse, KV-cache preemption pressure) — the subject of guidance that is about dynamics rather than any single metric or setting.

InstrumentType

On metric entities only; drives mechanical derivation of Prometheus exposition aliases (counter _total, histogram _bucket/_count/_sum).

counterMonotonically increasing value, reset on restart. Prometheus exposes counter samples with a _total suffix — the graph derives that alias from this field.
gaugePoint-in-time value that can go up or down.
histogramBucketed distribution; exposed as _bucket/_count/_sum series, also derived as aliases.

Edges: typed entity relationships

An EntityEdge is a directed, typed link between two entities with a human-readable description and — critically — claim_refs: the claims that establish the relationship. Edges are for traversal ("what observes this behavior?", "what bounds this parameter?"); claims are for truth. An edge without a grounding claim is a modeling error.

EntityEdgeType

has_configuration_surfaceSetting → surface: where the setting is exposed.
sets_lower_bound_forParameter → parameter: validated ordering constraint between two knobs.
uses_as_token_budgetBehavior → parameter: the behavior consumes the parameter as its budget.
affects_resource_pressureParameter → behavior: tuning the parameter changes a pressure condition.
shares_scheduler_capacity_tradeoff_withParameter ↔ parameter: adjacent capacity knobs whose tuning trades off.
observes_runtime_stateMetric → behavior: the metric measures a runtime state.
observes_resource_pressureMetric → behavior: the metric measures a pressure condition.

The edge-type vocabulary grows as new relationship shapes are promoted; each addition must define its direction and semantics here.

Claims: reified assertions

A Claim is the unit of knowledge. Its core is a subject–predicate–object triple: the subject is an entity reference, the predicate is drawn from a controlled vocabulary, and the object is structured data (not prose) — a metric type, a default value, a formula. Around that core:

  • statement — the canonical human-readable sentence. Statement fidelity is a hard rule: exact tokens, source specifics preserved, no attribution scaffolding (metadata carries attribution exactly once).
  • evidence — pinned citations into snapshotted sources, each with a role, strength, kind, and extraction method, plus a locator (path and line range). Claims cite spans, not documents.
  • applies_to — product, version range (tags, introduced_in/removed_in, channel), and conditions. Version applicability is deliberately distinct from freshness: a claim pinned to v0.23.0 does not decay because time passes; it stops applying when the version scope no longer matches.
  • guards — structured applicability dimensions that make scope queryable rather than buried in prose.
  • knowledge_time — when the fact was recorded and last verified, with explicit precision.
  • freshness_policy — review and staleness windows driving the freshness state machine.
  • does_not_establish — explicit negative scope: adjacent conclusions the claim must not be stretched to support. This is the anti-overreach field, and it is served, not internal.
  • establishment_class, status, confidence — the epistemic triple: how the fact is established, how far verification has gotten, and how strong the evidence is.

ClaimPredicate

Grows by promotion: candidate claims may propose new predicates (e.g. has_lifecycle_policy from the deprecation-policy candidate); a predicate enters this vocabulary when its first claim is promoted.

has_documented_defaultThe subject's default value as stated by documentation.
has_code_defaultThe subject's default value as read from the implementation.
has_configuration_surfaceThe subject is exposed at a specific configuration surface.
has_tuning_guidanceSourced guidance about adjusting the subject.
has_interpretation_guidanceSourced guidance about how to read or combine observed values of the subject.
constrainsThe subject imposes a validated bound or constraint on another quantity.
affects_behaviorThe subject influences a named behavior (resource pressure, scheduling, etc.).
observes_behaviorThe subject (a metric) measures a named behavior.
has_metric_typeThe subject metric's instrument type, unit, and exposition surface.

EstablishmentClass

enforcedThe fact is enforced by code — validation raises or behavior is structurally guaranteed. Requires code evidence; documentation alone never justifies it.
advisoryMaintainer intent, guidance, policy, or acknowledged caveat. True as a statement about the project's stated position, not a behavioral guarantee.
derivedBehavior a source states as fact. Trustworthy as sourced description, but the code remains authoritative.
benchmarkEstablished by measurement under stated conditions rather than by source text or code reading.

ClaimStatus

verified-codeVerified against a pinned source-code snapshot at the applicable version.
verified-docsVerified against pinned official documentation.
verified-release-noteVerified against a release note.
operator-evidenceGrounded in operator-reported observation rather than upstream sources.
sound-synthesisA composition of verified facts whose joining step is Schema's own reasoning, labeled as such.
needs-verificationExtracted but not yet verified — the status every candidate starts with. Never served as settled.
rejectedReviewed and found unsupported; retained for audit, never served.
contestedSources disagree or review found a live conflict; served only with the conflict visible.

ConfidenceLevel

highDirect, unambiguous evidence at the pinned version.
mediumSolid evidence with an interpretive step or partial coverage.
lowWeak or indirect evidence; served with visible hedging.

GuardDimension

vllm_versionUpstream product version the claim is scoped to.
engine_versionEngine generation (e.g. V1) when it differs from the release tag.
attention_backendAttention backend in effect.
hardware_classHardware family the claim depends on.
model_typeServed-model family the claim depends on.
feature_flagFeature flag that must be on or off.
metric_nameThe specific metric the claim is about.
config_surfaceThe specific configuration surface the claim is about.
runtime_componentThe subsystem the claim is scoped to.
source_scopeScope the source itself declared for the statement.

GuardSourceScope

Every guard records whether its scope came from the source or from us — provenance for the applicability itself.

explicitThe source states this applicability dimension outright.
inferred_from_sectionScope inferred from the section or context the statement appears in — weaker, and marked as such.
unspecifiedThe source does not scope the statement; the guard records our chosen scope.

EvidenceRole

definesThe cited span is where the fact is established (e.g. the metric registration).
documentsThe cited span states the fact in prose.
supportsThe cited span corroborates without being the defining location.

EvidenceStrength

primaryThe load-bearing citation for the claim.
secondaryAdditional grounding; the claim does not rest on it alone.

EvidenceSourceKind

source_codeA pinned source-code snapshot.
documentationA pinned documentation snapshot.

ExtractionMethod

code_introspectionRead from the implementation.
docs_extractionExtracted from documentation text.

TimestampPrecision

instantExact moment known.
dateKnown to the day.
unknownRecorded without reliable precision.

FreshnessStatus

Caveat: the current review/stale windows are authoring-time placeholders and the re-verification process that should progress these states is still being designed. Treat review_due and stale as advisory display states, not operational commitments.

freshInside the claim's review window.
review_duePast review_after_days without re-verification. Current windows are authoring-time placeholders — see the freshness caveat below.
stalePast stale_after_days; served with a strong warning.
retractedWithdrawn via a retract event; never served as current.

Events: the append-only corpus log

Records enter the corpus wrapped in events. Nothing is edited in place from a consumer's point of view: corrections arrive as supersede events, withdrawals as retract events, and the serving stores are projections of the event log at a pinned corpus snapshot id.

CorpusEventType

assertIntroduces a record (claim, entity, edge…) into the corpus.
retractWithdraws a record without deleting its history.
supersedeReplaces a record with a successor, preserving the lineage.

Coverage: topics, availability, gaps

Topics are the slice objects: named groupings of entities and claims that carry coverage meaning ("prefix cache effectiveness"). Topics declare gaps — known missing knowledge is a first-class record, not silence. Availability records inventory what exists on a surface at a version, independent of which members have promoted claims.

ComprehensivenessLevel

Topic-level coverage honesty.

seed_sliceA deliberately small starting slice of a topic.
partialReal coverage with known gaps.
broadMost of the topic covered; gaps enumerated.
comprehensiveThe topic is covered to its declared boundary.

InventoryCompleteness

partial_promoted_sliceOnly promoted members are inventoried; absence of a name means nothing.
complete_inventoryThe inventory enumerates every member at the pinned version — the only state in which Schema answers “X does not exist” (closed-world absence).

Sources and snapshots

Every citation resolves to a pinned snapshot: a content-hashed copy of a source at a specific tag, commit, or retrieval date. Claims never cite live URLs. Source records carry type, authority, and relationship so consumers can weigh provenance.

ArtifactSourceType

source_codeImplementation files at a pinned tag or commit.
official_docsDocumentation maintained by the project.
release_noteRelease announcements and changelogs.
issueIssue-tracker discussions.
postmortemIncident writeups.
runbookOperational procedures.
benchmarkMeasurement reports.

SourceAuthority

officialPublished by the project itself.
maintainerWritten by maintainers outside official channels.
operatorFirst-hand operator experience.
vendorPublished by a vendor with a stake.
communityCommunity-produced material.
generatedMachine-generated; lowest default trust.

SourceRelationship

first_partyThe source belongs to the project the claim is about.
third_partyExternal to the project.

RefreshStatus

unchangedThe latest scheduled re-fetch of the live upstream matched the pinned evidence snapshot; claims citing this source were auto-verified at that instant.
changed-no-claim-impactThe upstream drifted from the pinned snapshot, but no promoted claim cites the drifted material.
changed-needs-claim-reviewThe upstream drifted from the pinned snapshot and claims cite it; those claims stay on their freshness clocks until a human reviews the drift.
candidate_missingThe scheduled re-fetch could not retrieve the upstream (error or gone); treated as unconfirmed, never as absence.

SourceType

docs_pageA documentation page snapshot.
source_fileA code file snapshot.
api_docs_pageA generated API-reference page snapshot.

The extraction and review pipeline

Claims are not written directly. A pinned snapshot goes through an isolated extraction run producing candidate claims — review substrate that never serves canonically. Candidates carry the same core anatomy plus a catalog_context: the extractor's categorization of what kind of claim this is and how consumers would reach it. Review decisions are recorded per candidate; accepted candidates are promoted into assertion events with full evidence locators.

claim_kind

Coarse kind label on candidates (catalog_context). Open vocabulary: a new kind is a review flag, not an error. Current kinds:

policyProject or maintainer process norms — e.g. the metric deprecation policy. Subject is the surface or project the policy governs, never a single metric. Read in reverse, policy is often operator guidance about where signals will surface.
measurement-semanticsWhat a metric actually measures: units, boundaries, encoding, reset behavior.
interpretation-guidanceHow to read or combine values — ratios to compute, charts to join, priorities. Must be reachable from every ingredient it interprets.
lifecycle-factA concrete status event in something's life: deprecated, duplicated, legacy, never-implemented, pending reintroduction.
availability-conditionWhen something exists or is absent: gates, flags, deployment modes.
design-intentWhy the system is built a certain way, including rejected alternatives — the contrast facts.
design-caveatA maintainer-acknowledged limitation or unsettled area (e.g. histogram buckets not final).
collection-architectureHow the numbers are produced: where collection happens, which libraries, which process boundaries.
exposition-conventionNaming and labeling rules on the wire: prefixes, suffix transforms, universal labels.
publisher-behaviorWhat a metrics publisher emits and when (log cadence, endpoint behavior).
runtime-behaviorWhat the system does at runtime (e.g. preemption restarts prefill), independent of any metric.

subject_scope

How wide the candidate's subject is — the axis reviewers navigate a run by.

single-metricAbout one specific metric.
metric-familyAbout a group that shares semantics (the kv_block_* histograms, the spec_decode_* set).
surface-wideApplies to everything on a surface (every counter, every metric name).
behaviorAbout a named runtime behavior rather than any metric.
project-processAbout how the project itself operates.

source_register

The register of the source passage. Register explains establishment class and sets the verification pathway: descriptions are leads pending code confirmation; opinion and intent never harden into enforced facts.

descriptionStates current behavior as fact. Strong lead, but describes the implementation rather than specifying it — code confirmation is the hardening path.
rationaleWhy it is built this way; rejected alternatives. Highest-value, lowest-visibility content — rarely stated anywhere else.
editorial-opinionMaintainer self-criticism (“seems misguided”, “seems duplicative”). Never hardens into enforced fact; valuable as forward-change signal.
historyArchaeology: how things came to be, PR sagas, removed features.
future-intentAspirations and open questions. Describes what should exist, not what does.

relation kinds

PROVISIONAL. Typed relations between claims (relation_hints on candidates). These are hints accumulating as review substrate; the canonical claim-reference mechanism is under active design. Semantics as currently used:

governsA policy claim sets the process context for a concrete fact. Inverse: governed_by.
governed_byA concrete lifecycle fact points to the policy that explains how such changes are signaled — e.g. a deprecated metric's claim reaches the deprecation policy.
interpretsA guidance claim tells consumers how to read one or more ingredient claims. Inverse: interpreted_via.
interpreted_viaAn ingredient claim (e.g. a raw counter) points forward to the guidance that makes it useful (e.g. compute the ratio).
contrasts_withTwo claims form a contrast set — the rejected alternative and the chosen design, or the metric to watch versus the raw ingredients.
groundsA factual claim provides the basis for a guidance or availability statement elsewhere in the graph.

ExtractionRunStatus

runningIn progress.
completedFinished; candidates are review-ready.
failedAborted; candidates unusable.
supersededReplaced by a later run over the same source.

ReviewTargetType

What a review item is about.

candidate_claimA pre-promotion extracted candidate.
claimA promoted, serving claim.
entityA graph node.
entity_edgeA typed edge.
entity_availabilityAn availability/inventory record.
source_artifactA cataloged source.

ReviewDecision

pendingNot yet decided.
acceptedApproved as-is for promotion.
accepted_with_editsApproved contingent on recorded edits.
rejectedNot promoted; reason recorded.
deferredDecision postponed with a reason.

Scenarios: documented question shapes

Query scenarios are product records documenting an operator question shape end to end — verbatim phrasings, the nuance targeted, what Schema does with it, and refs into the claims, topics, and eval fixtures that ground it.

ScenarioStatus

works_todayThe documented behavior is what the product does now.
known_failingThe scenario currently fails and says so — failures are first-class records, not hidden.
aspirationalDescribes intended future behavior.

CapabilityFacet

scopeKnowing what is and is not covered.
retrievalServing the right building blocks for a question shape.
honestyDeclining, hedging, and exposing absence rather than synthesizing.

Relation to standard knowledge-graph theory

For readers arriving from RDF/OWL or property-graph practice: entities and typed edges are the ordinary property-graph layer. Claims are where the model diverges from a plain triple store — a triple like prefix_cache_queries has_metric_type counter is never asserted bare; it is reified so the assertion itself can carry qualifiers (guards ≈ Wikidata qualifiers), references (evidence ≈ Wikidata references), modality (establishment class — enforced/advisory/derived is a modality distinction logic would express as necessity vs. normativity vs. reported fact), and temporal scope (version applicability, distinct from wall-clock freshness). The predicate vocabulary is deliberately small and closed at promotion time, in the spirit of a curated ontology rather than open information extraction; the extraction layer's kind/scope/register labels are a folksonomy stage that feeds ontology growth under review. Provenance follows W3C-PROV instincts (every assertion traces to a pinned snapshot span) without adopting the full vocabulary.