Agent engineering ยท August 2026

Stop making agents
interpret handoff prose.

A communication contract can validate the shape of a message before the next component acts on it.

Follow this publication in Google.Select this site to see more of its articles in eligible Google news and AI surfaces.

This article expands an edition of The Chill AI guy on LinkedIn. The implementation is public in the SignalShape repository.

The failure can sit between two correct agents

One agent can produce a sensible answer and the next can still fail to act. The problem is often not the reasoning itself. It is the contract at the boundary.

Free text leaves the consumer to infer whether a message reports progress, transfers ownership, records a decision or asks for a recovery action. Every consumer becomes another probabilistic parser.

What an agent communication contract is

An agent communication contract specifies the fields, version and allowed values of the message passed between an agent and another workflow component. The message can be validated before the consumer uses it.

SignalShape uses JSON Schema for this boundary. It provides four machine-validatable shapes: Handoff, Status, Decision and Debug.

  • Handoff: transfers work or ownership with the context the next actor needs.
  • Status: reports current progress without pretending that ownership changed.
  • Decision: records the selected option, rationale and consequences needed downstream.
  • Debug: reports a failure with a constrained next action such as retry, escalate, abort or investigate.

Four failures the boundary can catch

The wrong message shape

A consumer expecting a Handoff should reject a Status. Both may be readable to a person, but they represent different operating decisions.

Missing ownership or context

A handoff without a next owner or required context is incomplete. Schema validation can stop it before the next component starts guessing.

An unroutable recovery action

A paragraph explaining an error may be clear to a person and useless to an orchestrator. A constrained `next_action` gives the workflow an explicit branch.

Malformed or unknown output

Invalid JSON, an unknown shape or a missing version can fail at the boundary. The downstream agent does not need to discover the contract problem after it has acted.

What the contract cannot prove

JSON Schema does not prove that a claim is true, that the reasoning is good or that the content is safe. It validates structure, required fields, types and allowed values.

This is a useful limit. Deterministic validation should protect what can be made deterministic. Evaluation, source grounding, permissions and human judgement still govern the meaning and impact of the message.

Where to place validation

Validate before the message reaches the consumer, retain the failure evidence and route invalid output to a known recovery path. Version the contract so producers and consumers can change without silent incompatibility.

The aim is not to remove natural language from agent systems. It is to stop using prose where the workflow needs a machine-decidable boundary.