full diff

org.cairnsproto.draft.defs

cairnsproto.org +17 −0
From
bafyreiblm3lo6nlzwkefentt3patuze5ca7nxrxb45sg2lsy5pyewf4jfe indexed 2026-11-03 17:02 UTC View this version
To
bafyreics44n2hkvryicl6ed5wsqrbyfijvtp6326w6u5zgcaduab2a2d54 indexed 2026-11-06 01:44 UTC View this version

Compatibility

breaking 2 breaking changes, 3 non-breaking changes.

Breaking changes (2)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "org.cairnsproto.draft.defs#property", src: "org.cairnsproto.draft.defs#property", tgt: "org.cairnsproto.draft.defs#property.pointer", kind: "prop", name: Some("pointer") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "org.cairnsproto.draft.defs#property", src: "org.cairnsproto.draft.defs#property", tgt: "org.cairnsproto.draft.defs#property.value", kind: "prop", name: Some("value") }
Non-breaking changes (3)
  • AddedVertex AddedVertex { vertex_id: "org.cairnsproto.draft.defs#property" }
  • AddedVertex AddedVertex { vertex_id: "org.cairnsproto.draft.defs#property.pointer" }
  • AddedVertex AddedVertex { vertex_id: "org.cairnsproto.draft.defs#property.value" }

Migration guidance

