click.aligned.chat.session

aligned.click

Schema Diff

+5 -0

From

CID
bafyreicx55ehm3a...
Indexed At
2026-07-29 06:38 UTC
View this version

To

CID
bafyreidftnfkr6x...
Indexed At
2026-07-29 07:16 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "click.aligned.chat.session:body.discussion" }
  • AddedEdge AddedEdge { src: "click.aligned.chat.session:body", tgt: "click.aligned.chat.session:body.discussion", kind: "prop", name: Some("discussion") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "click.aligned.chat.session:body.discussion" }

Additional Notes

  • Non-breaking: AddedEdge { src: "click.aligned.chat.session:body", tgt: "click.aligned.chat.session:body.discussion", kind: "prop", name: Some("discussion") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A published conversation with an agent. The container only: the turns are separate click.aligned.chat.message records pointing back at this one, so a session grows without ever being rewritten.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "createdAt": {
10 10
            "description": "When the conversation started, not when it was published.",
11 11
            "format": "datetime",
12 12
            "type": "string"
13 13
          },
14 14
          "description": {
15 15
            "description": "Optional framing: what was being explored, and why.",
16 16
            "maxGraphemes": 3000,
17 17
            "maxLength": 12000,
18 18
            "type": "string"
19 19
          },
20 +
          "discussion": {
21 +
            "description": "A Bluesky post where this conversation is being discussed. Records like these are durable but silent — nothing on the network is notified when one is written — so conversation about them has to happen where conversation already happens. Naming the post rather than embedding the replies keeps the two separate: the record is the artifact, the thread is what people said about it, and either can be deleted without taking the other with it.",
22 +
            "format": "at-uri",
23 +
            "type": "string"
24 +
          },
20 25
          "title": {
21 26
            "description": "What the conversation was about. May be written after the fact, which is why messages link here by at-uri rather than by strongRef — editing this must not dangle them.",
22 27
            "maxGraphemes": 128,
23 28
            "maxLength": 640,
24 29
            "type": "string"
25 30
          }
26 31
        },
27 32
        "required": [
28 33
          "createdAt"
29 34
        ],
30 35
        "type": "object"
31 36
      },
32 37
      "type": "record"
33 38
    }
34 39
  },
35 40
  "id": "click.aligned.chat.session",
36 41
  "lexicon": 1
37 42
}

Compare Other Versions

Lexicon Garden

@