TL;DR: The trinity is complete. .faf (Context), .fafm (Memory), and .fafa (Agents) are now three IANA-registered media types — official, verifiable, and registered under the same name in the IANA registry.

Three types, one stack

An AI system needs three things: to know the project, to remember across sessions, and to define what an agent is. Each now has a registered media type.

.faf Context application/vnd.faf+yaml
.fafm Memory application/vnd.fafm+yaml
.fafa Agents application/vnd.fafa+yaml

.faf is the persistent project context an AI reads first. .fafm is the memory that survives across sessions. .fafa is the agent card — the agentic definition. Context, Memory, Agents.

The FAF trinity — the Agent rises through AGENTS.md into your project, standing on a Context and Memory foundation; whole at the center

Why a registered media type matters

A real IANA registration isn't a label — it's something an AI can resolve and trust by syntax alone:

  • The +yaml suffix tells any parser exactly how to read the file.
  • The vnd. tree marks it as a defined vendor format, not a guess.
  • It's IANA-lookupable — anyone can confirm it exists.

A minted "type" string has the shape of a media type but none of the backing. A registration is a receipt.

Verify it

Don't take our word for it. Each is a live entry in the IANA media types registry:

.faf

Context

vnd.faf+yaml →

.fafm

Memory

vnd.fafm+yaml →

.fafa

Agents

vnd.fafa+yaml →

The Numbers

  • 3 — IANA-registered media types
  • Context · Memory · Agents — the complete stack
  • +yaml — structured and self-describing, parseable by syntax
  • One registrant — all three under the same name in the IANA registry