Glossary
The platform reuses a small vocabulary across every block, and several of the words have a specific meaning here that differs from their ordinary one. Each entry below says what the term is, what it is not to be confused with, and which page holds the detail.
Every definition on this page is drawn from the page named beside it. Where the two ever disagree, the linked page wins — it is closer to the code.
Structure
Section titled “Structure”Product
Section titled “Product”A deployable application assembled from blocks and declared in YAML. A product is the unit you build, test, version and run.
Not to be confused with: a block, which is a capability a product switches on; or a service, which is a running process.
A configurable platform capability — identity, data, secrets, AI, workflow — that a product declares and configures rather than implements. Blocks are grouped into AI, BaaS, Dev and Ops.
Not to be confused with: a service, which is how a block is deployed. One block can be delivered by one service, and a service always belongs to a block.
→ Blocks
Service
Section titled “Service”A running process that delivers a block, named <name>.svc — rules.svc, data.svc,
config.svc. The suffix marks the deployable, not the block.
Not to be confused with: a provider, which is an external system a service talks to.
→ Blocks
Service discovery
Section titled “Service discovery”The registry that records which service instances are currently alive, so callers can find them without static addresses.
Not to be confused with: a configuration source, which supplies values rather than locations.
Tenancy
Section titled “Tenancy”The four-part tenancy coordinate — customer, product, environment, tenant — that
scopes every request, every stored row and every configuration lookup. Carried on HTTP as the
X-Customer, X-Product, X-Env and X-Tenant headers, or established by a bearer token.
Not to be confused with: a tenant alone, which is only the last of the four. Two requests with the same tenant name in different products address different data.
→ Data API
Tenant
Section titled “Tenant”The isolated slot within a customer, product and environment. The narrowest part of a CPET.
Not to be confused with: a customer, which is the organisation, or an environment, which is the deployment stage. A tenant name is only unique inside its CPET.
→ Data API
The configured tenant inventory, held as a tree whose nodes are matched by path against a CPET. A
root-path node (path: "") matches every CPET; a more specific node matches a narrower set. The
config tenant hive is the authoritative inventory of what tenants exist.
Not to be confused with: service discovery, which tracks live processes rather than configured tenants.
→ Config
Entity
Section titled “Entity”A declared data type — its fields, relations, constraints and lifecycle. Entities are what the Data API serves over REST and GraphQL.
Not to be confused with: a datastore, which groups entities, or a trait, which contributes fields to one.
Datastore
Section titled “Datastore”A logical grouping of enums, embeddables and entities. A service has a default datastore named
main; a request may select another with ?datastore=<name>.
Not to be confused with: the underlying database. One datastore is a modeling boundary, not a physical server.
A named group of fields that entities pull in by name, stored under its name: verbatim. The reuse
mechanism for field sets shared across entities.
Not to be confused with: an embeddable, which is a nested value type rather than a set of fields mixed into the host entity.
→ Traits
Pointcut
Section titled “Pointcut”The declarative hook surface: a schema author names a lifecycle method and attaches a script to it.
Entity-scoped only — there is no top-level pointcuts: key, and a top-level block is dropped
silently.
Not to be confused with: a stateflow guard, which gates a state transition rather than wrapping a lifecycle method.
Stateflow
Section titled “Stateflow”A declared state machine on an entity — states, transitions, and the guards:, entry:, exit:
and actions: scripts that run around them. Guards and scripts must carry an inline body.
Not to be confused with: an AI flow, which orchestrates model calls and shares nothing but the word.
Worksheet
Section titled “Worksheet”A time-bounded, in-memory analytics workspace held by one data.svc instance. Destroyed on
restart, deploy or crash.
Not to be confused with: a datastore, which is durable.
AI Flow
Section titled “AI Flow”A declared orchestration of model calls, tools and branches. The external name of the flow block.
Not to be confused with: a stateflow, which is a data-entity state machine, or a harness, which is the cyclic case below.
→ AI Flow
Harness
Section titled “Harness”A flow with cycles — bounded iteration, budget gates, trajectories and resumable runs. Every harness is a flow; a flow that never loops is not a harness.
Not to be confused with: an ordinary flow, which runs to completion without re-entering a step.
A model-driven caller that chooses its own next step within limits the platform sets. Agents run on harnesses.
Gateway
Section titled “Gateway”The single entry point in front of model providers: alias resolution, prompt registry, caching, fallback chains, budgets, metering and audit.
Not to be confused with: the BaaS gateway block, which fronts HTTP services rather than
models. They are different blocks that share a word — which is why their document ids differ,
ai.gateway and baas.gateway.
Provider
Section titled “Provider”An external system a block talks to — a model vendor, an identity provider, an object store. Which provider an alias resolves to is configuration, not rule or flow text.
Configuration
Section titled “Configuration”Configuration source
Section titled “Configuration source”A backend that supplies configuration values — file, environment, remote store. Sources are ordered, and a later source overrides an earlier one.
Not to be confused with: service discovery, which supplies addresses.
→ Config
Related
Section titled “Related”- Blocks — the capability map these terms describe
- Getting Started — the terms in the order you first meet them
- Data API — where most of the data vocabulary is defined