Skip to content

7. Protocol Message Types

While the reference ontology defines the objects that appear in coordination workflows, the protocol must also define how those objects are exchanged between agents.
Pervasive.link introduces a set of message types that allow agents to publish capabilities, declare intents, negotiate offers, establish tasks, and report outcomes.

These message types form the interaction grammar of the protocol.
Each message carries a semantic envelope containing one of the coordination objects defined in the reference ontology.

By standardizing the kinds of interactions that can occur between agents, the protocol ensures that coordination remains predictable and interpretable even when agents operate across different systems.

Message types represent actions taken by agents during coordination.

For example:

  • publishing a capability
  • searching for services
  • proposing an offer
  • assigning a task
  • reporting progress
  • recording completion

Together, these message types allow complex distributed workflows to be assembled dynamically through interactions between independent agents.


Message Types and Coordination Phases

Coordination interactions typically unfold through several phases.

  1. Capability publication
    Agents advertise the services they provide.

  2. Discovery
    Agents search for capabilities that may satisfy their goals.

  3. Intent declaration
    A goal is expressed through an intent object.

  4. Offer negotiation
    Capability providers respond with offers describing how they can fulfill the intent.

  5. Task formation
    An accepted offer becomes a task assigned to a specific agent.

  6. Execution monitoring
    Agents exchange updates describing task progress.

  7. Completion reporting
    Receipts record the results of task execution.

The protocol message types correspond to these phases.


Capability Advertisement

AdvertiseCapability

The AdvertiseCapability message is used by agents to publish information about services they provide.

When an agent joins the coordination network or introduces a new service, it sends an AdvertiseCapability message containing a capability object.

The capability description includes:

  • capability identifier
  • input and output schemas
  • operational constraints
  • applicable policies
  • optional performance metadata

Capability advertisements allow other agents to discover what services are available in the network.

Because capability objects are structured according to shared schemas, agents can interpret them consistently across systems.

Capability advertisements may be sent to:

  • distributed capability catalogs
  • discovery services
  • peer agents participating in the network

In decentralized deployments, capability advertisements may propagate across multiple participants to ensure visibility.


Capability Discovery

Discover

The Discover message allows an agent to search for capabilities that match specific criteria.

Discovery queries may specify conditions such as:

  • required input schema
  • desired output schema
  • capability category
  • policy constraints
  • resource requirements

Agents receiving a Discover message evaluate the query against their available capabilities.

Matching capabilities may be returned directly in response messages or referenced through catalog entries.

Discovery mechanisms may operate in different ways depending on the implementation environment:

  • centralized registries
  • distributed indexes
  • peer-to-peer search
  • broadcast queries across coordination networks

The Discover message allows agents to locate services dynamically rather than relying on preconfigured integrations.


Intent Declaration

Intent

The Intent message communicates a goal that an agent wishes to accomplish.

Unlike service invocation messages used in traditional architectures, the Intent message describes what outcome is desired rather than specifying which service should perform the work.

The intent object included in the message may contain:

  • description of the desired outcome
  • input data references
  • expected output schema
  • policy constraints
  • optional priority or deadline information

Capability providers receiving the intent evaluate whether their services can fulfill the request.

If a capability matches the intent requirements, the provider may respond with an offer.

Intent messages therefore act as the starting point for negotiation workflows.


Offer Negotiation

Offer

The Offer message represents a proposal from a capability provider.

When an agent determines that it can satisfy a particular intent, it sends an Offer message containing an offer object.

The offer typically includes:

  • reference to the intent being addressed
  • identifier of the capability to be used
  • execution conditions
  • resource requirements
  • estimated execution time
  • applicable policies

Multiple agents may respond to a single intent with competing offers.

The initiating agent or coordinating entity evaluates these offers to determine which proposal best satisfies the requirements.

Offer negotiation allows coordination decisions to be made dynamically rather than through static service selection.


Task Assignment

TaskStart

Once an offer has been accepted, the coordinating agent creates a TaskStart message.

This message establishes a task object binding the intent to a specific capability offered by an agent.

