Draft 2.2 · May 2026 Apache 2.0 · Open Standard

The open standard for agent data, names, modes, and workflows.

AIX — the AI Interchange Standard — defines a common envelope, naming convention, behavioral mode vocabulary, and composable schema patterns so generative AI tools, agents, and applications can exchange data without glue code.

  • 4behavioral modes
  • 6naming validation tests
  • 11task types in the registry
  • 13sections in Draft 2.2

Developers don’t have time for schema minutiae. AIX does the homework — field names, object shapes, behavior flags, metadata, versioning — so your team can ship instead of inventing vocabulary.

§ 1 — The problem

Every AI tool speaks its own dialect.

The generative AI ecosystem produced hundreds of specialized tools — each with its own API format, authentication method, response structure, and naming vocabulary. The result is friction at every seam.

  • Glue code everywhere. Every new provider means another adapter, another field-mapping table, another tower of try / except.
  • Vocabulary drift. first_name vs givenName vs fn. system_prompt vs systemPrompt vs sp. Teams burn cycles arguing about names that should already be settled.
  • Workflow chaining is custom every time. Piping the output of one provider into the input of another is bespoke integration work, repeated per pipeline.
  • Agents exceed scope. Without a declared behavioral mode, agents default to a generic helpful-assistant posture and act outside their intended function.
  • No comparable signals. Cost, latency, and token counts are reported in different shapes, making provider comparison a research project of its own.

§ 2 — The envelope

Anatomy of an AIX message.

Every AIX request and response wraps the same five-block envelope. Versioned by the aix field. Provider, model, latency, cost, and tokens live in predictable places, so logs and dashboards can read every provider the same way.

AIX envelope message.json
  • aixstringSpec version, e.g. "2.2"
  • iduuidStable identifier for the request
  • timestampiso‑8601UTC origin time of the message
taskrequest shape
  • typecontent_authoring · image · voice · code · …
  • provideranthropic · openai · elevenlabs · …
  • modelclaude-sonnet-4 · gpt-4o · …
inputrequest payload
  • Task-specific. Canonical AIX field names throughout.
outputresponse payload
  • Task-specific. Same canonical names on the return trip.
metacomparable across providers
  • cost{ amount, currency }
  • latency{ totalMs }
  • tokens{ input, output, total }
  • agentModeobserver · orchestrator · briefing · off
errorwhen something fails
  • retryableboolean
  • retryAfterMsinteger ms

Same shape, every provider, every task type. See Example C for the envelope rendered as live JSON.

§ 3 — Standards pillars

Six pieces of a working interchange standard.

Each pillar is drawn directly from the Draft 2.2 specification. Together they cover how AI systems should name, exchange, behave, and evolve.

01

Naming that passes the Stranger Test

Field names use camelCase, full English words, and a strict four-part hierarchy: {component}_{objectType}_{identifier}_{property}. Every new key must pass six validation tests before it joins the canonical registry.

  • Stranger Test — readable without internal context
  • Hierarchy Test — four segments, no shortcuts
  • Abbreviation Test — no sp, or, liUrl
  • Case, Redundancy, and Conflict Tests
02

The AIX Envelope

Every AIX message wraps a uniform task/input/output/meta/error structure. Versioned via the aix field. Provider, model, latency, cost, tokens, and retention sit in predictable places, so logs, dashboards, and comparison tools can read every provider the same way.

  • Stable across providers and task types
  • Comparable cost/latency/token metadata
  • Errors carry retryable + retry_after_ms
03

Behavioral Modes

MCP defines what an agent can access. AIX defines how it behaves. The behavioralMode field declares the agent’s current operating posture — at the protocol level, queryable by orchestration layers and other agents.

observer orchestrator briefing off

Mode transitions must be explicit. Agents do not self-promote.

04

Composable Collections

When a system needs multiple instances of the same conceptual thing, model it as a typed collection with a controlled vocabulary — not enumerated fields. AIX 2.2’s media[] array is the reference pattern: one shape, many surfaces, extensible without spec churn.

  • Typed type field with controlled vocab
  • Open-vocabulary name / label
  • Resolution rule when multiple entries exist
05

Workflows & Chaining

The output of one AIX task becomes the input of the next via ${step_id.output.field} substitution. Research, write, synthesize voice — declarative steps, comparable metadata, no bespoke piping per pipeline.

  • Declarative multi-step workflows
  • Provider-agnostic step composition
  • Side-by-side provider comparison schema
06

Governance & Versioning

Minor versions are additive. Ratified keys are never renamed — only deprecated alongside a replacement. Amendments follow a controlled process: propose, run all six validation tests, check conflicts, ratify into the canonical reference.

  • Additive minor versions (2.1 → 2.2)
  • No retroactive renames
  • Open amendment process

§ 4 — In code

What AIX looks like at the keyboard.

Two everyday decisions, settled by the standard so you don’t have to debate them in your next stand-up.

