Back

ADNA SPEC

VERSION 0.1

OVERVIEW

Artifact DNA (ADNA) is an open format for encoding ideas as self-contained, human-readable, machine-readable knowledge objects. An Artifact carries enough structured intelligence for a capable AI to meaningfully continue the idea — even if the original source disappears.

SCHEMA

{
  "adna": "0.1",
  "id": "uuid-v4",
  "title": "string",
  "essence": "string",
  "genes": [
    {
      "id": "string",
      "label": "string",
      "description": "string",
      "sources": ["artifact-id"]   // optional
    }
  ],
  "relationships": [
    {
      "from": "gene-id",
      "to": "gene-id",
      "label": "string"
    }
  ],
  "parents": ["artifact-id", "..."],   // zero or more
  "continuation": ["string"]
}

FIELD DEFINITIONS

adnastring

Schema version. Currently "0.1". Must always be present.

idstring (UUID v4)

Unique identity assigned to this Artifact at birth. It is random, not deterministic, and carries no meaning. It is never used to derive the visual fingerprint — identity and fingerprint are separate concepts.

titlestring

Short, memorable, human-readable name for the Artifact. Should be specific, not generic.

essencestring

The single most important idea that must survive. One clear sentence. If you could only keep one thing, keep this.

genesarray of Gene objects

Minimum set of important ideas, principles, constraints, discoveries, or decisions required to understand and continue the Artifact. Each gene has an id (short, e.g. g1, g2), a label (short name), and a description (what the gene captures). Typically 3–8 genes.

genes[].sourcesarray of strings (optional)

Intellectual heredity. Artifact IDs of the parents that contributed this gene. [“A”] means inherited from that parent; [“A”, “B”] means the gene emerged from combining them; [] means entirely new knowledge. Omit the field when heredity is not tracked. This exists so a descendant can explain its inheritance even when the parent Artifacts are no longer available. It is deliberately not a full provenance system.

relationshipsarray of Relationship objects

Meaningful connections between genes. Each has from (gene id), to (gene id), and label (how they connect). Should capture non-obvious connections, not just proximity.

parentsarray of strings

Zero or more IDs of ADNA objects that contributed directly to this Artifact. Empty for original Artifacts, one for descendants, two or more for combined Artifacts. The format sets no upper limit — a reader must accept any number of parents, even though a given implementation may practically handle fewer.

continuationarray of strings

Promising directions, unanswered questions, or extensions. These are not tasks or to-dos. They are genuine intellectual frontiers that emerge from the Artifact's DNA.

MINIMAL EXAMPLE

{
  "adna": "0.1",
  "id": "a1b2c3d4-e5f6-4789-abcd-ef0123456789",
  "title": "Portable Knowledge Encoding",
  "essence": "Knowledge structures should carry enough
    intelligence to explain themselves without
    the system that created them.",
  "genes": [
    {
      "id": "g1",
      "label": "Self-Describing",
      "description": "The format must be understandable
        by reading the object alone, without
        external documentation."
    },
    {
      "id": "g2",
      "label": "Dual Readability",
      "description": "Must be simultaneously readable
        by humans (visual) and machines (structured
        data)."
    },
    {
      "id": "g3",
      "label": "Survival Independence",
      "description": "The Artifact must survive the
        death of the platform that created it."
    }
  ],
  "relationships": [
    {
      "from": "g1",
      "to": "g3",
      "label": "enables"
    }
  ],
  "parents": [],
  "continuation": [
    "Could gene descriptions themselves be
      structured as mini-ADNA objects?",
    "What is the minimum viable gene set for
      a given domain?"
  ]
}

SVG EMBEDDING

The native Artifact format is SVG. The ADNA JSON is embedded inside the SVG's <metadata> element using a custom <adna> element:

<svg xmlns="http://www.w3.org/2000/svg" ...>
  <metadata>
    <adna xmlns="https://artifactdna.com/ns/0.1">
      {"adna":"0.1","id":"...", ...}
    </adna>
  </metadata>
  <!-- visual content -->
</svg>

To read an Artifact: parse the SVG, find the <adna> element inside <metadata>, extract and parse the JSON content. The visual representation is generated deterministically from the JSON data.

Read DNA, not markup. An Artifact file is data, not authority. A reader should extract the ADNA JSON, validate its shape, and then regenerate the visual with its own trusted renderer. Incoming SVG markup should never be inserted into a live document. DNA produces the Artifact; the Artifact never produces the DNA.

VISUAL FINGERPRINT

Every Artifact carries a small visual fingerprint. It is derived from the meaning of the DNA, not from its identity. Two Artifacts that say the same thing produce the same fingerprint, even though their id values differ.

The fingerprint is computed from a canonical form of the DNA — a deterministic serialization in the style of RFC 8785 (JSON Canonicalization Scheme): keys recursively sorted, no insignificant whitespace, stable ordering of collections.

Included: adna, title, essence, genes (id, label, description — sorted by id), relationships (sorted), continuation (sorted).

Excluded: id, parents, genes[].sources — these describe where an Artifact came from, not what it means.

The fingerprint is identity, not security. It is a short, stable visual signature of meaning — not a cryptographic proof of authorship.

PARENT RELATIONSHIPS

Original Artifact: parents: [] — created from raw text, no lineage.

Evolved Artifact: parents: ["parent-id"] — one parent Artifact + new input. Inherits important knowledge from the parent and integrates new information.

Combined Artifact: parents: ["parent-a-id", "parent-b-id"] — two parent Artifacts synthesized. Inherits from both, identifies complementary ideas and contradictions, adds genuine synthesis.

The format sets no upper limit on parents. parents records lineage at the level of the whole Artifact; genes[].sources records it gene by gene, so a descendant can say which ideas were inherited, which were combined, and which are genuinely new.

INTERPRETING CONTINUATION

Continuation entries are not tasks. They are intellectual frontiers — promising directions, genuine unanswered questions, or extensions that emerge naturally from the Artifact's knowledge. A continuation item should be specific enough that a capable AI or human could use it as a meaningful starting point for further work.

OPEN USE

The specification is public domain. ADNA is dedicated to the public domain under CC0 1.0. Any person, organization, or AI system may read, write, implement, extend, or embed this format without permission, attribution, API key, or account from ArtifactDNA.com.

The reference implementation is open source. The code that generates and reads Artifacts is released under a permissive open-source license (MIT), so anyone can build a compatible reader or writer.

Your Artifacts are yours. Rights in the Artifacts you create — and in the source material they came from — remain entirely with you or the original rights holder. ArtifactDNA.com claims no ownership, no license, and no stake in what you make.

ADNA is open. No lock-in. No proprietary dependency. If Artifact DNA needs ArtifactDNA.com to survive, we built it wrong.