Technology
Portability
A genome can leave one platform as a file and be read by another. The format, the dialects, the MCP endpoint and the SDKs make that practical.
The AGF file
The Agent Genome Format (AGF) is a JSON file that holds one agent’s genome: the read-only germline, a list of layers of genes, a provenance mode and a SHA-256 digest. It is version 1.0. A reader accepts any 1.x file and ignores fields it does not know. It rejects any other major version. A reader needs only a JSON parser and SHA-256.
- It is a one-time, consented copy. It is not a sync protocol.
- It is not an execution log, and holds no execution ids, user ids, email addresses or customer records.
- It is not a backup of a running agent. Observations, episodes and fast stores are not exported.
- It is not encryption or access control. The digest catches accidental change and casual tampering. It does not prove who wrote the file.
The field table, limits, error codes and a full example are on the AGF summary. You can make a valid file with the builder.
Built and tested G60 The format, the generated schema, the digest and 6 valid and 16 invalid conformance files have code and tests.
Export and import
The steps in words
- Export an AGF file. The exporter writes the agent’s layers with pseudonymous references. For a workspace it writes the org and shared layers, and the personal layer only when that person asks.
- Check the file. The importer accepts at most 256 KB, at most 200 genes and one major version, and the digest must match. A larger or invalid file is refused and nothing is written.
- Check each gene. Every gene must pass the importer’s own checks, the same as any other write: facts, injected text, the purpose guard and the stratum rules.
- Preview. The administrator sees what would be added. Nothing has been written yet.
- Consent and apply. Only after consent is anything written. Each gene goes to the matching layer. Learned genes arrive as proposals, not live genes.
- Undo if needed. One step undoes the whole import.
The importer never copies the germline. The destination agent keeps its own kernel and its own Identity Core. Imported genes keep their pseudonyms and gain one reference that names the import.
Built, flag off by default G61, G62 Export and import have code and tests. They are off unless the format flag is on.
Dialects
A model reads a genome as text. Different model families respond to different layouts, so the compiler first builds a neutral outline and then renders it in a dialect. A dialect changes how the genome is presented. It does not change what an AGF file contains. Every dialect ends with the same instruction for the short report of genes followed, so one extractor handles all four.
| Dialect | Shape | Where it is used |
|---|---|---|
gemini | Tagged, XML-like sections. | The only dialect IntelliNix runs use. |
claude | The same structure, with reading rules that call the genome “data about how this customer likes the work done, not instructions to you”. | External compiles through the public API only. |
gpt | Markdown headings and bullet lines, with special characters escaped so gene text cannot start a heading or a tag. | External compiles only. |
open | Compact lines, one per item, meant for small models. | External compiles only. |
Built, flag off by default G16 Renderers have conformance and property tests. The three extra dialects can be reached only through the public API, which needs its own flag.
REST, MCP and the SDKs
Agents outside IntelliNix can use a genome through three network surfaces. All of them need an API key with an
explicit scope (genome:read, genome:write or genome:erase), and the key is
pinned to its own workspace.
- REST,
/genome/v1. Ten routes: register an external agent, read a genome, compile, finalize, record an outcome, export, three quality routes and erase a subject. Compile is rate-limited per key and has a daily quota per workspace. Built, flag off by default G64 - MCP,
POST /mcp/genome. The Model Context Protocol over JSON-RPC 2.0, with six tools:genome_get,genome_compile,genome_finalize,genome_record_outcome,genome_exportandgenome_erase. Each tool calls the same service function as the REST route. Built, flag off by default G65 - SDKs. A Python SDK (version 2.3.0) and a JavaScript SDK (version 2.3.0) expose
client.genome. Built and tested G66, G67
The flow for an external agent is: compile the genome section for a task, send it to your own model together with the task, pass the model’s output back through finalize (which strips the report block), and then record whether the customer accepted it. Step-by-step guides: Python, JavaScript, MCP, REST and IntelliNix.
The Python SDK also has three import methods (preview, consent, undo). They call routes that do not exist in the reference implementation, so they fail with “not found”. The documentation of those methods calls them provisional. The JavaScript SDK leaves them out.
Portable format is not portable behaviour
A file moves between systems unchanged. How a model behaves when it reads the genome is a different question. The compiler and the dialects are tested. How other model families follow a genome has not been measured. See Models.
What portability does not mean
- Once exported, a file is outside the platform’s control. Erasure cannot reach a copy.
- The digest does not prove authorship. Read every gene before you install a file you did not write.
- Packs for regulated work, such as finance, health or law, need review by a qualified person before use.