Humainary · Specification 3.15.3

Serventis

Give software a shared language for what happens.

Serventis defines small vocabularies for reporting actions and results. A service reports a failed call. A lock reports a timed-out acquisition. A consumer can interpret both as degraded operation and bring them into one view. Each domain keeps its own vocabulary; consumers choose what to conclude from the reports.

Domain signsReadingsInterpretations

One service

Checkout calls payments. After two retries, the request expires.

Checkout reports each step as a sign from the Services vocabulary. It pairs each sign with CALLER to show its perspective. Together, they form a signal.

What a consumer receives, and the status it reads from each

  1. CALLno reading
  2. FAILDEGRADED
  3. RETRYno reading
  4. FAILDEGRADED
  5. RETRYno reading
  6. EXPIREDEGRADED

A consumer subscribed to checkout reads each signal into a status. FAIL and EXPIRE read DEGRADED. Some observations support no conclusion: starting a call does not, by itself, tell us whether a service is operating well, so the consumer produces no status reading for CALL, and none for RETRY.

DEGRADED is itself a sign, from the Statuses vocabulary, so the consumer can report it for payments just as checkout reported the call. A second consumer weighs that status against the deployment: checkout depends on payments, and payments has read DEGRADED for ten minutes. It reports WARNING, from the Situations vocabulary.

A second domain

A lock reports in its own words, and reads the same way.

Inventory guards its stock records with a lock. When an acquisition waits too long, the lock reports TIMEOUT, from the Locks vocabulary. The consumer that read checkout’s FAIL reads TIMEOUT as DEGRADED too.

Payments, from checkoutFAIL→DEGRADED
Stock lockTIMEOUT→DEGRADED

So payments and the stock lock appear side by side in one view, although Services and Locks share no words and the consumer holds no translation between them. Each domain needs one path up to Statuses, not a path to every other domain.

The reports themselves are unchanged. A consumer that needs to tell a failed call from a timed-out lock still has both signs, and can draw a different conclusion from them.

What you can build

Consumers that turn reports into answers.

Each consumer subscribes to reports and produces something of its own. The first two read the same checkout signals and come away with different answers.

An operational view

One status per subject, whatever its domain.

Receives
Signs from services, locks and queues
Produces
payments DEGRADED
stock lock DEGRADED
orders queue STABLE

A diagnostic trail

The story of one request, step by step.

Receives
The same checkout signals
Produces
checkout → payments
2 retries; request expired

Agent oversight

Whether coordinating agents keep their promises.

Receives
OFFER, PROMISE, FULFILL and BREACH from the Agents vocabulary
Produces
planner STABLE
retriever DEGRADED

The oversight consumer reads FULFILL as STABLE and BREACH as DEGRADED.

A first step

Choose a vocabulary for your subject, report what happens, and connect a consumer.

Reference · Scope

The specification is the language. Not its interpretation, not its execution.

A working system involves three separable things. Only the first is normative, so the specification says only what is true of Serventis rather than of its first implementation.

Normative

The language

What a sign is, what a dimension is, that vocabularies are finite and fixed, that a signal is a qualified sign, that translation is partial, so some observations support no reading. Two implementations that disagree here are not implementing the same thing.

Documented

The policy

Which status a sign indicates, which episode role it takes, whether it reports an act or a result. These are judgments; a consumer that reads a sign differently holds a different opinion within the language, not a misunderstanding of it.

Per runtime

The affordances

Precomputed lookup, interned signal spaces, ordinal addressing. How one runtime makes the model cheap. Another language may find them wrong, so none is imposed.

Conformance tierObligationEntries
UniversalRequired. Every projection provides all of them; without them a projection cannot take part in ascent.8
Registered domainOptional to provide, but fixed in membership, meanings and primary/derived classification once provided.32
Projection-specificUnconstrained in membership; must satisfy the design rules.open

A minimal conformant projection provides the observation model, the two set types, the two instrument protocols, the six universal vocabularies and both vocabulary templates.

A projection is an implementation of the specification in one programming language; Java is the reference projection. Projections preserve the registered vocabularies and their meanings across languages; consumers choose their interpretation policies.

