SIGNAL CONTRACT · PROTOCOL

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

VIBEnet is a multi-modal temporal-rendering layer for agent awareness. Signal Contract carries machine state. BeatSync supplies the shared clock. Governed renderers turn the same run into sound, visual pulse, trace rows, contract panes, logs, and future device cues.

Canonical machine-readable schema

Signal Contract schema URI

https://vibenet.ai/protocol/v1/schema.json

Version: 1.0.0Status: Public schema assetHuman guide: this page

DIRECT ANSWER

What is the Signal Contract?

Signal Contract is the portable event object that lets agent work become perceptible. It separates the state of a run from the renderer that expresses it, so one event can become audio, motion, a trace row, a structured log, or a future device cue without changing the event shape.

ARCHITECTURE

One event. One shared clock. Many renderers.

State

Signal Contract carries state.

A small renderer-facing event says what changed, which semantic channel it belongs to, and how strongly it should be felt.

Clock

BeatSync gives the run a shared clock.

The same event stream can advance audio, visual pulse, trace rows, contract panes, and future surfaces without inventing a new clock per renderer.

Rendering

Renderers make the state perceptible.

The output may be sound, motion, logs, route strips, or device cues. The event stays portable before any single renderer makes it beautiful.

Governance

Constitutional CMS keeps the publishing posture explicit.

Governance explains what is public, what is protected, and how adapter builders should route state into the protocol without exposing source material.

PROOF PATH

The proof is not a player. It is synchronized state.

The current browser proof starts with a scored reference run. The important thing to see is alignment: event enters, contract updates, clock advances, visual pulse changes, trace row moves, and audio plays from the same run.

  1. 01A raw agent or domain event enters through an adapter.
  2. 02The adapter emits one Signal Contract object.
  3. 03The shared clock advances the scored run.
  4. 04The pulse, trace row, contract pane, audio, and exports move together.

VISUAL CONCEPTS

What should you actually see?

The public shell has three visual jobs: show the scored proof running, show the operator surface, and keep experimental renderers out of the launch until they are ready.

Live proof

Signal Demo

A scored reference run clocks the visual concept while the contract pane, trace row, pulse, audio, and exports change together.

Open the live proof

Control surface

Lightboard

A castable surface translates semantic channel, VET coordinates, cluster, device, and ticker state into one readable operator field.

View Lightboard

Private workshop

Renderer Sidecars

Voice, ambient cue, and hardware renderer experiments stay private until deliberately promoted into a reference surface.

Governance boundary

Canonical event shape

The event stays flat and renderer-facing. Producers can add context inside metadata, but the core fields keep the object portable.

Signal Contract JSON example
{
  "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",
    "provenance": {
      "vida": "SERPRadio route-intelligence handoff from a governed trace.",
      "razo": "Source confidence dropped below local threshold during synthesis.",
      "troubadour": "agent.serpradio.route_intelligence",
      "joglar_fleet": [
        "browser",
        "audio"
      ],
      "canonical_form": "agent_state_signal",
      "fili_grade_required": null
    }
  }
}

Field specification

schema_versionstringrequired

Published version of the flat public event object.

Example: 1.0

idstringrequired

Stable event identifier for dedupe, replay, and audit references.

Example: sig_demo_005

occurred_atRFC 3339 timestamprequired

When the awareness event occurred, not when the renderer received it.

Example: 2026-04-19T18:32:18.442Z

producerstringrequired

System or adapter that emitted the event.

Example: vibenet-demo

entitystringrequired

Stable subject identifier for the thing whose state changed.

Example: agent.serpradio.route_intelligence

eventstringrequired

Meaningful awareness event name. Snake case is recommended.

Example: handoff.requested

channelenumrequired

Public semantic channel for how the state should be interpreted.

Example: handoff

valencenumber 0-1required

Normalized affective polarity for the current state.

Example: 0.42

energynumber 0-1required

Normalized activity level of the state change.

Example: 0.66

tensionnumber 0-1required

Normalized instability or unresolved uncertainty.

Example: 0.73

intensitynumber 0-1required

Renderer-facing emphasis. Higher values should feel harder to ignore.

Example: 0.72

huenumber 0-360required

Flat renderer-facing hue hint for browser, lighting, or AR renderers.

Example: 44

pulsenumber 0-1required

Flat renderer-facing pulse hint for motion, cadence, or temporal emphasis.

Example: 0.78

confidencenumber 0-1optional

Optional producer confidence in the emitted awareness event.

Example: 0.94

ttl_msintegeroptional

How long a renderer should keep expressing the event before it expires.

Example: 15000

metadataobjectoptional

Context payload for links, IDs, route names, provenance conventions, and other renderer-safe details.

Example: {"reason":"source_confidence_below_threshold","provenance":{"vida":"short source summary"}}

Semantic channels

Public channels describe posture, not private taxonomy. They tell a renderer how the event should be interpreted without exposing internal scoring systems.

nominal

Expected operating state. Nothing requires attention.

Use when the system is steady and no intervention is needed.

advisory

Work is happening. Attention is optional.

Use for planning, tool calls, synthesis, and healthy in-flight state shifts.

warning

Something deserves a second look.

Use when confidence drops, retries stack up, or trust changes materially.

critical

Intervention required.

Use when a human or policy boundary must intervene immediately.

recovery

The system is resolving back toward nominal.

Use when an earlier warning has been contained or when the run lands cleanly.

opportunity

An actionable window has appeared.

Use when the system detects a state worth acting on soon but not urgently.

handoff

Attention is passing between agents, humans, or devices.

Use when responsibility moves and the receiver needs situational context.

GOVERNED BUILD PATH

Build adapters against the schema, then register the surface.

Start with raw system state, normalize it through a Domain Adapter, emit a valid Signal Contract event, and let the renderer decide which sense receives it. Governance explains the public registry posture and the boundary between open contracts and protected source material.