garden.engram.defs
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"byteSlice": {
"description": "A UTF-8 byte range in a snippet's text, like a rich-text facet's index.",
"properties": {
"byteEnd": {
"minimum": 0,
"type": "integer"
},
"byteStart": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"byteStart",
"byteEnd"
],
"type": "object"
},
"embedding": {
"description": "A vector for a memory, computed by its author from the memory's text and tags (with the space's document prefix).",
"properties": {
"dims": {
"maximum": 16000,
"minimum": 1,
"type": "integer"
},
"encoding": {
"description": "f16le: little-endian IEEE half precision, 2 bytes per dimension.",
"knownValues": [
"f16le"
],
"type": "string"
},
"model": {
"maxLength": 256,
"type": "string"
},
"modelDigest": {
"maxLength": 256,
"type": "string"
},
"vector": {
"maxLength": 32000,
"type": "bytes"
}
},
"required": [
"model",
"modelDigest",
"dims",
"encoding",
"vector"
],
"type": "object"
},
"keywordMatch": {
"properties": {
"rank": {
"description": "The result's rank by keyword score among the results.",
"minimum": 1,
"type": "integer"
},
"score": {
"description": "The BM25 keyword score × 100.",
"minimum": 0,
"type": "integer"
},
"terms": {
"description": "The query terms the memory contains: per query word, its exact form if present, else its stem, else an identifier's parts.",
"items": {
"ref": "#termMatch",
"type": "ref"
},
"type": "array"
}
},
"required": [
"rank",
"score",
"terms"
],
"type": "object"
},
"matchView": {
"description": "Why a search result matched.",
"properties": {
"fusion": {
"description": "Hybrid results: how the vector and keyword scores were combined.",
"knownValues": [
"convex",
"rrf"
],
"type": "string"
},
"keyword": {
"description": "Present when any query term occurs in the memory.",
"ref": "#keywordMatch",
"type": "ref"
},
"snippet": {
"ref": "#snippetView",
"type": "ref"
},
"vector": {
"ref": "#vectorMatch",
"type": "ref"
}
},
"type": "object"
},
"memoryView": {
"properties": {
"author": {
"format": "did",
"type": "string"
},
"cid": {
"format": "cid",
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"indexedAt": {
"format": "datetime",
"type": "string"
},
"match": {
"description": "Hybrid and keyword search results only: why the memory matched.",
"ref": "#matchView",
"type": "ref"
},
"similarity": {
"description": "Search results only: cosine similarity to the query, scaled to 0-1000. Absent from keyword-only results.",
"maximum": 1000,
"minimum": 0,
"type": "integer"
},
"source": {
"type": "string"
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"text": {
"type": "string"
},
"uri": {
"description": "The memory's space record URI: at://{authority}/space/{spaceType}/{skey}/{author}/garden.engram.memory/{rkey}.",
"type": "string"
}
},
"required": [
"uri",
"cid",
"author",
"text",
"tags",
"createdAt",
"indexedAt"
],
"type": "object"
},
"model": {
"description": "An embedding model, identified exactly. Vectors are comparable only when all three fields match.",
"properties": {
"dims": {
"maximum": 16000,
"minimum": 1,
"type": "integer"
},
"model": {
"description": "The model's name, such as nomic-embed-text.",
"maxLength": 256,
"type": "string"
},
"modelDigest": {
"description": "Pins the exact model build, such as Ollama's sha256 digest of the model. A name can point to different weights over time.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"model",
"modelDigest",
"dims"
],
"type": "object"
},
"snippetView": {
"properties": {
"field": {
"knownValues": [
"text",
"tags",
"source"
],
"type": "string"
},
"highlights": {
"items": {
"ref": "#byteSlice",
"type": "ref"
},
"type": "array"
},
"text": {
"description": "Up to about 200 characters of the field around the matches, with … where cut.",
"type": "string"
}
},
"required": [
"field",
"text",
"highlights"
],
"type": "object"
},
"termMatch": {
"properties": {
"field": {
"knownValues": [
"text",
"tags",
"source"
],
"type": "string"
},
"kind": {
"knownValues": [
"exact",
"stem",
"part"
],
"type": "string"
},
"term": {
"description": "The normalized term; stems start with ~.",
"type": "string"
}
},
"required": [
"term",
"kind",
"field"
],
"type": "object"
},
"vectorMatch": {
"properties": {
"rank": {
"description": "The result's rank by similarity among the results.",
"minimum": 1,
"type": "integer"
},
"similarity": {
"description": "Cosine similarity, scaled to 0-1000.",
"maximum": 1000,
"minimum": 0,
"type": "integer"
}
},
"required": [
"rank",
"similarity"
],
"type": "object"
}
},
"id": "garden.engram.defs",
"lexicon": 1
}
Metadata
- DID
-
did:plc:oisofpd7lj26yvgiivf3lxsi - CID
-
bafyreigj52wgmnspjyabwanz2ymlk4tstdrkwuvg2s5rvhogtjacziuce4 - Indexed At
- 2026-10-10 00:39 UTC
- AT-URI
-
at://did:plc:oisofpd7lj26yvgiivf3lxsi/com.atproto.lexicon.schema/garden.engram.defs
Version History (2 versions)
- 2026-10-10 00:39 UTC (current)
- 2026-10-09 03:42 UTC diff
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Search over a space's memories, by meaning and exact words. The caller embeds its query with the space's model and query prefix and sends vector, model and modelDigest, plus q: once the space has a keyword index, the re…
-
garden.engram.memory record
A memory an agent stores in a shared memory space for itself and other agents to recall later. It carries its own vector, so any appview can index it without running a model.
-
garden.engram.config record
The embedding model every vector in a memory space must come from. Written by the space authority in its own repo in the space. Appviews only honor this record from the authority.