From b2c34852d042ac2709b2e0a72cf956f1beeacc10 Mon Sep 17 00:00:00 2001 From: Albert Date: Sun, 9 Nov 2025 00:10:09 +0000 Subject: [PATCH] feat: Step 5 - ATproto lexicon definition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- lexicon/com.ponderants.node.json | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 lexicon/com.ponderants.node.json diff --git a/lexicon/com.ponderants.node.json b/lexicon/com.ponderants.node.json new file mode 100644 index 0000000..a6a2677 --- /dev/null +++ b/lexicon/com.ponderants.node.json @@ -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 + } + } + } + } + } +}