§ Draft 2.2 · May 2026 · Apache 2.0
AIX
The AI Interchange Standard
AIX is an open standard for naming, exchanging data, and establishing interoperability between generative AI tools, agents, and applications. This document merges the AIX Interchange Format Specification and the AIX Naming Convention Standard into a single authoritative reference.
1. Introduction #
1.1 The Problem #
The generative AI revolution has produced hundreds of specialized tools — each with its own API format, authentication method, and response structure. This fragmentation creates developer burden through custom integration code for each provider, vendor lock-in when switching providers requires rewriting applications, workflow friction when chaining tools requires format conversion, and no standard way to compare outputs across providers.
A parallel problem exists inside AI agents themselves: without a naming standard, every team invents its own key vocabulary for fields, configuration properties, and persona data. Keys proliferate without governance — some snake_case, some camelCase, some abbreviated, some redundant — until the system becomes unmaintainable and incompatible with external implementers.
1.2 The Solution #
AIX addresses both problems with a single specification. It defines a standard envelope for AI task requests and responses so any AIX-compliant tool can accept standardized inputs, return standardized outputs, be swapped with any other tool in the same category, and chain seamlessly with other AIX tools in workflows. It also defines a canonical naming convention so every field, key, and identifier in the AIX ecosystem is unambiguous, hierarchical, and implementable by developers with no internal context.
1.3 Heritage: CrossARM (2014) #
AIX follows the pattern established by CrossARM, a data interchange standard developed by Ubertrends LLC in 2014 for cross-platform marketing data exchange. CrossARM’s governing principle was: use Schema.org canonical names where they exist, and invent proprietary extensions for what Schema.org does not cover.
// CrossARM 2014 — Schema.org base vocabulary
givenName, familyName, worksFor, address, email, telephone (Person)
brand, legalName, duns, isicV4 (Organization)
// CrossARM 2014 — Proprietary extensions (Schema.org had no equivalent)
facebookName, twitterName, twitterFollowers, engagementRate
uniqueVisits, timeOnSite, bounceRate, influencerRating
AIX v2.0 formalizes this pattern. Schema.org canonical names are used wherever applicable. Fields that Schema.org does not cover are defined as AIX extensions, noted as such in the registry.
1.4 Relationship to Existing Standards #
| Standard | Focus | AIX Relationship |
|---|---|---|
| MCP (Model Context Protocol) | Connecting AI to data sources | Complementary — MCP handles inputs, AIX handles outputs |
| Schema.org | Structured web data vocabulary | Foundation — AIX uses Schema.org canonical names as base layer |
| Eden AI Schemas | Traditional AI APIs (OCR, NLP) | Predecessor — AIX extends into generative AI task types |
| JSON Schema | Data validation | Implementation — AIX uses JSON Schema for field validation |
| CrossARM (2014) | Cross-platform marketing data | Heritage — established the Schema.org base + extension pattern |
2. Core Naming Principles #
These principles govern every field name, key, and identifier in the AIX specification and in any AIX-compliant implementation.
2.1 camelCase Throughout #
All field names and identifiers use camelCase. No snake_case, no kebab-case, no PascalCase for field names. This aligns with JSON, JavaScript, and modern API conventions.
// ✓ Correct
givenName familyName jobTitle telephoneMobile linkedinUrl
// ✗ Incorrect
given_name // snake_case
given-name // kebab-case
GivenName // PascalCase
Layer-specific exceptions: - Database columns use snake_case by PostgreSQL convention. API responses, JSON exports, and all specification field names use camelCase. ORM/serialization layers handle the translation (e.g.,
given_name → givenName). - Slugs and URLs use dash-case (e.g.,futuresight-studio,rss-discovery). Slugs are identifiers in routing and storage contexts, not AIX field names, and follow web convention. Slug values are never used as AIX field keys. - Schema version strings use the format{type}-v{N}(e.g.,studio-json-v1,canvas-document-v1). These are opaque version identifiers, not field keys, and are exempt from the camelCase rule.
2.2 Hierarchical Namespace #
Every internal AIX identifier (agent configs, format types, quality passes, module keys) follows a strict four-part hierarchy. Each segment narrows scope from broad to specific. Underscores serve exclusively as namespace separators — they are not snake_case within a segment.
{component}_{objectType}_{identifier}_{property}
writingAgent_format_default_systemPrompt
writingAgent_format_newsletter_outputRules
researchAgent_qualityPass_hallucinationSweep_systemPrompt
personaAgent_voice_brand
publishingModule_emailStudio_studioJson
2.3 Schema.org Base + AIX Extensions #
For persona data and interchange fields, AIX uses Schema.org canonical property names where they exist. When Schema.org does not have a suitable property, AIX defines extensions, marked ‘AIX extension’ in the Source column.
| Layer | Example Fields | Rule |
|---|---|---|
| Schema.org canonical | givenName, familyName, jobTitle, legalName, telephone, email, naics, foundingDate | Use as-is, no modification |
| AIX extensions | telephoneMobile, emailBusiness, linkedinUrl, twitterUrl | Only when Schema.org has no equivalent |
| AIX hierarchy keys | writingAgent_format_default_systemPrompt | Four-part camelCase hierarchy for agent/config keys |
2.4 No Abbreviations #
All segments use full English words. The only exceptions are established industry acronyms registered in the AIX permitted acronym list.
| ✗ Prohibited (abbreviated) | ✓ Required (full word) |
|---|---|
| liUrl | linkedinUrl |
| sp | systemPrompt |
| or | outputRules |
| docType | documentType |
| qPass | qualityPass |
| ra | researchAgent |
Permitted acronyms: aix, api, url, html, json, uuid, naics, rss, uma
rssadded 2026-05-12. RSS (Really Simple Syndication / RDF Site Summary) has been the W3C-canonical name for the format since 2002.umaadded 2026-05-09. UMA (Unified Module Architecture) is the registered module platform layer in the AIX ecosystem.
2.5 Identifier Names the Format — Properties Define It #
The identifier segment (position 3 in the hierarchy) uses a short, stable handle. The systemPrompt and outputRules properties carry the full behavioral specification. Never encode behavior into the identifier name.
// ✓ Correct — identifier is a short stable handle
writingAgent_format_newsletter_systemPrompt
writingAgent_format_newsletter_outputRules
// ✗ Wrong — behavior encoded into identifier name
writingAgent_format_formattedNewsletterWithCuratedSections_systemPrompt
2.6 Naming Validation Tests #
Before any new key is ratified, it must pass all six tests. A key that fails any test must be revised.
| Test | Question | Fail Condition |
|---|---|---|
| 1. Stranger Test | Could a developer with no internal context understand this key from its name alone? | Requires docs or explanation to parse |
| 2. Hierarchy Test | Does the key follow {component}{objectType}?}_{property | Missing segment when more specificity exists |
| 3. Abbreviation Test | Does the key contain any prohibited abbreviated segments? | Any segment not a full word or registered acronym |
| 4. Case Test | Is every segment in camelCase? | Any snake_case, kebab-case, or UPPER_SNAKE within a segment |
| 5. Redundancy Test | Does any segment restate or mirror an adjacent segment? | e.g. documentType_document — concept repeated |
| 6. Conflict Test | Does the key duplicate or closely mirror an existing canonical key? | Duplicate or near-duplicate of a ratified key |
3. Persona Field Registry #
The Persona Field Registry defines every field in the AIX identity vault. Each field is either a Schema.org canonical property (used as-is) or an AIX extension (defined because Schema.org has no equivalent). This registry is the authoritative source for all Persona Vault implementations.
Schema.org canonical fields are used as-is. AIX extension fields are marked ‘AIX extension’ in the Source column. The field key is the bare name — e.g.,
linkedinUrl, notaix:linkedinUrl.
3.1 Essentials #
| AIX Field Key | Source | Description | Example Value |
|---|---|---|---|
| givenName | Schema.org | Legal first name | Michael |
| familyName | Schema.org | Legal last name | Tchong |
| preferredName | AIX extension | Preferred name or nickname if different from legal name | Mike |
| jobTitle | Schema.org | Professional title | Founder & CEO |
| worksFor | Schema.org | Primary organization name | Ubertrends LLC |
| industry | AIX extension | Industry or sector | Technology Consulting |
| addressHome | AIX extension | Home or personal display location (City, State) | Las Vegas, NV |
| timezone | AIX extension | IANA timezone identifier | America/Los_Angeles |
3.2 Professional #
| AIX Field Key | Source | Description |
|---|---|---|
| activeProject1 | AIX extension | Current primary project name and one-line description |
| activeProject2 | AIX extension | Current secondary project |
| currentGoal1 | AIX extension | Active goal with target date |
| currentGoal2 | AIX extension | Active goal with target date |
| currentGoal3 | AIX extension | Active goal with target date |
| expertise | AIX extension | Core areas of expertise (comma-separated or prose) |
| toolsUsed | AIX extension | Primary tools and platforms currently in use |
| resume | AIX extension | Short professional bio or resume summary |
3.3 Organization #
These fields describe the author’s organization or business entity. They use Schema.org Organization vocabulary where available.
| AIX Field Key | Source | Description |
|---|---|---|
| legalName | Schema.org | Full legal name of the organization — see §3.4 for authoritative definition |
| description | Schema.org | Short organization description (elevator pitch) |
| companyBackgrounder | AIX extension | Longer organization backgrounder for press or partners |
| productServiceDescription1 | AIX extension | Primary product or service description |
| productServiceDescription2 | AIX extension | Secondary product or service description |
| url | Schema.org | Primary website URL |
| websiteUrl2 | AIX extension | Secondary website URL |
legalNameis a shared field defined authoritatively in §3.4 Financial & Legal. It appears here because Organization context is where most implementations first encounter it. §3.4 is the canonical definition.
3.4 Financial & Legal #
| AIX Field Key | Source | Description |
|---|---|---|
| legalName | Schema.org | Legal entity name (also in Organization — shared field) |
| entityType | AIX extension | Legal entity type (LLC, Corp, Sole Prop, etc.) |
| foundingDate | Schema.org | Date organization was founded or incorporated |
| naics | Schema.org | NAICS industry classification code |
| taxCategory | AIX extension | Tax classification (e.g., Disregarded Entity, S-Corp) |
| addressBusiness | AIX extension | Full business mailing address |
| addressHome | AIX extension | Home or personal display location |
| bank | AIX extension | Primary banking institution name |
| references | AIX extension | Professional references (names, titles, contact info) |
| telephoneBusiness | AIX extension | Business/office telephone number |
| telephoneMobile | AIX extension | Mobile telephone number |
AIX Disambiguation Pattern — Schema.org has single-value properties for address, telephone, and email. AIX extends each with a qualifier suffix:
addressBusiness/addressHome,telephoneBusiness/telephoneMobile,emailBusiness/emailPersonal. The Schema.org base property is not used directly in AIX implementations.
3.5 Media Collections #
AIX v2.1 introduced the media array: a collection of Medium entries, each typed with controlled vocabulary, carrying its own name, optional brand, optional tagline, optional URL, and a primary flag.
Field Definitions #
| AIX Field Key | Source | Type | Required | Description |
|---|---|---|---|---|
| media | AIX extension | array | No | Ordered collection of Medium objects representing the author’s media surfaces |
| mediumType | AIX extension | string | Yes (per entry) | Controlled vocabulary — see table below |
| mediumName | AIX extension | string | Yes (per entry) | User-facing display name of this media surface |
| mediumBrand | AIX extension | string | No | Optional umbrella brand if distinct from mediumName |
| mediumTagline | AIX extension | string | No | Per-medium tagline; defaults to persona tagline if absent |
| mediumUrl | AIX extension | string (URL) | No | Canonical URL for this media surface |
| isPrimary | AIX extension | boolean | Yes (per entry) | Exactly one entry per persona must be true |
mediumNamevs.worksFor—worksFornames the organization ("Ubertrends LLC").mediumNamenames the media surface ("Ubertrends"). For solo operators whose company IS their media brand, the values may converge. Template substitution contexts differ:{worksFor}= organizational affiliation;{mediumName}= publication/media byline.
mediumType Controlled Vocabulary #
| Value | Description | Examples |
|---|---|---|
newsletter |
Email-delivered periodic publication | Ubertrends, The Hustle, Morning Brew |
blog |
Web-native long-form writing surface | Waitbutwhy, Stratechery |
podcast |
Audio episodic series | The Tim Ferriss Show, Lex Fridman Podcast |
channel |
Video episodic series — platform-neutral | Veritasium (YouTube), MKBHD |
social |
Broadcast-style social presence | LinkedIn, X/Twitter, Threads, Bluesky |
platform |
Product or service where content appears | Solo Trillion Orchestra, a SaaS product blog |
publication |
Formal editorial container | Substack, Ghost, Medium publication |
community |
Membership or discussion space | Discord server, Slack community, Circle |
other |
Any surface not covered above | — |
Implementations MUST accept unknown mediumType values without error, treating them as other.
Template Substitution Resolution Rule #
When a Writing Agent resolves {mediumName}, {mediumBrand}, or {mediumTagline} at generation time:
| Step | Condition | Action |
|---|---|---|
| 1 | Generation request specifies mediumId or mediumType |
Substitute from the matching media[] entry |
| 2 | No request-level override | Substitute from the entry where isPrimary: true |
| 3 | No primary entry | Substitute from media[0] |
| 4 | media[] is empty or absent |
Fall back to worksFor for {mediumName}; log a warning |
This resolution rule is normative. Any AIX-compliant Writing Agent must implement it identically.
Reference Implementation Example #
"media": [
{
"mediumType": "newsletter",
"mediumName": "Ubertrends",
"mediumBrand": "FutureSight",
"mediumTagline": "America's Most Influential Trend Spotter",
"mediumUrl": "https://ubertrends.com",
"isPrimary": true
},
{
"mediumType": "platform",
"mediumName": "Solo Trillion Orchestra",
"mediumUrl": "https://solotrillion.ai",
"isPrimary": false
}
]
Backwards Compatibility #
AIX v2.1 is purely additive. The non-canonical {publication_name} placeholder is deprecated in favor of {mediumName}. {publication_name} will be removed in v3.0.
3.6 Social Media #
| AIX Field Key | Source | Description | Format |
|---|---|---|---|
| linkedinUrl | AIX extension | LinkedIn profile URL | https://linkedin.com/in/handle |
| twitterUrl | AIX extension | X/Twitter profile URL | https://x.com/handle |
| facebookUrl | AIX extension | Facebook profile or page URL | https://facebook.com/handle |
| instagramUrl | AIX extension | Instagram profile URL | https://instagram.com/handle |
| youtubeUrl | AIX extension | YouTube channel URL | https://youtube.com/@handle |
| tiktokUrl | AIX extension | TikTok profile URL | https://tiktok.com/@handle |
| substackUrl | AIX extension | Substack publication URL | https://name.substack.com |
Naming pattern:
{platform}Url— theUrlsuffix is required. Without it,sameAs(array) — insufficient for per-platform agent use.
3.7 Contact (Email) #
| AIX Field Key | Source | Description |
|---|---|---|
| Schema.org | Primary email address | |
| emailBusiness | AIX extension | Business email address |
| emailPersonal | AIX extension | Personal email address |
3.8 Preferences #
| AIX Field Key | Source | Description |
|---|---|---|
| communicationStyle | AIX extension | Preferred communication style with this agent |
| checkinFrequency | AIX extension | How frequently and in what format to receive check-ins |
| interests | AIX extension | Personal and professional interests |
| offLimitsTopics | AIX extension | Topics or subjects to avoid in generated content |
| responseFormat | AIX extension | Preferred response format (prose, bullets, structured, etc.) |
3.9 Conversational Agent #
| AIX Field Key | Source | Description |
|---|---|---|
| conversationalAgentName | AIX extension | Display name of the conversational agent. Default: Rosie |
| conversationalAgentVoiceId | AIX extension | TTS voice identifier (e.g., ElevenLabs voice ID) |
| conversationalAgentSystemPrompt | AIX extension | System prompt defining the conversational agent persona |
3.10 Published Works #
AIX v2.2 introduces fields for authors who publish long-form structured works (books, field guides, reference manuals). These fields enable book chapter chaining, sidebar attribution, and cross-referencing within multi-chapter publications.
| AIX Field Key | Source | Description |
|---|---|---|
| bookTitle | AIX extension | Full title of the book or long-form work |
| bookKey | AIX extension | Stable slug identifier for the book (dash-case, e.g., ai-power-tools) |
| chapterKey | AIX extension | Stable slug identifier for a chapter (e.g., chapter-01-foundations) |
| chapterTitle | AIX extension | Display title of the chapter |
| chapterNumber | AIX extension | Sequential chapter number (integer) |
| chapterContent | AIX extension | Full prose content of the chapter |
| chapterSummary | AIX extension | Short summary of the chapter for navigation and indexing |
| chapterSubsections | AIX extension | Array of subsection headings within the chapter |
| contentType | AIX extension | Type of content unit: chapter | sidebar | appendix | introduction |
| parentChapterKey | AIX extension | For sidebars: the chapterKey of the containing chapter |
Stranger Test validation (all 10 fields): All fields use full English words, follow the
{concept}{Qualifier}camelCase pattern, and are self-describing to a developer with no internal context.bookKeyandchapterKeyuseKeyas a suffix indicating a stable slug identifier — consistent with the AIX extension pattern for opaque handles.
4. Component & Agent Registry #
Components are the top-level namespace segment in all AIX hierarchy keys. New components require a spec amendment before use.
| Component Key | Full Name | Description |
|---|---|---|
| researchAgent | Research Agent | Web research, source synthesis, hallucination detection |
| writingAgent | Writing Agent | Content generation, format management, output formatting |
| personaAgent | Persona Agent | Identity vault, voice, guidelines, guardrails |
| conversationalAgent | Conversational Agent | Conversational assistant (Telegram + web) — default name: Rosie |
| rosie | Rosie | Registered component key for Rosie-specific configuration keys. Use conversationalAgent for generic interchange; use rosie for Rosie-specific implementation keys. |
| orchestra | Orchestra | Platform-level orchestration, agent chaining, workflow config |
| aix | AIX Standard | Specification-level fields (version, schema, envelope) |
4.7 Agent Behavioral Modes #
AIX-compliant agents may declare a behavioral mode that governs how they respond to inputs and initiate actions.
4.7.1 The Problem #
Without a standard mode declaration, agents default to their training bias — typically “helpful general assistant” — regardless of the role they are assigned. A naming standard alone does not solve this; behavior must be declarable and queryable at the protocol level.
4.7.2 The behavioralMode Field #
{
"aix": "2.2",
"agent": {
"id": "rosie",
"role": "chief_of_staff",
"behavioralMode": "observer",
"allowedModes": ["observer", "orchestrator", "briefing", "off"]
}
}
4.7.3 Standard Mode Vocabulary #
| Mode | Description | Agent Behavior |
|---|---|---|
observer |
Default monitoring state | Listens, classifies, surfaces signals. Does not initiate external actions without explicit trigger. |
orchestrator |
Active pipeline execution | Runs workflows, coordinates other agents, executes scheduled tasks. |
briefing |
Delivery state | Formats and delivers digests, summaries, and reports. Read-only relative to source data. |
off |
Silent state | No proactive outreach. Responds to direct queries only. Executes no scheduled tasks. |
4.7.4 Mode Transitions #
Behavioral mode transitions must be explicit. An agent must not self-transition between modes based on conversation context alone. Mode changes require a direct user instruction, a scheduled trigger, or an orchestration signal from another AIX-compliant agent.
4.7.5 Mode Declaration in Task Envelopes #
{
"aix": "2.2",
"task": { "type": "content_authoring", "provider": "anthropic", "model": "claude-sonnet-4-6" },
"meta": { "requestId": "req_abc123", "timestamp": "2026-05-01T09:00:00Z", "agentMode": "orchestrator" }
}
4.7.6 Soul Documents #
A Soul Document is a persistent identity file that defines an agent’s role, constraints, personality, and behavioral boundaries. Loaded before any system prompt, conversation history, or user input.
| Section | Required | Description |
|---|---|---|
| Identity | Yes | Who the agent is and what role it serves |
| Role | Yes | Specific functions the agent performs |
| Constraints | Yes | Explicit list of what the agent never does |
| Behavioral Modes | Recommended | Mapping to AIX 4.7.3 standard vocabulary |
| Tone Examples | Recommended | Compliant and non-compliant response examples |
The Soul Document pattern was formalized in AIX 2.1 based on implementation experience with Solo Trillion Orchestra’s Rosie agent and the OpenClaw project’s SOUL.md architecture.
4.7.7 Relationship to Existing Standards #
| Standard | Relationship |
|---|---|
| MCP (Model Context Protocol) | MCP defines what data an agent can access. AIX behavioral modes define how the agent acts on that data. Complementary. |
| OpenAI Assistants API | Assistants have instructions but no standard mode vocabulary. AIX modes are interoperable across providers. |
| LangChain Agent Types | LangChain defines execution strategies (ReAct, Plan-and-Execute). AIX modes define behavioral scope. Complementary. |
4.8 Module Manifest Standard #
AIX v2.2 formally ratifies the module manifest hierarchy for the Unified Module Architecture (UMA) platform layer. Modules are self-describing units that declare their identity, requirements, and contracts in a standardized manifest.
4.8.1 Module Key Hierarchy #
Module keys follow the four-part AIX hierarchy with a specialized pattern:
{moduleType}Module_{moduleId}_{property}
publishingModule_emailStudio_studioJson
publishingModule_emailStudio_publishRecord
researchModule_rssDiscovery_feedUrl
Module type segments (position 1):
- publishingModule — Content publishing and distribution modules
- researchModule — Research, discovery, and source modules
- writingModule — Writing assistance and generation modules
- personaModule — Identity and voice customization modules
Module ID segment (position 2): The registered moduleId in camelCase (e.g., emailStudio, rssDiscovery). This corresponds to the module’s app_id slug converted to camelCase. Note: the manifest’s moduleId field stores the dash-case slug ("futuresight-studio"); the AIX hierarchy key uses its camelCase equivalent (emailStudio). These are the same module — different representations for different contexts.
Property segment (position 3+): The specific property or data schema key.
4.8.2 Module Manifest Schema #
Every AIX-compliant module carries a manifest object:
{
"aixVersion": "2.2",
"moduleId": "futuresight-studio",
"moduleType": "publishing",
"displayName": "FutureSight Studio",
"version": "1.0.0",
"requires": ["writingAgent", "personaAgent"],
"inputContracts": ["content_authoring"],
"outputContracts": ["studio-json-v1"],
"permissionScopes": ["persona:read", "writing:generate", "publishing:send"],
"billing": { "model": "per_use", "unit": "generation" }
}
Slug-to-camelCase rule: The module’s
app_idis dash-case (futuresight-studio). The AIX module key uses camelCase for the identifier segment (emailStudio). The dash-case slug is used in routing and database storage only; the camelCase form is the canonical AIX key.
5. Reserved Segment Vocabulary #
5.1 Object Type Segments (Position 2) #
| Object Segment | Usage | Example |
|---|---|---|
| format | Output format variants for the Writing Agent | writingAgent_format_default_systemPrompt |
| qualityPass | Error-check and verification passes (any agent) | researchAgent_qualityPass_hallucinationSweep_systemPrompt |
| config | General agent operational configuration | researchAgent_config_default_systemPrompt |
| voice | Author identity and brand voice data | personaAgent_voice_brand |
| output | Generation output schema fields | writingAgent_output_draft_headline |
| input | Generation input schema fields | writingAgent_input_contentBrief_format |
| schema | JSON schema definitions | aix_schema_contentAuthoring_input |
| meta | Metadata (cost, latency, tokens) | aix_meta_cost_amount |
documentTypedeprecated: ThedocumentTypeobject segment (used in v2.0–v2.1 keys likewritingAgent_documentType_article_systemPrompt) is deprecated in v2.2. New keys useformat. Deprecated keys remain in the registry marked [DEPRECATED]; do not use for new implementations.
5.2 Identifier Segments (Position 3) #
Format Identifiers (under writingAgent_format) #
default is the open-form workhorse — shaped entirely by the user’s persona and config, producing articles, proposals, field guides, business plans, or any freeform document. Named formats have a defined structure.
| Identifier | What It Produces |
|---|---|
| default | Open-form output — structure defined by persona and config. Produces articles, field guides, business plans, proposals, or any freeform document. |
| meetingBrief | Condensed pre-meeting intelligence brief — structured, actionable |
| executiveBrief | Executive summary — structured for senior audience |
| competitiveAnalysis | Competitive analysis — structured comparison report |
| newsletter | Newsletter edition — curated, conversational |
| linkedinPost | LinkedIn post — compressed authority, plain text output |
Migration note:
articleandfieldGuideidentifiers (previously underwritingAgent_documentType_*) are deprecated.writingAgent_format_default_systemPromptis the canonical replacement. Existing implementations using these identifiers should migrate; deprecated keys remain in §6 for reference.
Quality Pass Identifiers (under {agent}_qualityPass) #
Universal quality control vocabulary shared across all agents.
| Identifier | Description |
|---|---|
| researchBuild | Initial data gathering and source synthesis pass |
| factCheck | Verify all claims against cited sources |
| hallucinationSweep | Detect and flag fabricated or unsupported content |
| complianceEdit | Apply guardrails, voice rules, and editorial standards |
| qualityScore | Final quality assessment and confidence scoring |
| optimizationPass | Refine output for performance, cost, or length targets |
Voice Identifiers (under personaAgent_voice) #
| Identifier | Description |
|---|---|
| brand | Author brand voice DNA — tone, vocabulary, sentence rhythm, signature phrases |
| guidelines | Editorial writing structure and style rules |
| guardrails | Hard stops, non-negotiables, topics requiring human review |
Config Identifiers (under {agent}_config) #
| Identifier | Description |
|---|---|
| default | The baseline configuration that ships with the product |
5.3 Property Segments (Position 4) #
| Property Suffix | Value Type | Description |
|---|---|---|
| systemPrompt | string | LLM system prompt for the given context |
| outputRules | string | Formatting and structure rules for generated output |
| config | object | Configuration object (when used as terminal node) |
| schema | object | JSON Schema definition |
| template | object | Complete template bundle (prompt + rules + metadata) |
| label | string | Human-readable display label |
| description | string | Human-readable description |
| version | string | Semantic version string |
| enabled | boolean | Feature flag |
6. Canonical Key Reference #
The master reference for all currently ratified AIX hierarchy keys.
Key version markers:
- Keys marked 1.x were introduced in v1.x of the specification
- Keys marked 2.0** are newly introduced in v2.0
- Keys marked 2.0* replace prior v1.2 keys
- Keys marked 2.2** are newly introduced in v2.2
- Keys marked [DEPRECATED] must not be used for new work; retained for backwards compatibility
6.1 Persona Agent — Voice #
| Canonical Key | Type | Ver | Description |
|---|---|---|---|
| personaAgent_voice_brand | string | 1.1 | Author brand voice DNA |
| personaAgent_voice_guidelines | string | 1.1 | Editorial writing guidelines |
| personaAgent_voice_guardrails | string | 1.1 | Hard stops and non-negotiables |
6.2 Writing Agent — Format (v2.2) #
| Canonical Key | Type | Ver | Description |
|---|---|---|---|
| writingAgent_format_default_systemPrompt | string | 2.2** | Default open-form system prompt |
| writingAgent_format_default_outputRules | string | 2.2** | Default open-form output rules |
| writingAgent_format_meetingBrief_systemPrompt | string | 2.2** | Meeting Brief system prompt |
| writingAgent_format_meetingBrief_outputRules | string | 2.2** | Meeting Brief output rules |
| writingAgent_format_executiveBrief_systemPrompt | string | 2.2** | Executive Brief system prompt |
| writingAgent_format_executiveBrief_outputRules | string | 2.2** | Executive Brief output rules |
| writingAgent_format_competitiveAnalysis_systemPrompt | string | 2.2** | Competitive Analysis system prompt |
| writingAgent_format_competitiveAnalysis_outputRules | string | 2.2** | Competitive Analysis output rules |
| writingAgent_format_newsletter_systemPrompt | string | 2.2** | Newsletter system prompt |
| writingAgent_format_newsletter_outputRules | string | 2.2** | Newsletter output rules |
| writingAgent_format_linkedinPost_systemPrompt | string | 2.2** | LinkedIn Post system prompt |
| writingAgent_format_linkedinPost_outputRules | string | 2.2** | LinkedIn Post output rules |
| writingAgent_config_default_systemPrompt | string | 2.0* | Default Writing Agent system prompt |
| writingAgent_config_default_outputRules | string | 2.0* | Default output rules |
6.3 Research Agent #
| Canonical Key | Type | Ver | Description |
|---|---|---|---|
| researchAgent_config_default_systemPrompt | string | 1.2 | Research Agent default system prompt |
| researchAgent_qualityPass_researchBuild_systemPrompt | string | 2.0** | Pass 1: Research Build prompt |
| researchAgent_qualityPass_factCheck_systemPrompt | string | 2.0** | Pass 2: Fact Check prompt |
| researchAgent_qualityPass_hallucinationSweep_systemPrompt | string | 2.0** | Pass 3: Hallucination Sweep prompt |
| researchAgent_qualityPass_complianceEdit_systemPrompt | string | 2.0** | Pass 4: Compliance Edit prompt |
| researchAgent_qualityPass_qualityScore_systemPrompt | string | 2.0** | Pass 5: Quality Score prompt |
6.4 UMA Platform Keys (v2.2) #
Platform-level keys for the Unified Module Architecture. These keys travel at the platform layer, not the agent layer.
| Canonical Key | Type | Ver | Description |
|---|---|---|---|
| umaModule_registry_manifest | object | 2.2** | Module manifest JSON object |
| umaModule_entitlement_status | string | 2.2** | Module entitlement state: active | suspended | pending |
| umaModule_billing_ref | string | 2.2** | Billing reference ID for usage tracking |
| umaModule_usage_event | object | 2.2** | Metering event payload |
6.5 Publishing Module — FutureSight Studio (v2.2) #
Keys for the FutureSight Studio publishing module (moduleId: emailStudio).
| Canonical Key | Type | Ver | Description |
|---|---|---|---|
| publishingModule_emailStudio_studioJson | object | 2.2** | AIX Canvas envelope for email Studio rendering |
| publishingModule_emailStudio_canvasDocument | object | 2.2** | Canvas document schema [RESERVED — v1.5] |
| publishingModule_emailStudio_publishRecord | object | 2.2** | Record of a completed publish operation |
| publishingModule_emailStudio_deliveryTarget | string | 2.2** | Target delivery address or list identifier |
| publishingModule_emailStudio_issueSubject | string | 2.2** | Email subject line for this issue |
| publishingModule_emailStudio_issueDate | string | 2.2** | Publication date (ISO-8601) |
6.6 Deprecated Keys #
These keys remain in the registry for backwards compatibility. Do not use for new implementations.
Show 16 deprecated keys with replacements
| Deprecated Key | Replacement | Deprecated In |
|---|---|---|
| writingAgent_documentType_article_systemPrompt | writingAgent_format_default_systemPrompt | 2.2 |
| writingAgent_documentType_article_outputRules | writingAgent_format_default_outputRules | 2.2 |
| writingAgent_documentType_fieldGuide_systemPrompt | writingAgent_format_default_systemPrompt | 2.2 |
| writingAgent_documentType_fieldGuide_outputRules | writingAgent_format_default_outputRules | 2.2 |
| writingAgent_documentType_meetingBrief_systemPrompt | writingAgent_format_meetingBrief_systemPrompt | 2.2 |
| writingAgent_documentType_meetingBrief_outputRules | writingAgent_format_meetingBrief_outputRules | 2.2 |
| writingAgent_documentType_executiveBrief_systemPrompt | writingAgent_format_executiveBrief_systemPrompt | 2.2 |
| writingAgent_documentType_executiveBrief_outputRules | writingAgent_format_executiveBrief_outputRules | 2.2 |
| writingAgent_documentType_competitiveAnalysis_systemPrompt | writingAgent_format_competitiveAnalysis_systemPrompt | 2.2 |
| writingAgent_documentType_competitiveAnalysis_outputRules | writingAgent_format_competitiveAnalysis_outputRules | 2.2 |
| writingAgent_documentType_newsletter_systemPrompt | writingAgent_format_newsletter_systemPrompt | 2.2 |
| writingAgent_documentType_newsletter_outputRules | writingAgent_format_newsletter_outputRules | 2.2 |
| writingAgent_documentType_linkedinPost_systemPrompt | writingAgent_format_linkedinPost_systemPrompt | 2.2 |
| writingAgent_documentType_linkedinPost_outputRules | writingAgent_format_linkedinPost_outputRules | 2.2 |
| writingAgent_template_* | writingAgent_format_* | 2.0 |
| researchAgent_config_passOne_* | researchAgent_qualityPass_researchBuild_* | 2.0 |
| researchAgent_config_passTwo_* | researchAgent_qualityPass_factCheck_* | 2.0 |
| researchAgent_config_passThree_* | researchAgent_qualityPass_hallucinationSweep_* | 2.0 |
7. AIX Envelope & Task Types #
7.1 The AIX Envelope #
Every AIX message is wrapped in an envelope. The aix field carries the specification version.
{
"aix": "2.2",
"id": "uuid-v4",
"timestamp": "ISO-8601",
"task": { "type": "...", "provider": "...", "model": "..." },
"input": { },
"output": { },
"meta": { "cost": { }, "latency": { }, "tokens": { } },
"error": { }
}
7.2 Task Type Registry #
| Category | Task Type | Description |
|---|---|---|
| Text | text_generation | Generate text from prompts |
| Text | text_completion | Complete partial text |
| Text | text_summarization | Summarize longer text |
| Text | text_translation | Translate between languages |
| Voice | voice_synthesis | Generate speech from text |
| Voice | voice_cloning | Clone a voice from samples |
| Voice | speech_to_text | Transcribe audio to text |
| Image | image_generation | Generate images from prompts |
| Image | image_editing | Modify existing images |
| Image | image_upscaling | Increase image resolution |
| Video | video_generation | Generate video from prompts |
| Video | video_editing | Modify existing video |
| Video | image_to_video | Animate a static image |
| Code | code_generation | Generate code from description |
| Code | code_completion | Complete partial code |
| Code | code_review | Analyze and review code |
| Music | music_generation | Generate music / audio |
| 3D | model_generation | Generate 3D models |
| Content | content_authoring | Generate authored content with voice, guidelines, and guardrails |
7.3 Metadata Object #
"meta": {
"cost": { "amount": 0.018, "currency": "USD", "unit": "per_request" },
"latency": { "totalMs": 8400, "processingMs": 8100, "networkMs": 300 },
"tokens": { "input": 4200, "output": 1850, "total": 6050 },
"modelVersion": "claude-sonnet-4-6",
"requestId": "req_abc123",
"region": "us-east-1",
"retention": { "inputStored": false, "outputStored": true, "retentionDays": 30 }
}
7.4 Error Object #
"error": {
"code": "rate_limited", // invalid_input | rate_limited | quota_exceeded |
// content_filtered | model_unavailable | timeout |
// provider_error | unknown
"message": "Rate limit exceeded for this model.",
"retryable": true,
"retry_after_ms": 5000,
"provider_error": { } // Raw error object from provider
}
8. Task-Specific Schemas #
8.1 content_authoring #
The content_authoring task type enables AI-generated content carrying full author identity, editorial voice, structural guidelines, and hard guardrails.
Input: author object #
"author": {
"givenName": "Michael",
"familyName": "Tchong",
"displayName": "Michael Tchong",
"jobTitle": "Founder, Solo Trillion",
"bio": "Short author bio for attribution",
"socialProfiles": {
"linkedinUrl": "https://linkedin.com/in/michaeltchong",
"twitterUrl": "https://x.com/michaeltchong",
"youtubeUrl": "https://youtube.com/@michaeltchong",
"url": "https://ubertrends.com"
},
"media": [
{
"mediumType": "newsletter",
"mediumName": "Ubertrends",
"mediumBrand": "FutureSight",
"isPrimary": true
}
]
}
Input: voice, research, brief #
"voiceBrand": "...",
"voiceGuidelines": "...",
"voiceGuardrails": "...",
"researchPacket": {
"topic": "...",
"thesis": "...",
"narrativeAngle": "...",
"keyFindings": [
{ "finding": "...", "sourceUrl": "...", "confidence": 8, "isContrarian": true }
],
"traceabilityTable": [
{ "finding": "...", "sourceUrl": "...", "supportingPassage": "...", "confidence": 8 }
],
"auditSummary": { "auditPassed": true, "hallucinationsFound": 0 }
},
"contentBrief": {
"format": "default",
"toneOverride": "contrarian",
"targetLength": "standard_1200",
"targetPublication": "Solo Trillion",
"selectedFindings": []
}
Output #
"output": {
"draft": {
"headlineOptions": ["...", "...", "..."],
"lede": "...",
"body": "...",
"sections": [{ "heading": "...", "content": "..." }],
"cta": "...",
"wordCount": 1247,
"citations": [{ "text": "...", "url": "...", "title": "..." }]
},
"guardrailFlags": [{ "flag": "...", "location": "...", "recommendation": "..." }],
"finishReason": "complete"
}
8.2 voice_synthesis #
"input": {
"text": "Welcome to the future of AI interchange standards.",
"voice": "aria", "language": "en-US", "speed": 1.0,
"emotion": "neutral", "outputFormat": "mp3", "sampleRate": 24000
},
"output": {
"audio": { "url": "...", "format": "mp3", "sampleRate": 24000,
"channels": 1, "durationMs": 3200, "fileSizeBytes": 51200 },
"wordTimestamps": [{ "word": "Welcome", "startMs": 0, "endMs": 320 }]
}
8.3 image_generation #
"input": {
"prompt": "A futuristic city at sunset, cyberpunk style",
"negativePrompt": "blurry, low quality",
"width": 1024, "height": 1024,
"style": "photorealistic", "numOutputs": 1,
"outputFormat": "png", "seed": 42
},
"output": {
"images": [{ "url": "...", "format": "png", "width": 1024, "height": 1024,
"fileSizeBytes": 1048576, "revisedPrompt": "..." }],
"nsfwDetected": false
}
8.4 text_generation #
"input": {
"prompt": "...", "systemPrompt": "...",
"messages": [{ "role": "user", "content": "..." }],
"maxTokens": 2000, "temperature": 1.0, "stream": false,
"responseFormat": "markdown"
},
"output": {
"text": "...",
"finishReason": "complete",
"citations": [{ "text": "...", "url": "...", "title": "..." }]
}
8.5 video_generation #
"input": {
"prompt": "...",
"image": { "url": "..." },
"durationSeconds": 10, "aspectRatio": "16:9",
"resolution": "1080p", "fps": 24,
"motionIntensity": "medium", "cameraMotion": "static"
},
"output": {
"video": { "url": "...", "format": "mp4", "width": 1920, "height": 1080,
"durationMs": 10000, "fps": 24, "fileSizeBytes": 8400000 },
"thumbnail": { "url": "...", "timestampMs": 500 }
}
8.6 code_generation #
"input": {
"prompt": "...", "language": "python",
"context": "...", "framework": "fastapi",
"includeTests": false, "includeComments": true,
"styleGuide": "pep8"
},
"output": {
"code": "...", "language": "python", "explanation": "...",
"files": [{ "filename": "main.py", "content": "...", "language": "python" }],
"dependencies": [{ "name": "fastapi", "version": "^0.110.0" }]
}
9. Workflows & Chaining #
AIX supports chaining multiple tasks. The output of one step becomes the input of the next via ${step_id.output.field} variable substitution.
{
"aix": "2.2",
"workflow": {
"id": "uuid",
"name": "Research → Write → Synthesize Voice",
"steps": [
{
"id": "step_research",
"task": { "type": "text_generation", "provider": "anthropic" },
"input": { "prompt": "Research AI agents replacing knowledge workers" }
},
{
"id": "step_article",
"task": { "type": "content_authoring", "provider": "anthropic" },
"input": {
"researchPacket": "${step_research.output.text}",
"contentBrief": { "format": "default", "toneOverride": "contrarian" }
}
},
{
"id": "step_audio",
"task": { "type": "voice_synthesis", "provider": "elevenlabs" },
"input": { "text": "${step_article.output.draft.lede}", "voice": "aria" }
}
]
}
}
10. Provider Comparison Format #
{
"aix": "2.2",
"comparison": {
"task": { "type": "voice_synthesis" },
"input": { "text": "Hello, this is a comparison test.", "language": "en-US" },
"results": [
{
"provider": "elevenlabs", "model": "eleven_multilingual_v2",
"output": { "audio": { "url": "...", "durationMs": 2100 } },
"meta": { "cost": { "amount": 0.002 }, "latency": { "totalMs": 650 } }
},
{
"provider": "openai", "model": "tts-1-hd",
"output": { "audio": { "url": "...", "durationMs": 2080 } },
"meta": { "cost": { "amount": 0.003 }, "latency": { "totalMs": 580 } }
}
]
}
}
11. Security & Governance #
11.1 Security #
AIX does not define authentication — this is provider-specific. AIX messages must never contain API keys, passwords, or personal access tokens.
"safety": {
"flagged": true,
"categories": { "violence": false, "sexual": false, "hate": false,
"selfHarm": false, "dangerous": true },
"actionTaken": "content_blocked"
}
11.2 Versioning #
| Version Level | Trigger | Example |
|---|---|---|
| Major (X.0) | Breaking changes to envelope, required fields, or task type removal | 1.x → 2.0 |
| Minor (2.X) | New task types, new optional fields, additive features | 2.1 → 2.2 |
| Patch (2.0.X) | Clarifications, documentation fixes, no schema changes | 2.0 → 2.0.1 |
11.3 Amendment Process #
To add a new key: (1) propose with full four-part hierarchy and plain-English description; (2) run all six validation tests from §2.6; (3) check for conflicts with §6; (4) add to candidate keys in next minor version draft; (5) upon ratification, move to canonical reference.
Retroactive changes to ratified keys are prohibited. Deprecation is handled by adding a replacement key and marking the old key [DEPRECATED] in the registry — not by renaming it.
11.4 Governance #
| Body | Responsibility |
|---|---|
| Technical Steering Committee | Specification changes and ratification |
| Provider Council | Implementation feedback and provider registry |
| Community Contributors | Pull requests, issues, and proposals |
12. Appendix #
A. Provider Registry #
| Slug | Company | Task Types |
|---|---|---|
| anthropic | Anthropic | text_generation, text_completion, content_authoring |
| openai | OpenAI | text_generation, image_generation, voice_synthesis, speech_to_text, code_generation |
| text_generation, image_generation, speech_to_text | ||
| elevenlabs | ElevenLabs | voice_synthesis, voice_cloning, speech_to_text |
| playht | PlayHT | voice_synthesis, voice_cloning |
| runway | Runway | video_generation, image_to_video, image_editing |
| midjourney | Midjourney | image_generation |
| stability | Stability AI | image_generation, image_editing, image_upscaling |
| pika | Pika Labs | video_generation, image_to_video |
| replicate | Replicate | (various hosted models) |
| huggingface | Hugging Face | (various hosted models) |
B. Language Codes (BCP-47) #
| Code | Language |
|---|---|
| en-US | English (United States) |
| en-GB | English (United Kingdom) |
| es-ES | Spanish (Spain) |
| fr-FR | French (France) |
| de-DE | German (Germany) |
| ja-JP | Japanese |
| zh-CN | Chinese (Simplified) |
| zh-TW | Chinese (Traditional) |
C. Media Type Mappings #
| Format | MIME Type |
|---|---|
| mp3 | audio/mpeg |
| wav | audio/wav |
| ogg | audio/ogg |
| flac | audio/flac |
| mp4 | video/mp4 |
| webm | video/webm |
| png | image/png |
| jpeg | image/jpeg |
| webp | image/webp |
D. References #
- Model Context Protocol (MCP) — https://github.com/modelcontextprotocol
- Eden AI APIs — https://github.com/edenai/edenai-apis
- Schema.org — https://schema.org
- JSON Schema — https://json-schema.org
- BCP-47 Language Tags — https://www.rfc-editor.org/info/bcp47
- CrossARM Data Interchange Standard (2014) — Ubertrends LLC (internal)
E. Implementation Notes (Non-Normative) #
This appendix is non-normative. Nothing here adds requirements to the AIX standard. Material here documents staging patterns, migration sequences, and operational guidance that implementers have found useful. When the spec body and this appendix appear to disagree, the spec body governs.
E.1 Section 3.5 Media Collections — Single-Primary Subset Pattern #
AIX-compliant implementations MAY ship a single-primary subset of media[] before supporting the full array. The subset stores one Medium object (the primary one) and applies Resolution Rule Step 2 directly. The full array is purely additive: a later upgrade adds the array shape without breaking the subset implementation.
The Solo Trillion Orchestra reference implementation uses this staging pattern — single-primary subset at beta launch (May 2026), full array post-beta.
E.2 Module Manifest — Staged Rollout #
Module manifests MAY omit optional fields (billing, permissionScopes) on initial implementation. Required fields for a v1 manifest: aixVersion, moduleId, moduleType, version. Add optional fields in subsequent releases.
E.3 writingAgent_format_* Migration Guide #
Implementations using writingAgent_documentType_* keys should migrate as follows:
- writingAgent_documentType_article_* → writingAgent_format_default_*
- writingAgent_documentType_fieldGuide_* → writingAgent_format_default_*
- writingAgent_documentType_meetingBrief_* → writingAgent_format_meetingBrief_*
- All other documentType keys → corresponding format key (name maps directly)
Both key sets resolve identically during the transition. Remove deprecated keys after confirming all consumers have migrated.
13. Changelog #
Version 2.2 — May 2026 #
Minor version: additive. Formalizes module manifest hierarchy, deprecates documentType object segment in favor of format, adds slug/URL casing exception, adds Published Works field registry, and ratifies UMA Platform and FutureSight Studio canonical keys.
| Area | Change |
|---|---|
| §2.1 (UPDATED) | Slug/URL casing exception added: dash-case for slugs/URLs, snake_case for database columns (was already noted), camelCase for field keys. Schema version string format ({type}-v{N}) documented as exempt from camelCase rule. |
| §2.2 (UPDATED) | Hierarchy examples updated to use writingAgent_format_* pattern. |
| §2.4 (UPDATED) | uma added to permitted acronym list. |
| §3.10 (NEW) | Published Works field registry — 10 fields for book chapters and sidebars: bookTitle, bookKey, chapterKey, chapterTitle, chapterNumber, chapterContent, chapterSummary, chapterSubsections, contentType, parentChapterKey. |
| §4 (UPDATED) | rosie added as a registered component key alongside conversationalAgent. Use conversationalAgent for generic interchange; use rosie for Rosie-specific configuration keys. |
| §4.8 (NEW) | Module Manifest Standard — formalizes {moduleType}Module_{moduleId}_{property} hierarchy pattern. Module manifest schema defined. Slug-to-camelCase rule documented. Module type segments ratified: publishingModule, researchModule, writingModule, personaModule. |
| §5.1 (UPDATED) | documentType deprecated as object type segment. format is the canonical replacement. |
| §5.2 (UPDATED) | Format identifiers added under writingAgent_format: default, meetingBrief, executiveBrief, competitiveAnalysis, newsletter, linkedinPost. Migration note from article/fieldGuide. |
| §6.2 (UPDATED) | writingAgent_format_* canonical keys added (12 new keys). All writingAgent_documentType_* keys deprecated with direct replacement mapping. |
| §6.4 (NEW) | UMA Platform canonical keys: umaModule_registry_manifest, umaModule_entitlement_status, umaModule_billing_ref, umaModule_usage_event. |
| §6.5 (NEW) | Publishing Module — FutureSight Studio canonical keys (6 keys under publishingModule_emailStudio_*). |
| §6.6 (NEW) | Deprecated key registry with full replacement mapping table. |
| §7.3 (UPDATED) | Metadata object example corrected to camelCase throughout: total_ms → totalMs, processing_ms → processingMs, network_ms → networkMs, model_version → modelVersion, request_id → requestId, input_stored → inputStored, output_stored → outputStored, retention_days → retentionDays. |
| §8.1 (UPDATED) | contentBrief.format examples updated to use "default" instead of "article". |
| Appendix E.2 (NEW) | Module manifest staged rollout guidance. |
| Appendix E.3 (NEW) | writingAgent_format_* migration guide. |
Version 2.1 — April 2026 #
Minor version: additive. Introduces Media Collections standard, Agent Behavioral Modes standard, and Soul Document specification.
| Area | Change |
|---|---|
| §3.5 (NEW) | Media Collections — media[] typed collection, mediumType vocabulary, four-step substitution rule, backwards compatibility |
| §4.7 (NEW) | Agent Behavioral Modes — behavioralMode field, standard mode vocabulary (observer/orchestrator/briefing/off), mode transitions |
| §4.7.6 (NEW) | Soul Documents — persistent agent identity file standard |
| §8.1 | media array added to content_authoring author object |
| Appendix E.1 (NEW) | Single-Primary Subset Pattern — staging guidance |
Version 2.0 — March 2026 #
Major version: merges AIX Interchange Format Specification and AIX Naming Convention Standard into a single authoritative document.
| Area | Change |
|---|---|
| Document structure | Merged two specs (v1.1 interchange + naming convention) into AIX v2.0 |
| §3 (NEW) | Persona Field Registry — 40+ fields with Schema.org base or AIX extension designation |
| §4 (NEW) | Component & Agent Registry formalized |
| §5 (NEW) | Reserved Segment Vocabulary — object types, identifiers, property suffixes |
| Author fields | givenName/familyName replace first_name/last_name (Schema.org canonical) |
| Social media fields | {platform}Url pattern; Url suffix required |
| Deprecated | writingAgent_template_ | researchAgent_config_passOne/Two/Three_ |
Version 1.1 — February 2026 #
| Area | Change |
|---|---|
| content_authoring | New task type added |
| author object | first_name, last_name, display_name, title, bio, social_media_profiles |
| voice fields | voice_brand, voice_guidelines, voice_guardrails |
| research_packet | Research Agent → Writing Agent chaining input |
| guardrail_flags | Human review signaling in output |
Version 1.0 — December 2025 #
Initial specification. Core task types: text, voice, image, video, code. Metadata schema with cost/latency tracking. Workflow chaining support. Provider comparison format.
Apache 2.0 Licensed · aix-standard.org · github.com/aix-standard/aix-spec · aix@ubertrends.com · Copyright 2026 Michael Tchong, Ubertrends LLC