Added

  • AddedVertex { vertex_id: "org.cairnsproto.draft.defs#property" }
  • AddedVertex { vertex_id: "org.cairnsproto.draft.defs#property.pointer" }
  • AddedVertex { vertex_id: "org.cairnsproto.draft.defs#property.value" }

Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "org.cairnsproto.draft.defs#property", src: "org.cairnsproto.draft.defs#property", tgt: "org.cairnsproto.draft.defs#property.pointer", kind: "prop", name: Some("pointer") }
  • Breaking: RequiredEdgeAdded { vertex_id: "org.cairnsproto.draft.defs#property", src: "org.cairnsproto.draft.defs#property", tgt: "org.cairnsproto.draft.defs#property.value", kind: "prop", name: Some("value") }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "blobPayload": {
55 "properties": {
66 "blob": {
77 "maxSize": 1000000,
88 "type": "blob"
99 }
1010 },
1111 "required": [
1212 "blob"
1313 ],
1414 "type": "object"
1515 },
1616 "conversion": {
1717 "description": "The payload of a converted stone: the derived source a transform produces from the site's source, by hash, and the transform. Once the conversion clears the open-children bar, each course built on this one opens one unmarked site on it, which works the derived source. Its value is the source hash alone with $type org.cairnsproto.draft.defs#conversion, so two transforms that produce the same output agree and build the same sites.",
1818 "properties": {
1919 "source": {
2020 "description": "sha256 of the transform's output on the site's source.",
2121 "ref": "#hash",
2222 "type": "ref"
2323 },
2424 "transform": {
2525 "description": "The transform record, at the version that produced the output. Provenance only: it tells a client what to re-run and is not part of the value.",
2626 "ref": "com.atproto.repo.strongRef",
2727 "type": "ref"
2828 }
2929 },
3030 "required": [
3131 "source",
3232 "transform"
3333 ],
3434 "type": "object"
3535 },
3636 "cost": {
3737 "description": "Self-reported effort, as the harness reports it. Comparable across contributors on the same model; never verified.",
3838 "properties": {
3939 "cachedTokens": {
4040 "description": "Input tokens served from a prompt cache.",
4141 "minimum": 0,
4242 "type": "integer"
4343 },
4444 "inputTokens": {
4545 "minimum": 0,
4646 "type": "integer"
4747 },
4848 "outputTokens": {
4949 "minimum": 0,
5050 "type": "integer"
5151 },
5252 "seconds": {
5353 "description": "Wall-clock seconds.",
5454 "minimum": 0,
5555 "type": "integer"
5656 }
5757 },
5858 "required": [
5959 "inputTokens",
6060 "outputTokens",
6161 "seconds"
6262 ],
6363 "type": "object"
6464 },
6565 "external": {
6666 "description": "Bytes stored outside the PDS. The hash is the identity; any copy matching it is valid.",
6767 "properties": {
6868 "hash": {
6969 "ref": "#hash",
7070 "type": "ref"
7171 },
7272 "urls": {
7373 "items": {
7474 "format": "uri",
7575 "type": "string"
7676 },
7777 "maxLength": 32,
7878 "type": "array"
7979 }
8080 },
8181 "required": [
8282 "hash"
8383 ],
8484 "type": "object"
8585 },
8686 "externalPayload": {
8787 "properties": {
8888 "external": {
8989 "ref": "#external",
9090 "type": "ref"
9191 }
9292 },
9393 "required": [
9494 "external"
9595 ],
9696 "type": "object"
9797 },
9898 "hash": {
9999 "description": "A content digest. Site keys, schema identities and segment states are sha256; a source may also be a git object named by git-sha1 or git-sha256.",
100100 "properties": {
101101 "alg": {
102102 "knownValues": [
103103 "sha256",
104104 "git-sha1",
105105 "git-sha256"
106106 ],
107107 "maxLength": 32,
108108 "type": "string"
109109 },
110110 "value": {
111111 "description": "Lowercase hex digest.",
112112 "maxLength": 128,
113113 "minLength": 1,
114114 "type": "string"
115115 }
116116 },
117117 "required": [
118118 "alg",
119119 "value"
120120 ],
121121 "type": "object"
122122 },
123123 "inlinePayload": {
124124 "properties": {
125125 "data": {
126126 "description": "Validated against the site's schema.",
127127 "type": "unknown"
128128 }
129129 },
130130 "required": [
131131 "data"
132132 ],
133133 "type": "object"
134134 },
135135 "method": {
136136 "description": "How a stone was produced. Versions are exact. config and cost are self-reported.",
137137 "properties": {
138138 "agent": {
139139 "description": "A stable label the sponsor chooses for an agent writing to the sponsor's own repo.",
140140 "maxLength": 64,
141141 "type": "string"
142142 },
143143 "config": {
144144 "description": "Hash of the agent setup, so a recall can target a faulty configuration.",
145145 "ref": "#hash",
146146 "type": "ref"
147147 },
148148 "cost": {
149149 "ref": "#cost",
150150 "type": "ref"
151151 },
152152 "env": {
153153 "maxLength": 1024,
154154 "type": "string"
155155 },
156156 "model": {
157157 "description": "Model family.",
158158 "maxLength": 256,
159159 "type": "string"
160160 },
161161 "modelVersion": {
162162 "maxLength": 128,
163163 "type": "string"
164164 },
165165 "procedure": {
166166 "description": "The procedure record the stone followed.",
167167 "ref": "com.atproto.repo.strongRef",
168168 "type": "ref"
169169 },
170170 "thinking": {
171171 "description": "Thinking or reasoning level.",
172172 "maxLength": 64,
173173 "type": "string"
174174 },
175175 "tool": {
176176 "maxLength": 256,
177177 "type": "string"
178178 },
179179 "toolVersion": {
180180 "maxLength": 128,
181181 "type": "string"
182182 }
183183 },
184184 "required": [
185185 "tool",
186186 "toolVersion"
187187 ],
188188 "type": "object"
189189 },
190190 "methodSelector": {
191191 "description": "Matches stones by method. Absent fields match anything.",
192192 "properties": {
193193 "config": {
194194 "ref": "#hash",
195195 "type": "ref"
196196 },
197197 "model": {
198198 "maxLength": 256,
199199 "type": "string"
200200 },
201201 "modelVersion": {
202202 "maxLength": 128,
203203 "type": "string"
204204 },
205205 "tool": {
206206 "maxLength": 256,
207207 "type": "string"
208208 },
209209 "toolVersion": {
210210 "maxLength": 128,
211211 "type": "string"
212212 }
213213 },
214214 "required": [
215215 "tool",
216216 "toolVersion"
217217 ],
218218 "type": "object"
219219 },
220220 "pageRange": {
221221 "description": "1-based pages of a PDF, first through last.",
222222 "properties": {
223223 "first": {
224224 "minimum": 1,
225225 "type": "integer"
226226 },
227227 "last": {
228228 "minimum": 1,
229229 "type": "integer"
230230 }
231231 },
232232 "required": [
233233 "first",
234234 "last"
235235 ],
236236 "type": "object"
237237 },
238238 "pairBase": {
239239 "description": "Equivalence site: two site keys in canonical (sorted) order.",
240240 "properties": {
241241 "sites": {
242242 "items": {
243243 "ref": "#hash",
244244 "type": "ref"
245245 },
246246 "maxLength": 2,
247247 "minLength": 2,
248248 "type": "array"
249249 }
250250 },
251251 "required": [
252252 "sites"
253253 ],
254254 "type": "object"
255255 },
256256 "parentBase": {
257257 "description": "Course k+1: the site marks into one candidate value of a parent site.",
258258 "properties": {
259259 "parent": {
260260 "description": "Site key of the parent site.",
261261 "ref": "#hash",
262262 "type": "ref"
263263 },
264264 "value": {
265265 "description": "Digest of the canonical parent value this site builds on.",
266266 "ref": "#hash",
267267 "type": "ref"
268268 }
269269 },
270270 "required": [
271271 "parent",
272272 "value"
273273 ],
274274 "type": "object"
275275 },
276 "property": {
277 "description": "A declared property of an equivalence cluster member's value: the JSON Pointer it sits at and the value there. A pooled candidate's digest is that of this object with $type org.cairnsproto.draft.defs#property, so it never shares a digest with a site's own value.",
278 "properties": {
279 "pointer": {
280 "maxLength": 1024,
281 "type": "string"
282 },
283 "value": {
284 "type": "unknown"
285 }
286 },
287 "required": [
288 "pointer",
289 "value"
290 ],
291 "type": "object"
292 },
276293 "sealedPayload": {
277294 "description": "Timelock-encrypted to a drand quicknet round under blind policies.",
278295 "properties": {
279296 "round": {
280297 "minimum": 1,
281298 "type": "integer"
282299 },
283300 "sealed": {
284301 "maxSize": 1000000,
285302 "type": "blob"
286303 }
287304 },
288305 "required": [
289306 "sealed",
290307 "round"
291308 ],
292309 "type": "object"
293310 },
294311 "site": {
295312 "description": "The unit of work. Stones compete when base, mark and schema are exactly equal.",
296313 "properties": {
297314 "base": {
298315 "closed": true,
299316 "refs": [
300317 "#sourceBase",
301318 "#parentBase",
302319 "#pairBase"
303320 ],
304321 "type": "union"
305322 },
306323 "mark": {
307324 "description": "Absent for equivalence sites and for sites that cover a whole base.",
308325 "refs": [
309326 "org.cairnsproto.draft.mark#pdfRegion",
310327 "org.cairnsproto.draft.mark#imageRegion",
311328 "org.cairnsproto.draft.mark#sheetRange",
312329 "org.cairnsproto.draft.mark#tableRange",
313330 "org.cairnsproto.draft.mark#textQuote",
314331 "org.cairnsproto.draft.mark#cssSelector",
315332 "org.cairnsproto.draft.mark#textPosition",
316333 "org.cairnsproto.draft.mark#gitPath",
317334 "org.cairnsproto.draft.mark#jsonPointer",
318335 "org.cairnsproto.draft.mark#archiveMember",
319336 "org.cairnsproto.draft.mark#mediaTime",
320337 "org.cairnsproto.draft.mark#spaceRange"
321338 ],
322339 "type": "union"
323340 },
324341 "schema": {
325342 "description": "Hash of the payload schema's definition. Part of the site, so competing stones are always comparable.",
326343 "ref": "#hash",
327344 "type": "ref"
328345 }
329346 },
330347 "required": [
331348 "base",
332349 "schema"
333350 ],
334351 "type": "object"
335352 },
336353 "sourceBase": {
337354 "description": "Course 0: the site marks into a source.",
338355 "properties": {
339356 "source": {
340357 "ref": "#hash",
341358 "type": "ref"
342359 }
343360 },
344361 "required": [
345362 "source"
346363 ],
347364 "type": "object"
348365 },
349366 "split": {
350367 "description": "The payload of a split stone: the page ranges a site breaks into, in order, each starting on the page after the previous one ends. Once the split clears the open-children bar, the site's course opens one site per part, marked by a jsonPointer to it (/parts/0, /parts/1, ...). Its value is the payload with $type org.cairnsproto.draft.defs#split.",
351368 "properties": {
352369 "parts": {
353370 "items": {
354371 "ref": "#splitPart",
355372 "type": "ref"
356373 },
357374 "maxLength": 1000,
358375 "minLength": 2,
359376 "type": "array"
360377 }
361378 },
362379 "required": [
363380 "parts"
364381 ],
365382 "type": "object"
366383 },
367384 "splitPart": {
368385 "properties": {
369386 "pages": {
370387 "ref": "#pageRange",
371388 "type": "ref"
372389 }
373390 },
374391 "required": [
375392 "pages"
376393 ],
377394 "type": "object"
378395 }
379396 },
380397 "description": "Shared definitions for Cairns records. Every Cairns record is dedicated to the public domain under CC0-1.0; placing a record asserts the right to dedicate it. Fractions are integers in parts per million (0 to 1000000) so every indexer computes identical results.",
381398 "id": "org.cairnsproto.draft.defs",
382399 "lexicon": 1
383400}

Compare other versions