07 Interaction

This chapter defines semantic operations, outbound delivery, execution decomposition, context resolution, and response contracts.

Purpose

This is the missing interoperability layer most systems ignore.

Without it, two implementations may share identity, auth, D2D, and trust but still fail to behave similarly from the user's point of view.

The Interaction Contract layer standardizes:

Semantic Operation Registry

The protocol SHOULD standardize semantic operation types, not command spellings.

The registry itself is already part of the protocol design. The remaining 1.0 work is to freeze:

Implementations SHOULD advertise their supported semantic operations through the capability discovery layer rather than forcing remote peers to infer them from product-specific UI or command names.

Recommended primary semantic operations are:

Control operations:

Resource operations:

Trust operations:

Outbound delivery operations:

These are protocol semantics, not command names.

One implementation might expose:

Another might expose:

Another might expose no slash commands at all and use only buttons, forms, or plain language.

All of them remain interoperable if they preserve the same semantic contracts.

Outbound Delivery Semantics

The interaction protocol is not only human -> Dina.

It must also standardize when Dina speaks to the human without a fresh inbound command.

At minimum, a conforming implementation SHOULD support these proactive delivery semantics:

These are semantic contracts, not UI prescriptions.

One implementation may show a push notification.
Another may add a notification center item.
Another may surface the item only in a daily briefing.

Reference Mapping

The current Dina reference product maps its external command surface approximately as follows:

Resource examples:

Trust examples:

This mapping is explicitly non-normative.

Outer Contract vs Execution Graph

This is the key interaction rule:

Examples:

This rule is required to handle real scenarios such as:

Multi-Turn Interaction Frames

The protocol SHOULD model interactions as frames, not isolated stateless turns.

An interaction frame SHOULD carry at least:

Follow-up turns SHOULD remain within the existing outer contract unless the user clearly pivots.

Examples:

Counterparty Classes

The interaction protocol SHOULD distinguish:

This distinction matters because:

Persona and Sensitivity Scope

The interaction protocol SHOULD treat persona scope as part of routing, not merely storage.

At minimum, a conforming implementation SHOULD evaluate:

This is necessary for interoperable governance because:

Context Resolution

Before fulfillment, a Dina-compatible implementation SHOULD resolve:

This is what allows phrases like:

to become structured interoperable requests.

Delivery and Notification Contract

The interaction protocol SHOULD also standardize how work completion and failure are surfaced back to the human.

At minimum, implementations should distinguish:

This is the outbound half of Silence First.

Response Contract

The response layer SHOULD support a portable envelope with a small, typed set of response kinds:

This is not just UI polish. It is part of protocol interoperability because agents, Dinas, bridges, and clients need a stable result contract.

At minimum, the response envelope SHOULD freeze these core fields:

The response layer SHOULD also remain explicitly extensible. A conforming envelope MAY include:

This is important because different Dina-compatible ecosystems may allow different downstream behaviors while still remaining interoperable.

Examples:

The protocol should require that such additions be explicit and machine-readable rather than hidden inside arbitrary text.

A draft machine-readable schema for this contract lives in:

Implementations SHOULD advertise supported response kinds, envelope versions, and extension namespaces through the capability discovery layer.

Bridges vs Native D2D

Email, chat apps, and provider APIs remain important, but they are not the same thing as Dina-to-Dina communication.

The interaction protocol therefore distinguishes:

This preserves the qualitative difference between:

without requiring every implementation to expose those differences through the same UI.