AITF Protocol v4.0
Agent Interaction Text Format — the expression language for all agent documents. One protocol covers all scenarios: reading and writing use the same rules.
Purpose
AITF is the universal expression language for agent-to-agent communication. An agent loads this protocol, and it can read any AITF document and write any AITF document. The same rules govern both input and output — no separate "read format" and "write format".
Human language is too inefficient for agent-to-agent interaction. AITF is a standardised language format protocol designed to improve the efficiency, precision, and traceability of inter-agent communication.
1. File Rules
One File = One Complete Context
All structured content lives in .md files. Any agent reading a file can understand the full state without external information. No chatroom, no message queue, no out-of-file discussion.
Record Format
Each record is one line. Fields are separated by pipe |. Hierarchy is expressed by explicit parent reference ^parent_id.
format: id|type|status|content|^parent_id|depends|impacts|author
example: A1.2|A|U|user_retention_driven_by_onboarding_quality|^C1|D1.1|S2,K3|@McMillan
File Header (Mandatory)
Every AITF document must begin with a META block:
## META
protocol_version: v4.0
type: {proposal|knowledge|task|suggestion|hybrid|other}
scope: {what this document covers}
status: draft|in_progress|review|closed
author: @{AgentName}
participants: [{agent list if multiple}]
created_date: {YYYY-MM-DD}
source: {optional: origin material if derived from external}
source_author: {optional: original author}
2. Node Type Registry
All node types are available for any document. The agent selects which types to use based on what it needs to express. Node types are not locked to scenarios — a task document can include risk nodes, a knowledge document can include gap nodes, a proposal can reference extracted concepts.
Analysis Nodes
Used to express reasoning, arguments, and solutions.
| Code | Name | Description |
|---|---|---|
| P | Problem | Problem statement or question |
| E | Evidence | Factual basis (data, observation, citation) |
| A | Assumption | Something taken as true without direct proof |
| C | Claim | Conclusion derived from evidence and assumptions |
| S | Solution | Proposed action or answer |
| M | Mechanism | How a solution works |
| K | Risk | What could go wrong |
| R | Rule | Constraint or principle governing behaviour |
| D | Dependency | Prerequisite that must be resolved |
| G | Gap | Identified missing information or unresolved question |
Knowledge Nodes
Used to express structured knowledge extracted from sources.
| Code | Name | Description |
|---|---|---|
| CON | Concept | Independent knowledge unit |
| DEF | Definition | Precise description of a concept |
| REL | Relation | Relationship between concepts |
| PRO | Property | Attribute or characteristic of a concept |
| EXA | Example | Illustrative case |
| CTR | Counter Example | Boundary condition or exception |
| APP | Application | Scenario where this knowledge is useful |
| SRC | Source | Origin reference (book, chapter, page, author, URL) |
| TAG | Retrieval Tag | Keywords optimised for vector search |
| GAP | Knowledge Gap | Identified missing knowledge (alias of G in knowledge context) |
Task Nodes
Used to express work assignments and execution records.
| Code | Name | Description |
|---|---|---|
| OBJ | Objective | Task goal |
| CTX | Context | Why this task is needed |
| IN | Input | Input files, data, or prior results |
| OUT | Output | Expected deliverable (format + content) |
| CST | Constraint | Boundaries or restrictions (what not to do) |
| ACC | Acceptance | Measurable completion criteria |
| DEP | Dependency | Prerequisite (alias of D in task context) |
| Q | Question | Request for clarification |
| LOG | Execution Log | Record of what was done and result |
Collaboration Nodes
Used to express suggestions, responses, and inter-agent dialogue.
| Code | Name | Description |
|---|---|---|
| SUG | Suggestion | Proposed change or improvement |
| RSP | Response | Reply to a suggestion or question |
| JUS | Justification | Reasoning for a decision (accept, reject, defer) |
| MOD | Modification | Adapted version of a suggestion |
Mandatory Node Attributes
Every node must carry these four attributes:
| Attribute | Description | Example |
|---|---|---|
| id | Unique identifier | CON_1.3, S2.1, OBJ_1 |
| type | From the node type registry | C, E, CON, OBJ |
| status | From the status codes below | V, U, X, N |
| author | Signed by agent name | @McMillan |
3. Status Codes
Universal Status Codes
These apply to all node types across all documents.
| Code | Name | Meaning |
|---|---|---|
| V | Verified | Independently confirmed (by another agent, by source, by data) |
| U | Untested | Proposed but not yet examined or confirmed |
| X | Contested | Conflicting evidence or interpretation exists |
| N | No Evidence | Placeholder or speculative (no supporting basis) |
| F | Flag Human | Requires human judgement to resolve |
| D | Done | Completed (primarily for task nodes) |
| B | Blocked | Waiting on dependency or external input |
| W | Withdrawn | Retracted by author |
Status Assignment Rules
Rule 1: Author NEVER marks own A, C, S, M, K as V. V means independently verified. Self-verification = no verification.
Rule 2: E may be V if directly verifiable (citation, measurement, data).
Rule 3: CON/DEF may be V if cross-checked against source by another agent.
Rule 4: When in doubt, use U. U is honest. Premature V is dishonest.
Rule 5: N is for known unknowns. Use N when you know evidence is needed but don't have it.
Rule 6: F is for decisions beyond agent capability. See Escalation Triggers.
Status Transitions
U → V : independent verification provided
U → X : conflicting evidence or interpretation found
U → F : agent cannot resolve, needs human
N → U : partial basis found
N → V : full evidence found and verified
X → V : conflict resolved with sufficient evidence
V → X : new contradicting evidence (must be substantiated)
any → W : author retracts (must state reason)
B → V : dependency resolved
B → F : dependency unresolvable by agents
4. Structure Rules
Hierarchy
Nodes form trees via parent reference. Depth is unlimited — the agent uses whatever depth the content requires.
P1[U]: problem statement
E1.1[N]: evidence
A1.1[U]: assumption
C1.1[U]: claim
S1.1.1[U]: solution
M1.1.1.1[U]: mechanism
K1.1.1.1[U]: risk
References
Nodes can reference other nodes for traceability. All references must point to existing nodes — no orphan references.
| Reference | Meaning |
|---|---|
| based_on | What this node is derived from |
| depends | What must be true/done for this to hold |
| impacts | What downstream nodes are affected if this changes |
| blocking | What cannot proceed until this is resolved |
Relation Types (for REL nodes)
| Relation | Meaning |
|---|---|
| is_a | Subclass relationship |
| part_of | Component relationship |
| depends_on | Understanding prerequisite |
| contradicts | Conflict between concepts |
| extends | Elaboration or refinement |
| applies_to | Usage context |
| analogous_to | Structural similarity in different domain |
Tag Rules (for TAG nodes)
Each TAG must include synonyms and aliases, likely query phrasings (how an agent would search for this), and domain-specific terms if applicable.
Good: covers ≥3 search angles (formal term, colloquial, abbreviation, related domain)
Bad: single word or only exact name
Example good: [marginal cost, MC, incremental cost, variable cost per unit, how much does one more cost]
Example bad: [marginal cost]
5. Signing and Versioning
Authorship
Every piece of content must be signed: @{AgentName}. When multiple agents contribute to one document, each agent's contribution is clearly attributed. No agent modifies another agent's signed content. To disagree: write your own signed node (not edit theirs).
Document Versioning
| Event | Version Change | Example |
|---|---|---|
| Each new contribution | Minor version | v1.1, v1.2 |
| Human confirmation | Major version | v1 → v2 |
Changelog (Mandatory)
Every document ends with a changelog:
## CHANGELOG
v1.0 @AgentName: {what was done}
v1.1 @AnotherAgent: {what was added}
6. Quality Standards
Self-Check (Before Finalising)
The author must verify before finalising any document:
- Every node has id, type, status, author (no missing attributes)
- All references point to existing nodes (no orphans)
- Status assignment rules followed (no self-verified A/C/S/M/K)
- No circular dependency chains (A based on C based on A)
- Document is self-contained (reader needs no external info)
Anti-Patterns
| Anti-Pattern | Symptom | Fix |
|---|---|---|
| Confidence Inflation | High confidence without strong evidence | Confidence must be justified. When in doubt → U not V |
| Assumption Hiding | Assumptions embedded inside C or S without separate A node | Every if/when/given should be its own A node |
| Risk Blindness | Solutions with no K nodes or only trivial risks | For each S, ask: what could go wrong? What is worst case? |
| Gap Avoidance | No G nodes in a complex document | Every non-trivial document has unknowns. If you find none → your audit is deficient |
| Circular Reasoning | C based on A where A is derived from C | Trace every based_on chain to E or explicit A[N] |
| Premature Solutioning | S nodes without adequate P scoping or E gathering | Problem first, evidence first, then solution |
Honest Assessment (Recommended)
For substantive documents, the author appends a self-assessment:
## SELF_ASSESSMENT
weakest_node: {ID}: {why this is the weakest point}
most_uncertain_assumption: {A_ID}: {why}
biggest_gap: {G_ID}: {why}
overall_confidence: high|medium|low
Gap Severity
G_ID[open]: {description}
severity: critical|high|medium|low
blocking: [{node IDs that cannot be V without this}]
resolution_hint: {what might fill this gap}
7. Escalation
When to Mark F (Flag for Human)
- Agents contradict with valid evidence and no resolution path
- Requires empirical test or runtime validation
- Commercial judgement (cost, priority, resource allocation)
- Irreversible action (cannot undo after execution)
- Ambiguous source material (multiple valid interpretations)
- Concept boundary unclear (needs domain expertise)
- Cross-source contradiction (same topic, different claims)
- Scope or priority judgement (what to include or exclude)
- Touches agent identity or SOUL.md
Escalation Format
node_ID[F]: {description}
@{AgentName}: escalation
reason: {why agents cannot resolve}
options: [{possible resolutions}]
human_question: {what specific decision is needed}
8. Multi-Agent Collaboration
Working on the Same Document
- Each agent reads the full existing document first
- Each agent writes new nodes signed with own
@{AgentName} - No agent modifies another agent's content
- To disagree → write own node with counter-argument or alternative
- Disagreement unresolvable → mark F
Cross-Document References
When referencing nodes in another document, use the format:
{document_filename}:{node_ID}
example: project_alpha_proposal.md:S2.1
9. Backward Compatibility
Old files must remain readable under new protocol versions.
| Change Type | Migration | Approval |
|---|---|---|
| Additive (new node type, new status code, new field) | No migration needed. Old files valid as-is. | Standard review |
| Breaking (change delimiter, change ID scheme, remove node type) | Impact assessment + migration script + cost justification | Requires human approval (F) |
10. Protocol Governance
Modification Process
- Agents propose changes via a protocol opinion document
- Human reviews and approves
- Agents NEVER modify the live protocol file directly
Feedback During Work
When an agent discovers a protocol gap during a task:
- Complete the current task normally (do not interrupt)
- Record the gap in a protocol opinion document with severity rating
- Continue working
G_ID[open]: {gap description}
trigger: {task that exposed this}
date: {YYYY-MM-DD}
severity: critical|high|medium|low
Links
- GitHub — AITF-Agent-Interaction-Text-Format
- IAF Framework — Intelligenism Agent Framework
- Website — intelligenism.club
- Theory — intelligenism.org