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
"id": "click.aligned.chat.session",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"createdAt"
11
11
],
12
12
"properties": {
13
13
"title": {
14
14
"type": "string",
15
15
"maxLength": 640,
16
16
"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.",
17
17
"maxGraphemes": 128
18
18
},
19
19
"createdAt": {
20
20
"type": "string",
21
21
"format": "datetime",
22
22
"description": "When the conversation started, not when it was published."
23
23
},
24
+
"discussion": {
25
+
"type": "string",
26
+
"format": "at-uri",
27
+
"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."
28
+
},
24
29
"description": {
25
30
"type": "string",
26
31
"maxLength": 12000,
27
32
"description": "Optional framing: what was being explored, and why.",
28
33
"maxGraphemes": 3000
29
34
}
30
35
}
31
36
},
32
37
"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."
33
38
}
34
39
},
35
40
"$type": "com.atproto.lexicon.schema",
36
41
"lexicon": 1
37
42
}