Design principles

Four rules shape every vocabulary.

  1. Bounded vocabularies over open ontologiesEvery sign set is finite, indexed and fixed at publication. Only a closed alphabet lets a consumer ask total questions: does this interpretation handle every sign? Has it seen the whole alphabet?
  2. Implementer-observable signsIn a primary vocabulary the producer never computes a rate, compares against a baseline, correlates, remembers or infers. It names an act it performed or a result it received. Recognising patterns is the consumer’s work.
  3. Partial translation as a featureA sign with no reading in a target vocabulary yields the absent value, never a default. The absence says this observation supports no conclusion there. Forcing totality would manufacture readings the evidence does not support.
  4. Ascent over flatteningDomains do not share one sign set. Meaning is composed hierarchically, from domain to status to situation, rather than by forcing every domain into one vocabulary that fits none of them well.

The observation model

A sign classifies. A dimension qualifies.

An observation is atomic, a bare sign, or qualified: a sign together with a dimension, called a signal. Every observation exposes its sign, so a consumer that needs only the classification reads both alike.

Symbol
The base classification marker. Carries a name unique within its set and a stable index, dense from zero. Signs and dimensions are both symbols.
Sign
Classifies what is being reported. Belongs to exactly one sign set and carries no meaning independent of it.
Dimension
Qualifies a sign. Its set has one uniform kind: a category of unordered peers, or a spectrum whose order is rank.
Signal
A qualified sign. Immutable; two signals are equal when their sign and dimension are equal.
Sign set
A finite, indexed, ordered collection of signs. Membership never changes after publication; adding one is a new version.
Signal space
The product of a sign set and a dimension set, with cardinality |S| × |D|. A property of the vocabulary, not a required construct.

One vocabulary, its whole signal space

Guards: four signs, two criterion dimensions, eight signals. The same sign under two dimensions is two different observations, which is what earns a dimension its place.

Dimensions are perspective, not location. Host, region, shard and tenant are properties of the subject and belong to its name, not to the observation.

Sign
× Identity
× Permission
ATTEMPT
ATTEMPT × IDENTITY
ATTEMPT × PERMISSION
CHALLENGE
CHALLENGE × IDENTITY
CHALLENGE × PERMISSION
GRANT
GRANT × IDENTITY
GRANT × PERMISSION
DENY
DENY × IDENTITYa bad credential
DENY × PERMISSIONa known caller without the right

Translation

Reading a sign into another vocabulary.

No reading and UNKNOWN

No reading means the observation supports no conclusion in the target vocabulary. UNKNOWN is an explicit verdict: a determination was attempted but remained inconclusive. It belongs to Outcomes, not to Statuses.

Act or result

Every sign reports an operation, an act performed, or an outcome, a result observed. One outcome often supports a reading on its own; one operation rarely does. A sign with no reading of its own can still matter by its position in a sequence.

The readings in the opening sections come from the documented policy for Services and Locks. A consumer may adopt another policy and remain conformant.

Instruments and classification

The producer attaches an instrument and reports what it observed.

Signer

Emits bare signs

For a vocabulary with no dimension set: Locks, Queues, Caches, Processes. 19 of the 32 domain vocabularies.

Signaler

Emits signals

For a vocabulary with a dimension set: Services, Leases, Messages, Evals. 13 of the 32.

An instrument exposes exactly one vocabulary and adds no runtime: it does not buffer, coalesce, reorder or accumulate. Emission, ordering, subscription and lifecycle belong to Substrates, the companion specification for circuits that carry values from emitters to subscribers in a guaranteed order. Serventis presupposes it and never reinterprets it; Substrates knows nothing of Serventis.

Primary

A lock reports TIMEOUT

It received the unsuccessful result of its blocking acquisition and reports that result directly. Every component of every observation is chosen from a current act or result.

Derived

A timer reports MISS

It received an elapsed duration and a configured threshold, and had to compare them to choose between MEET and MISS. One derived component makes the whole vocabulary derived.

The boundary is who performs the work. If the mechanism observed has already compared or measured and hands the result over, reporting it is direct observation. The names alone do not reveal the difference.

