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:
39
lexicon/com.ponderants.node.json
Normal file
39
lexicon/com.ponderants.node.json
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user