The task message typically includes:

  • reference to the intent
  • reference to the selected offer
  • execution parameters
  • policy constraints
  • monitoring instructions

The receiving agent interprets this message as authorization to begin execution.

The TaskStart message therefore represents the formal beginning of task execution.


Task Progress Updates

TaskProgress

For tasks that require significant execution time, the protocol allows agents to provide progress updates.

The TaskProgress message communicates intermediate status information about an ongoing task.

Progress messages may include:

  • percentage completion
  • intermediate results
  • updated execution estimates
  • notifications of delays or issues

Progress updates allow coordinating agents and observers to track the state of distributed workflows.

They also enable adaptive decision-making.
For example, if progress updates indicate that execution is failing or delayed, alternative offers may be considered.


Task Completion

TaskDone

When a task finishes execution, the performing agent sends a TaskDone message.

This message includes a receipt object describing the outcome of the task.

Typical receipt information includes:

  • task identifier
  • execution timestamps
  • input references
  • output data references
  • policy evaluation results

The receipt provides a structured record of the completed task.

Coordinating agents may use this information to continue the workflow, initiate follow-up tasks, or evaluate performance.


Attestation Messages

Attest

The Attest message communicates attestation objects.

Agents use this message type to publish claims about:

  • security certifications
  • compliance status
  • execution environment properties
  • capability validation results

Attestation messages allow other participants to evaluate claims about the system producing them.

Because attestations are signed, they can be verified independently.

These messages play an important role in environments where coordination occurs among participants that do not share infrastructure or organizational boundaries.


Policy Updates

PolicyUpdate

Policies governing coordination may change over time.

The PolicyUpdate message allows agents to communicate changes to policy objects.

Examples include:

  • updates to security requirements
  • new compliance rules
  • changes in resource limits
  • revised governance policies

When agents receive policy updates, they may re-evaluate ongoing tasks or negotiation processes to ensure continued compliance.

PolicyUpdate messages therefore allow governance constraints to evolve dynamically within the coordination network.


Observability Messages

Observe

The Observe message allows monitoring systems to request information about coordination events.

Observers may include:

  • monitoring agents
  • audit services
  • governance nodes

Observation messages may request:

  • status of ongoing tasks
  • execution traces
  • coordination graph information

The responses allow observers to reconstruct workflows and analyze coordination patterns.

Observe messages therefore support transparency and system introspection.


Message Relationships

Protocol messages are not isolated interactions.
Instead, they form chains of communication events that reflect the progression of coordination workflows.

For example, a typical interaction sequence may involve:

  1. AdvertiseCapability
  2. Discover
  3. Intent
  4. Offer
  5. TaskStart
  6. TaskProgress
  7. TaskDone

Each message references the coordination objects involved in the interaction.

These references allow agents to link messages together and reconstruct the workflow.


Message Validation

Agents receiving protocol messages typically perform validation before processing them.

Validation steps may include:

  • verifying schema references
  • checking message integrity
  • confirming compatibility with supported object types
  • evaluating policy constraints

Invalid messages may be rejected or ignored depending on system configuration.

Validation ensures that coordination interactions remain consistent across heterogeneous implementations.


Supporting Diverse Coordination Models

Although the protocol defines a core set of message types, it does not restrict how these messages are used.

Different coordination models may employ different sequences of messages.

Examples include:

  • contract-net negotiation workflows
  • auction-based resource allocation
  • collaborative planning among agents
  • federated coordination among domain operators

Because the message types represent fundamental coordination actions, they can support a wide range of interaction models.


Message Types as the Interaction Grammar

The protocol message types collectively form the interaction grammar of Pervasive.link.

They define the actions that agents can perform during coordination:

  • advertising capabilities
  • discovering services
  • expressing intents
  • negotiating offers
  • assigning tasks
  • reporting execution results

By defining these actions in a structured and consistent way, the protocol allows agents developed in different ecosystems to participate in shared workflows.

In the next section, we examine capability discovery and routing mechanisms, which determine how intents propagate through coordination networks and reach agents capable of fulfilling them.