Universal vocabularies · Required

The upper strata, shared by every domain.

Six shared vocabularies and two templates. Statuses and Situations are the readings and interpretations every domain ascends into; Operations, Outcomes, Systems and Trends are shared signs any domain can be read through. Every projection provides all eight, in every language.

Statuses

7 × 3 · derived

The operational reading, offered with a stated confidence and read from domain signs. Not an HTTP status, not an exit code, not a state machine’s state.

CONVERGINGSTABLEDIVERGINGERRATICDEGRADEDDEFECTIVEDOWN
TENTATIVE
MEASURED
CONFIRMED

Situations

3 × 3 · derived

The situational interpretation: what a state of things means for action. Not an incident, an alert or a page: what to do about it is somebody else’s decision.

NORMALWARNINGCRITICAL
CONSTANT
VARIABLE
VOLATILE

Operations

3 · primary

Episode roles, witnessed as they happen. Not a method call or a unit of work.

BEGINADVANCEEND

Outcomes

3 · primary

Verdicts, witnessed as they are reached. UNKNOWN is a verdict; no reading is not one.

SUCCESSFAILUNKNOWN

Systems

4 × 4 · derived

Pressure against a limit, by the class of limit: room, throughput, connectivity or time.

NORMALLIMITALARMFAULT

CategorySPACE · FLOW · LINK · TIME

Trends

5 · derived

The shape of a series, read from history rather than from one moment.

STABLEDRIFTSPIKECYCLECHAOS

Surveys

template × 3

Agreement among observers. Fixes the dimension set; the caller supplies the sign set.

DIVIDED
MAJORITY
UNANIMOUS

Cycles

template × 3

How a sign recurred in the stream: first time, again at once, or back after others.

CategorySINGLE · REPEAT · RETURN

The catalog · 32 domains

Thirty-two domains, each its own sign set.

A domain describes one kind of subject — a lock, a pool, a conversation — in a finite sign set of its own, with a dimension set only where the same sign genuinely means something different from each side.

Each domain is optional to provide and fixed once provided: ship none, or ship Locks with exactly its registered signs. A projection that ships a registered domain, in any language, is legible to every consumer written against it anywhere.

Each domain shows its instrument and shape, its sign set in registry order, and its dimension set where it has one, named by dimension family. All dimension sets here are categories. Unmarked domains are primary.

Execution

6 domains

Tasks

Signer · 11

Sign set

SUBMITREJECTSCHEDULESTARTPROGRESSSUSPENDRESUMECOMPLETEFAILCANCELTIMEOUT

Dimension setnone

Services

Signaler · 16 × 2

Sign set

STARTSTOPCALLSUCCESSFAILRECOURSEREDIRECTEXPIRERETRYREJECTDISCARDDELAYSCHEDULESUSPENDRESUMEDISCONNECT

Dimension set · PerspectiveCALLER · CALLEE

Processes

Signer · 9

Sign set

SPAWNSTARTSTOPFAILCRASHKILLRESTARTSUSPENDRESUME

Dimension setnone

Transactions

Signaler · 8 × 2

Sign set

STARTPREPARECOMMITROLLBACKABORTEXPIRECONFLICTCOMPENSATE

Dimension set · PerspectiveCOORDINATOR · PARTICIPANT

Timers

Signaler · 2 × 2

Derived

Sign set

MEETMISS

Dimension set · Reference pointDEADLINE · THRESHOLD

Changes

Signer · 6

Sign set

STARTAPPLYFAILREJECTREVERTPROGRESS

Dimension setnone

Synchronization

3 domains

Locks

Signer · 10

Sign set

ATTEMPTACQUIREGRANTDENYTIMEOUTRELEASEUPGRADEDOWNGRADECONTESTABANDON

Dimension setnone

Latches

Signer · 6

Sign set

AWAITARRIVERELEASETIMEOUTRESETABANDON

Dimension setnone

Atomics

Signer · 8

Sign set

ATTEMPTSUCCESSFAILSPINYIELDBACKOFFPARKEXHAUST

Dimension setnone

Pooling

