Skip to content

Seam: the message boundary

Seam owns the in-path data plane. It terminates or wraps the selected transport, reassembles complete protocol messages, applies bounded rules and operator decisions, delivers the selected representation, and records what crossed the boundary.

A request leaves the sender, is decoded into one complete frame at the Seam boundary, is held for a researcher decision, and is released to the selected receiver. A request leaves the sender, is decoded into one complete frame at the Seam boundary, is held for a researcher decision, and is released to the selected receiver. A mobile view of a complete message moving through emit, decode, hold, decide, release, and receiver-processing states. A mobile view of a complete message moving through emit, decode, hold, decide, release, and receiver-processing states.

Seam's strongest native claim is delivery: which complete message arrived at the selected upstream after rules and operator decisions. Receiver behavior and external effects require other sources.

Message lifecycle

Stage Seam responsibility Durable record
Accept receive one configured HTTP, SSE, WebSocket, MCP stdio, or supported gRPC exchange transport and connection metadata
Decode preserve raw bytes and parse one complete semantic message immutable sender representation
Evaluate apply ordered transform rules, chain guards, and break conditions rule evaluations and variant digest
Hold place the complete message in the bounded pending queue pending identity and correlation
Decide accept an operator forward, edit, drop, replay, duplicate, or response decision decision and changed paths
Deliver encode the selected representation for the same transport delivered bytes and delivery outcome
Correlate associate responses and stream events where the binding permits lifecycle and correlation metadata
Append write the record and its previous-hash link as one operation hash-chained transcript

Waiting is not bounded merely because the queue is. A session needs an explicit pending timeout and timeout action if messages must not wait indefinitely.

Rules and variants

Transform rules are deposited YAML, not arbitrary code. Selectors, predicates, mutations, chain guards, payload files, and payload variants are validated before the rule becomes active. A live session selects one exact variant and records its ID, mutation path, rendered digest, and source digests.

Replay verifies the transcript first, then reconstructs rule and chain state from recorded outcomes. It refuses incomplete history rather than estimating the counters that missing records might have contained.

What transcript verification means

A successful verification establishes that the record matches its schema, its sequence and previous-hash links are internally consistent, and the retained payload bytes match their digests. It does not authenticate who originally wrote an unsigned transcript. Integrity and origin authentication are separate properties.

What Seam does not establish

  • A rule match does not prove the receiver accepted the delivery.
  • A correlated response does not prove an external effect.
  • A mapped identity or task ID does not authenticate a speaker.
  • A valid transcript does not make a synthetic fixture representative.
  • A repeated transport path does not prove a model-mediated outcome is stable.

Continue

Start with the Operator handbook, then use:

Use meshmapper to derive path hypotheses and Assay only when the result needs an external observation and comparison.