click.aligned.chat.session
Schema Diff
+5 -0
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
}