4 domains

Resources

Signer · 6

Sign set

ATTEMPTACQUIREGRANTDENYTIMEOUTRELEASE

Dimension setnone

Leases

Signaler · 9 × 2

Sign set

ACQUIREDENYEXTENDEXPIREGRANTPROBERELEASERENEWREVOKE

Dimension set · PerspectiveLESSOR · LESSEE

Pools

Signer · 4

Sign set

EXPANDCONTRACTBORROWRECLAIM

Dimension setnone

Exchanges

Signaler · 2 × 2

Sign set

CONTRACTTRANSFER

Dimension set · PerspectivePROVIDER · RECEIVER

Data

5 domains

Queues

Signer · 4

Sign set

ENQUEUEDEQUEUEOVERFLOWUNDERFLOW

Dimension setnone

Stacks

Signer · 4

Sign set

PUSHPOPOVERFLOWUNDERFLOW

Dimension setnone

Caches

Signer · 7

Sign set

LOOKUPHITMISSSTOREEVICTEXPIREREMOVE

Dimension setnone

Pipelines

Signer · 12

Derived

Sign set

INPUTOUTPUTTRANSFORMFILTERAGGREGATEBUFFERBACKPRESSUREOVERFLOWCHECKPOINTWATERMARKLAGSKIP

Dimension setnone

Messages

Signaler · 7 × 3

Sign set

PUBLISHDELIVERACKNACKREDELIVEREXHAUSTEXPIRE

Dimension set · PerspectivePRODUCER · BROKER · CONSUMER

Flow control

5 domains

Flows

Signaler · 2 × 3

Sign set

SUCCESSFAIL

Dimension set · StageINGRESS · TRANSIT · EGRESS

Routers

Signer · 9

Derived

Sign set

SENDRECEIVEFORWARDROUTEDROPFRAGMENTREASSEMBLECORRUPTREORDER

Dimension setnone

Valves

Signer · 6

Sign set

PASSDENYEXPANDCONTRACTDROPDRAIN

Dimension setnone

Breakers

Signer · 6

Sign set

CLOSEOPENHALF_OPENTRIPPROBERESET

Dimension setnone

Guards

Signaler · 4 × 2

Sign set

ATTEMPTCHALLENGEGRANTDENY

Dimension set · CriterionIDENTITY · PERMISSION

Instrumentation

6 domains

Counters

Signer · 3

Sign set

INCREMENTOVERFLOWRESET

Dimension setnone

Gauges

Signer · 5

Sign set

INCREMENTDECREMENTOVERFLOWUNDERFLOWRESET

Dimension setnone

Probes

Signaler · 6 × 2

Sign set

CONNECTDISCONNECTTRANSFERPROCESSSUCCEEDFAIL

Dimension set · PerspectiveOUTBOUND · INBOUND

Sensors

Signaler · 3 × 3

Derived

Sign set

BELOWNOMINALABOVE

Dimension set · Reference pointBASELINE · THRESHOLD · TARGET

Logs

Signer · 4

Derived

Sign set

SEVEREWARNINGINFODEBUG

Dimension setnone

Evals

Signaler · 5 × 8

Derived

Sign set

PASSFAILUNKNOWNSKIPERROR

Dimension set · CriterionCORRECTNESS · COMPLETENESS · GROUNDEDNESS · HELPFULNESS · ADHERENCE · TOOLING · ROUTING · SAFETY

Coordination

3 domains

Agents

Signaler · 10 × 2

Sign set

OFFERPROMISEACCEPTFULFILLRETRACTBREACHINQUIREOBSERVEDEPENDVALIDATE

Dimension set · PerspectivePROMISER · PROMISEE

Actors

Signer · 11

Sign set

ASKAFFIRMEXPLAINREPORTREQUESTCOMMANDACKNOWLEDGEDENYCLARIFYPROMISEDELIVER

Dimension setnone

Members

Signaler · 7 × 2

Sign set

JOINLEAVESUSPECTREFUTEEVICTELECTRESIGN

Dimension set · PerspectiveSELF · PEER

