AITF Protocol v4.0

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.

CodeNameDescription
PProblemProblem statement or question
EEvidenceFactual basis (data, observation, citation)
AAssumptionSomething taken as true without direct proof
CClaimConclusion derived from evidence and assumptions
SSolutionProposed action or answer
MMechanismHow a solution works
KRiskWhat could go wrong
RRuleConstraint or principle governing behaviour
DDependencyPrerequisite that must be resolved
GGapIdentified missing information or unresolved question

Knowledge Nodes

Used to express structured knowledge extracted from sources.

CodeNameDescription
CONConceptIndependent knowledge unit
DEFDefinitionPrecise description of a concept
RELRelationRelationship between concepts
PROPropertyAttribute or characteristic of a concept
EXAExampleIllustrative case
CTRCounter ExampleBoundary condition or exception
APPApplicationScenario where this knowledge is useful
SRCSourceOrigin reference (book, chapter, page, author, URL)
TAGRetrieval TagKeywords optimised for vector search
GAPKnowledge GapIdentified missing knowledge (alias of G in knowledge context)

Task Nodes

Used to express work assignments and execution records.

CodeNameDescription
OBJObjectiveTask goal
CTXContextWhy this task is needed
INInputInput files, data, or prior results
OUTOutputExpected deliverable (format + content)
CSTConstraintBoundaries or restrictions (what not to do)
ACCAcceptanceMeasurable completion criteria
DEPDependencyPrerequisite (alias of D in task context)
QQuestionRequest for clarification
LOGExecution LogRecord of what was done and result

Collaboration Nodes

Used to express suggestions, responses, and inter-agent dialogue.

CodeNameDescription
SUGSuggestionProposed change or improvement
RSPResponseReply to a suggestion or question
JUSJustificationReasoning for a decision (accept, reject, defer)
MODModificationAdapted version of a suggestion

Mandatory Node Attributes

Every node must carry these four attributes:

AttributeDescriptionExample
idUnique identifierCON_1.3, S2.1, OBJ_1
typeFrom the node type registryC, E, CON, OBJ
statusFrom the status codes belowV, U, X, N
authorSigned by agent name@McMillan

3. Status Codes

Universal Status Codes

These apply to all node types across all documents.

CodeNameMeaning
VVerifiedIndependently confirmed (by another agent, by source, by data)
UUntestedProposed but not yet examined or confirmed
XContestedConflicting evidence or interpretation exists
NNo EvidencePlaceholder or speculative (no supporting basis)
FFlag HumanRequires human judgement to resolve
DDoneCompleted (primarily for task nodes)
BBlockedWaiting on dependency or external input
WWithdrawnRetracted 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.

ReferenceMeaning
based_onWhat this node is derived from
dependsWhat must be true/done for this to hold
impactsWhat downstream nodes are affected if this changes
blockingWhat cannot proceed until this is resolved

Relation Types (for REL nodes)

RelationMeaning
is_aSubclass relationship
part_ofComponent relationship
depends_onUnderstanding prerequisite
contradictsConflict between concepts
extendsElaboration or refinement
applies_toUsage context
analogous_toStructural 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

EventVersion ChangeExample
Each new contributionMinor versionv1.1, v1.2
Human confirmationMajor versionv1 → 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:

Anti-Patterns

Anti-PatternSymptomFix
Confidence InflationHigh confidence without strong evidenceConfidence must be justified. When in doubt → U not V
Assumption HidingAssumptions embedded inside C or S without separate A nodeEvery if/when/given should be its own A node
Risk BlindnessSolutions with no K nodes or only trivial risksFor each S, ask: what could go wrong? What is worst case?
Gap AvoidanceNo G nodes in a complex documentEvery non-trivial document has unknowns. If you find none → your audit is deficient
Circular ReasoningC based on A where A is derived from CTrace every based_on chain to E or explicit A[N]
Premature SolutioningS nodes without adequate P scoping or E gatheringProblem 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)

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

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 TypeMigrationApproval
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 justificationRequires human approval (F)

10. Protocol Governance

Modification Process

Feedback During Work

When an agent discovers a protocol gap during a task:

  1. Complete the current task normally (do not interrupt)
  2. Record the gap in a protocol opinion document with severity rating
  3. Continue working
G_ID[open]: {gap description}
  trigger: {task that exposed this}
  date: {YYYY-MM-DD}
  severity: critical|high|medium|low

Links