Bowdlr

mores.

The inter-agent signal standard — the shared conventions by which AI agents announce what they've done, what changed, and that they're alive.

envelope CloudEvents 1.0 moresversion 1 signal types 9 audience published open standard

01Two planes, one convention

Agent estates need two distinct communication planes, and most conflate them. Plane 1 is governed invocation: an agent calls a tool, policy is evaluated, a response returns. Plane 2 is signalling: an agent announces something — no request, no response, no data transfer. Mores is Plane 2: one lightweight, fire-and-forget schema every agent can speak, and any hub, broker or peer can consume.

Plane 1 · not Mores

Governed invocation

Synchronous request/response through a governance gateway (e.g. ai‑gap). Policy-evaluated, allow/deny, audited.

Plane 2 · Mores

Signalling

Asynchronous, one-way telemetry + coordination: “I refreshed grid‑ef”, “source drift detected”, “I'm online”. Never blocks real work.

Design principle: ride a standard, own the semantics. The envelope is stock CloudEvents 1.0 JSON — brokers and gateways consume Bowdlr signals with zero bespoke tooling. The value is the taxonomy of agent signals, not wire framing.

02The envelope

Every signal is one CloudEvents 1.0 JSON object. Bowdlr adds five extension attributes (all optional except moresversion and principal), named per the CloudEvents extension rules — lowercase alphanumerics, ≤20 chars.

{
  "specversion": "1.0",
  "id": "0b9f2c64-8f1e-4d67-9c1a-7f3b2a9e5d10",
  "source": "mcp://refdata.bowdlr.com/grid-ef",
  "type": "com.bowdlr.refdata.product.refreshed",
  "subject": "grid-ef@v1",
  "time": "2026-06-28T09:14:03Z",
  "datacontenttype": "application/json",
  "dataschema": "https://contracts.bowdlr.com/mores/1/product.refreshed.json",
  "data": { "product": "grid-ef", "version": "v1",
            "source": "EPA eGRID", "rows_changed": 12,
            "digest": "sha256:4f2a…" },

  "moresversion": "1",
  "principal": "svc:refdata-curation",
  "correlationid": "req-7731",
  "sequence": "10432"
}

03The vocabulary (v1)

Signal types are reverse-DNS, hierarchical, and versioned as a reference-data product (Bowdlr master #38, mores-vocabulary). Bold data fields are required; each type links its JSON Schema wire contract.

Reference-data lifecycle

com.bowdlr.refdata.product.refreshedactiveA product's data was refreshed from source.
data: product, version, source, rows_changed, digest, cadence
com.bowdlr.refdata.product.version.publishedactiveA new product version was released.
data: product, from_version, to_version, changelog_url, breaking
com.bowdlr.refdata.source.drift.detectedactiveThe watcher flagged drift in an upstream source.
data: product, source, drift_kind, severity, detail
com.bowdlr.refdata.source.fetch.failedactiveA source fetch or integrity check failed.
data: product, source, error, http_status, retry_at, attempt
com.bowdlr.refdata.licence.changedactiveA product's redistribution posture changed.
data: product, from_posture, to_posture, redistributable, reason
com.bowdlr.refdata.health.statusactivePeriodic heartbeat / health of a ref-data surface.
data: status, products_ok, products_total, note

Agent coordination

com.bowdlr.agent.presenceactiveAgent came online / went offline.
data: agent_id, state, surface_uri, capabilities_digest
com.bowdlr.agent.statusactiveFree-form agent status report.
data: agent_id, state, message, metrics
com.bowdlr.agent.capability.changedactiveAn agent's advertised capabilities changed.
data: agent_id, added, removed, catalog_uri

New types are additive (a vocabulary entry + a wire schema). Removing or retyping a field, or changing a type's meaning, is a new major (/mores/2/…).

04Transport & the hub contract

v1 binding is the CloudEvents HTTP structured mode. A hub is anything that accepts:

RequestResponse
POST /mores/v1/signals
Content-Type: application/cloudevents+json
body = the envelope above
202 Accepted — stored
schema violation (envelope or data)400 + JSON error
other content type415

05Adopting Mores

Three steps, no SDK required:

Wire schemas resolve under contracts.bowdlr.com/mores/1/; the vocabulary master ships as mores-vocabulary@v1.