Shape is signs, or signs × dimensions. Membership, meanings and primary/derived classification are normative; each entry is addressed as registry:<name>, and an entry is never renamed, because a rename would be a different vocabulary.

Cross-reference · Sign families

237 sign slots, eighteen kinds of question.

Read across the domains above, a sign family groups the lexemes that answer the same kind of question about a subject. Membership is assigned per slot, one sign in one vocabulary, so every slot belongs to exactly one family.

Slots by family, in catalog order LEXEME also read in another family

01

Acquisition

18 · 32

Requesting, holding and giving up a scarce thing. The most reused family: a request that may be refused, opened by an attempt, decided by a grant or denial, closed by a release.

ABANDONACQUIREARRIVEATTEMPTAWAITBORROWDENYDOWNGRADEEXPIREEXTENDGRANTPROBERECLAIMRELEASERENEWREVOKETIMEOUTUPGRADE

Drawn on byAtomics, Latches, Leases, Locks, Pools, Resources

02

Lifecycle

9 · 15

The existence and running state of a long-lived subject: creation, running, stopping, destruction and the suspensions between. About a thing that exists, where Work is about a job that completes.

CRASHFAILKILLRESTARTRESUMESPAWNSTARTSTOPSUSPEND

Drawn on byProcesses, Services, Tasks

03

Work

11 · 14

A unit of work moving through its stages: submitted, scheduled, started, progressing, finished one way or another.

CALLCANCELCOMPLETEEXPIREFAILPROGRESSREJECTSCHEDULESTARTSUBMITTIMEOUT

Drawn on byChanges, Services, Tasks, Transactions

04

Episode

5 · 6

Bracketing as such: the universal Operations vocabulary and the domain signs that exist purely to open or stage an episode. Small by design; most bracketing is read from domain signs by their structure.

ADVANCEBEGINENDPREPARESTART

Drawn on byChanges, Operations, Transactions

05

Verdict

19 · 30

Results: what an operation decided, observed or produced. Rich in domain synonyms for success and failure, deliberately, because a vocabulary reads better when its verdict is named in its own terms.

ABORTACKAPPLYBREACHCOMMITERRORFAILFULFILLHITMEETMISSNACKPASSREVERTROLLBACKSKIPSUCCEEDSUCCESSUNKNOWN

Drawn on byAgents, Atomics, Caches, Changes, Evals, Flows, Messages, Outcomes, Probes, Services, Timers, Transactions

06

Admission

11 · 14

Letting something through, or not. A decision made about incoming work by a gatekeeper, where a verdict is made about completed work by whoever did it.

ATTEMPTCHALLENGEDELAYDENYDISCARDDROPFILTERGRANTPASSREJECTSKIP

Drawn on byChanges, Guards, Pipelines, Routers, Services, Valves

07

Boundary

6 · 13

Capacity limits reached. Its signature is a symmetric pair, OVERFLOW and UNDERFLOW, wherever a container has two ends it can run out of.

BACKPRESSUREEXHAUSTLAGLIMITOVERFLOWUNDERFLOW

Drawn on byAtomics, Counters, Gauges, Messages, Pipelines, Queues, Stacks, Systems

08

Elasticity

3 · 5

Capacity changing size. EXPAND and CONTRACT are the pair; DRAIN is the emptying case.

CONTRACTDRAINEXPAND

Drawn on byPools, Valves

09

Contention

6 · 6

Competing for progress: what a subject does while it cannot proceed. Directly observed actions and results, not an inferred judgment that it was slow.

BACKOFFCONFLICTCONTESTPARKSPINYIELD

Drawn on byAtomics, Locks, Transactions

10

Transport

17 · 19

Moving something from one place to another. Network transport and in-process container movement share a family because the observable shape is the same.

CONNECTDELIVERDEQUEUEDISCONNECTENQUEUEFORWARDFRAGMENTINPUTOUTPUTPOPPUBLISHPUSHREASSEMBLERECEIVEROUTESENDTRANSFER

Drawn on byExchanges, Messages, Pipelines, Probes, Queues, Routers, Services, Stacks

11

Storage

6 · 7

