Signal Contract · Protocol

Listen to your agents. The fleet you cannot watch is the one you can hear.

One portable event carries machine state. A shared clock gives it time. Governed renderers make it perceptible.

Canonical schema JSONVersion 1.0 · Public schema asset

Direct answer

What is the Signal Contract?

Signal Contract is the flat, renderer-facing event object that separates what happened from how a human perceives it. One valid event can become sound, motion, a trace row, a structured log, or a future device cue without changing its meaning.

Architecture

One event. One shared clock. Many renderers.

  1. 01 · ProducerA domain adapter emits one renderer-facing event.
  2. 02 · ContractSignal Contract carries semantic state without choosing a renderer.
  3. 03 · ClockOne shared run keeps sound, motion, traces, and receipts aligned.
  4. 04 · RendererEach surface expresses the same truth without changing the event.

Canonical example

The event stays small and inspectable.

Producers may add public-safe context in metadata. The required core remains portable.

{
  "schema_version": "1.0",
  "id": "sig_demo_005",
  "occurred_at": "2026-04-19T18:32:18.442Z",
  "producer": "vibenet-demo",
  "entity": "agent.serpradio.route_intelligence",
  "event": "handoff.requested",
  "channel": "handoff",
  "valence": 0.42,
  "energy": 0.66,
  "tension": 0.73,
  "intensity": 0.72,
  "hue": 44,
  "pulse": 0.78,
  "confidence": 0.94,
  "ttl_ms": 15000,
  "metadata": {
    "reason": "source_confidence_below_threshold",
    "route": "JFK-LHR"
  }
}

Field specification

Canonical v1 fields

FieldTypeRequirementMeaningExample
schema_versionstringrequiredPublished version of the flat public event object.1.0
idstringrequiredStable event identifier for dedupe, replay, and audit references.sig_demo_005
occurred_atRFC 3339 timestamprequiredWhen the awareness event occurred, not when the renderer received it.2026-04-19T18:32:18.442Z
producerstringrequiredSystem or adapter that emitted the event.vibenet-demo
entitystringrequiredStable subject identifier for the thing whose state changed.agent.serpradio.route_intelligence
eventstringrequiredMeaningful awareness event name. Snake case is recommended.handoff.requested
channelenumrequiredPublic semantic channel for how the state should be interpreted.handoff
valencenumber 0-1requiredNormalized affective polarity for the current state.0.42
energynumber 0-1requiredNormalized activity level of the state change.0.66
tensionnumber 0-1requiredNormalized instability or unresolved uncertainty.0.73
intensitynumber 0-1requiredRenderer-facing emphasis. Higher values should feel harder to ignore.0.72
huenumber 0-360requiredFlat renderer-facing hue hint for browser, lighting, or AR renderers.44
pulsenumber 0-1requiredFlat renderer-facing pulse hint for motion, cadence, or temporal emphasis.0.78
confidencenumber 0-1optionalOptional producer confidence in the emitted awareness event.0.94
ttl_msintegeroptionalHow long a renderer should keep expressing the event before it expires.15000
metadataobjectoptionalContext payload for links, IDs, route names, renderer-safe details, and optional publishable/indexable convention fields.{"publishable":false,"indexable":true,"fallback_reason":"primary_source_stale"}

Semantic channels

Public posture, not private taxonomy.

nominal

Expected operating state. Nothing requires attention. Use when the system is steady and no intervention is needed.

public semantic label
advisory

Work is happening. Attention is optional. Use for planning, tool calls, synthesis, and healthy in-flight state shifts.

public semantic label
warning

Something deserves a second look. Use when confidence drops, retries stack up, or trust changes materially.

public semantic label
critical

Intervention required. Use when a human or policy boundary must intervene immediately.

public semantic label
recovery

The system is resolving back toward nominal. Use when an earlier warning has been contained or when the run lands cleanly.

public semantic label
opportunity

An actionable window has appeared. Use when the system detects a state worth acting on soon but not urgently.

public semantic label
handoff

Attention is passing between agents, humans, or devices. Use when responsibility moves and the receiver needs situational context.

public semantic label

Implementation notes

Complete enough to build. Bounded enough to trust.

Proof path
Adapter emits event → schema validates → shared clock advances → audio, pulse, trace, and receipt render together.
Cybernetic modulation is vNext, not v1
Transition contour work explores prior state, next state, slew, and intent. It is not part of the published v1 schema. Read the modulation essay.
Governed build path
Build against the public schema, validate conformance, document the adapter boundary, and keep protected source material outside the event.