feat: Step 5 - ATproto lexicon definition

Define the custom ATproto lexicon for com.ponderants.node records.
This JSON schema specifies the exact structure of thought nodes that
will be published to the user's Personal Data Server.

Schema includes:
- Required fields: createdAt, title, body
- Optional links array for connecting nodes
- Max lengths: 256 chars (title), 3000 chars (body)
- Up to 50 links per node

This lexicon will be validated by the write-through cache API in Step 6.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-09 00:10:09 +00:00
parent 93ebb0948c
commit 414bf7d0db

View File

@@ -0,0 +1,39 @@
{
"lexicon": 1,
"id": "com.ponderants.node",
"defs": {
"main": {
"type": "record",
"description": "A Ponderants thought node. It represents a single, captured idea, intended to be linked to other nodes to form a 'thought galaxy'.",
"record": {
"type": "object",
"required": ["createdAt", "title", "body"],
"properties": {
"createdAt": {
"type": "string",
"format": "datetime"
},
"title": {
"type": "string",
"maxLength": 256,
"description": "The title of the thought node."
},
"body": {
"type": "string",
"maxLength": 3000,
"description": "The main content of the thought node, often generated by the AI interviewer."
},
"links": {
"type": "array",
"description": "An array of AT-URIs (as strong refs) pointing to other nodes this node is linked to.",
"items": {
"type": "string",
"format": "at-uri"
},
"maxLength": 50
}
}
}
}
}
}