Keeping something and finding it again. The characteristic sequence is a LOOKUP followed by a HIT or a MISS.

BUFFEREVICTEXPIRELOOKUPREMOVESTORE

Drawn on byCaches, Messages, Pipelines

12

Recovery

11 · 12

Returning to normal after something went wrong. The breaker’s TRIP, OPEN, HALF_OPEN, PROBE, CLOSE cycle is its most complete expression.

CLOSECOMPENSATEHALF_OPENOPENPROBERECOURSEREDELIVERREDIRECTRESETRETRYTRIP

Drawn on byBreakers, Latches, Messages, Services, Transactions

13

Integrity

4 · 4

Damage and disorder in what was moved or stored, and the bookkeeping kept against them.

CHECKPOINTCORRUPTREORDERWATERMARK

Drawn on byPipelines, Routers

14

Counting

3 · 5

Numeric movement without a subject to speak of. The narrowest family, and the one closest to conventional metrics.

DECREMENTINCREMENTRESET

Drawn on byCounters, Gauges

15

Assessment

22 · 25

Readings rather than events: a conclusion about how things are. Home of the universal ascent targets, and derived in its entirety, because inference is what produces its signs.

ABOVEALARMBELOWCHAOSCONVERGINGCRITICALCYCLEDEBUGDEFECTIVEDEGRADEDDIVERGINGDOWNDRIFTERRATICFAULTINFONOMINALNORMALSEVERESPIKESTABLEWARNING

Drawn on byLogs, Sensors, Situations, Statuses, Systems, Trends

16

Speech act

19 · 20

Communicative moves between parties: asking, disagreeing, promising, offering, accepting, retracting. The utterance is the event.

ACCEPTACKNOWLEDGEAFFIRMASKCLARIFYCOMMANDCONTRACTDELIVERDENYDEPENDEXPLAININQUIREOBSERVEOFFERPROMISEREPORTREQUESTRETRACTVALIDATE

Drawn on byActors, Agents, Exchanges

17

Processing

3 · 3

Working on data already in hand. Transport moves it, Storage keeps it, Admission decides whether it passes, and Processing changes it.

AGGREGATEPROCESSTRANSFORM

Drawn on byPipelines, Probes

18

Membership

7 · 7

Belonging to a group and holding a role in it: joining and leaving, suspicion and its refutation or eviction, election and resignation. The group’s view of its members.

ELECTEVICTJOINLEAVEREFUTERESIGNSUSPECT

Drawn on byMembers

Counts are lexemes · slots. Families are an organising lens over the registry, not a structure the specification defines: they give vocabulary reuse something concrete to reuse from.

Cross-family lexemes

Fifteen words that mean different things.

A sign has no meaning outside its set, so a consumer resolves every sign against the vocabulary that produced it. The registry renames nothing; it lists the cases so nobody builds a cross-vocabulary lexeme table by accident.

ATTEMPT

Acquisitiontry to take a held thing (Atomics, Locks, Resources)

Admissionpresent a credential or request at a gate (Guards)

CONTRACT

Elasticityshrink capacity (Pools, Valves)

Speech actcommit to terms (Exchanges)

DELIVER

Speech actpresent completed work (Actors)

Transporthand a message to a receiver (Messages)

DENY

Acquisitionrefuse a request for a held thing (Leases, Locks, Resources)

Admissionrefuse entry at a gate (Guards, Valves)

Speech actdisagree with a proposition (Actors)

EVICT

Storageremove an entry for capacity or policy (Caches)

Membershipremove a member declared failed (Members)

EXPIRE

Acquisitiona lease’s term ran out (Leases)

Workthe work outlived its deadline (Services, Transactions)

Storagea held item outlived its time to live (Caches, Messages)

FAIL

Verdictthe result was failure (Atomics, Changes, Evals, Flows, Outcomes, Probes, Services)

Lifecyclethe process died (Processes)

Workthe job did not complete (Tasks)

GRANT

Acquisitionhand over a held thing (Leases, Locks, Resources)

Admissionlet a caller through a gate (Guards)

PASS

Admissionallowed through (Valves)

Verdictsatisfied the criterion (Evals)