Example A · Modeling multiple media surfaces

One author, many surfaces. Use a typed collection — not enumerated slots.

Anti-pattern persona.json
{
  "givenName": "Jane",
  "familyName": "Smith",
  "mediumNewsletter":  "Compounding",
  "mediumBlog":        null,
  "mediumYtChannel":   null,
  "mediumTiktok":      null,
  "mediumPodcast":     null,
  "mediumPlatform":    "Patternwork Studio"
}

Every new surface forces a spec amendment, a UI input, and a migration. 90% of fields stay null.

AIX 2.2 persona.json
{
  "givenName": "Jane",
  "familyName": "Smith",
  "media": [
    {
      "mediumType":    "newsletter",
      "mediumName":    "Compounding",
      "mediumTagline": "What gets better with time, before everyone notices.",
      "mediumUrl":     "https://compoundingnotes.com",
      "isPrimary":     true
    },
    {
      "mediumType": "platform",
      "mediumName": "Patternwork Studio",
      "mediumUrl":  "https://patternwork.studio"
    }
  ]
}

One typed collection. Controlled vocabulary on mediumType. Extensible without spec churn.

Example B · Declaring how an agent behaves

Without a mode, agents default to “helpful general assistant” and exceed scope.

AIX 2.2 — behavioralMode agent.json
{
  "aix": "2.2",
  "agent": {
    "id": "rosie",
    "role": "chief_of_staff",
    "behavioralMode": "observer",
    "allowedModes": ["observer", "orchestrator", "briefing", "off"]
  }
}

Mode is declared, not inferred. Orchestration layers and downstream agents can read it. Transitions are explicit.

Example C · The envelope, every task

Same shape, every provider, every task type.

AIX envelope request.json
{
  "aix": "2.2",
  "id": "uuid-v4",
  "timestamp": "2026-04-19T09:00:00Z",
  "task":   { "type": "content_authoring", "provider": "anthropic", "model": "claude-sonnet-4" },
  "input":  { "author": { "givenName": "Jane", "familyName": "Smith" } },
  "output": { },
  "meta":   {
    "cost":    { "amount": 0.018, "currency": "USD" },
    "latency": { "totalMs": 8400 },
    "tokens":  { "input": 4200, "output": 1850, "total": 6050 },
    "agentMode": "orchestrator"
  }
}

§ 5 — Why developers care

AIX does the homework so your team can ship.

The decisions teams normally fight about — field names, object shapes, behavior flags, metadata structure, versioning policy — are already settled in the spec. You inherit them.

Stop bikeshedding vocabulary.

givenName not first_name. linkedinUrl not liUrl. The naming convention is decided; move on.

Stop writing glue code.

Conform to the envelope once and any AIX-compliant provider is swappable. Workflows chain without bespoke piping.

Stop redesigning behavior flags.

Agents declare behavioralMode. Orchestration layers read it. No more “did the agent decide to email the customer on its own?”

Stop migrating schemas every quarter.

Composable collections + additive versioning means new surfaces and new modes extend the standard — not break it.

Compare providers, not snowflakes.

Cost, latency, and token counts live in the same place in every response. Build dashboards once.

Inherit a Schema.org base.

AIX uses Schema.org canonical names where they exist and only extends where the web vocabulary stops. You’re not learning a new universe.

§ 6 — Specification

AIX, Draft 2.2.

An open standard authored under Apache 2.0. Heritage in CrossARM (2014). Built on a Schema.org base with AIX extensions where the web’s vocabulary doesn’t reach.

Version

2.2 Draft

May 2026 · Additive minor

License

Apache 2.0

Open standard, free to implement

Heritage

CrossARM (2014)

Cross-platform data interchange lineage

Base vocabulary

Schema.org

AIX extensions where needed

Validation

JSON Schema

Six naming tests per ratified key

Complement

MCP-friendly

MCP for access · AIX for behavior & data

What’s in Draft 2.2

  1. 1Introduction · CrossARM lineage · Schema.org relationship
  2. 2Core Naming Principles · camelCase · hierarchy · validation tests
  3. 3Persona Field Registry · Schema.org base + AIX extensions
  4. 4Component & Agent Registry · including §4.7 Behavioral Modes
  5. 5Reserved Segment Vocabulary
  6. 6Canonical Key Reference
  7. 7AIX Envelope & Task Types
  8. 8Task-Specific Schemas · voice, image, text, video, code, content_authoring
  9. 9Workflows & Chaining
  10. 10Provider Comparison Format
  11. 11Security & Governance · versioning · amendment process
  12. 12Appendix · provider registry · language codes · media types
  13. 13Changelog

“AIX field keys should be semantically stable — they describe what kind of thing the data is, not where it lives.”

— AIX 2.2, on composable collections

Build on the standard.

AIX is an open standard. Use it, extend it, or propose amendments. The full Draft 2.2 spec is one page away.

Questions or amendments? Use the proposal form →