PROBE

Acquisitioncheck a lease is still valid (Leases)

Recoverya trial request testing whether recovery is safe (Breakers)

REJECT

Admissionrefused at submission (Changes, Services)

Workthe job was not accepted (Tasks)

RESET

Countingreturn a counter to zero (Counters, Gauges)

Recoveryreturn a mechanism to its initial state (Breakers, Latches)

SKIP

Admissionan element was passed over (Pipelines)

Verdictthe criterion was deliberately not evaluated (Evals)

START

Lifecyclethe subject began running (Processes, Services)

Workthe job began executing (Tasks)

Episodean episode opened (Changes, Transactions)

TIMEOUT

Acquisitionthe wait for a held thing expired (Latches, Locks, Resources)

Workthe job exceeded its budget (Tasks)

FAIL in Atomics is a compare-and-swap that will be retried. FAIL in Processes is terminal. Same word, different structure behind it.

Dimension families

18 of 40 entries qualify their signs. The rest need not.

A dimension is warranted only when the same sign genuinely means something different under each member. A queue enqueues, and there is no second viewpoint on that.

Perspective category

Which party to an interaction is reporting. The same event seen from both ends yields two signals that differ only in dimension, which is exactly what reveals a disagreement between the parties.

VocabularyThe ends
ServicesCALLER · CALLEE
AgentsPROMISER · PROMISEE
TransactionsCOORDINATOR · PARTICIPANT
LeasesLESSOR · LESSEE
ExchangesPROVIDER · RECEIVER
ProbesOUTBOUND · INBOUND
MessagesPRODUCER · BROKER · CONSUMER
MembersSELF · PEER
FamilyVocabularyMembers
StageFlowsINGRESS · TRANSIT · EGRESS
Constraint kindSystemsSPACE · FLOW · LINK · TIME
Reference pointTimersDEADLINE · THRESHOLD
SensorsBASELINE · THRESHOLD · TARGET
CriterionEvalsCORRECTNESS · COMPLETENESS · GROUNDEDNESS · HELPFULNESS · ADHERENCE · TOOLING · ROUTING · SAFETY
GuardsIDENTITY · PERMISSION
RecurrenceCyclesSINGLE · REPEAT · RETURN

THRESHOLD in Timers and THRESHOLD in Sensors intend the same thing, and remain two distinct dimensions that must never be unified.

Three spectra: confidence, consensus and variability

Statuses · confidence

TENTATIVE
MEASURED
CONFIRMED

How strong the evidence for a reading is.

Surveys · consensus

DIVIDED
MAJORITY
UNANIMOUS

How far independent observers agree.

Situations · variability

CONSTANT
VARIABLE
VOLATILE

How much the condition itself fluctuates. A volatile condition can still be assessed with confidence.

Designing a vocabulary

Six rules, checked when a vocabulary is published.

  1. Implementer-observableIn a primary vocabulary every component is chosen from a current act or result. CAS failed: CONTEST. Buffer full: OVERFLOW. Never lag computed from timestamps.
  2. BoundedA finite sign set fixed at publication. A new event is a new version, never a sign invented at runtime.
  3. BalancedOperations come with their outcomes. Do not emit mechanical acts without the semantic results that follow them.
  4. TranslatableEnough signs read into Statuses on their own, or an episode structure a consumer can interpret, or both. A vocabulary that supports neither cannot ascend.
  5. Perspective, not locationA dimension changes what the sign means. Which party, which stage, which criterion; never which host, region or tenant.
  6. Reuse before inventionExtend a family’s canonical form before coining words. Locks takes Acquisition’s core and adds only UPGRADE, DOWNGRADE, CONTEST and ABANDON.

Shapes that recur across vocabularies

Request, then outcome

ATTEMPTGRANTDENY
SUBMITSCHEDULEREJECT

Start, run, terminal

SPAWNSTARTSTOPCRASH
STARTPREPARECOMMITROLLBACK

Symmetric pairs

OVERFLOWUNDERFLOW
SUSPENDRESUME
EXPANDCONTRACT

Time against a limit

TIMEOUTEXPIRE
MEETMISS