From
bafyreieg75hwmmp4ucbw3w6ivu63b33ad6yqam3x3k4i6a346f6rxhfzpi
indexed 2026-09-23 21:36 UTC
View this version
To
bafyreie6g52a3fdgl2e6f5pwibo44qcjlhh3tnwbfdlstoceo6xww5cy6y
indexed 2026-10-08 13:09 UTC
View this version
Compatibility
backward compatible Backward compatible. 2 non-breaking changes.
Non-breaking changes (2)
- AddedVertex AddedVertex { vertex_id: "space.opendeck.progress:body.firstReviewedAt" }
- AddedEdge AddedEdge { src: "space.opendeck.progress:body", tgt: "space.opendeck.progress:body.firstReviewedAt", kind: "prop", name: Some("firstReviewedAt") }
Migration guidance
Added
AddedVertex { vertex_id: "space.opendeck.progress:body.firstReviewedAt" }
Notes
- Non-breaking: AddedEdge { src: "space.opendeck.progress:body", tgt: "space.opendeck.progress:body.firstReviewedAt", kind: "prop", name: Some("firstReviewedAt") }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "FSRS scheduling state for a single card.",66
"key": "tid",77
"record": {88
"properties": {99
"card": {1010
"description": "AT-URI of the card this tracks.",1111
"format": "at-uri",1212
"maxGraphemes": 1000,1313
"maxLength": 10000,1414
"type": "string"1515
},1616
"deck": {1717
"description": "Record key (rkey) of the owning deck.",1818
"maxGraphemes": 64,1919
"maxLength": 640,2020
"type": "string"2121
},2222
"difficulty": {2323
"description": "FSRS difficulty (float stored as string).",2424
"maxGraphemes": 1000,2525
"maxLength": 10000,2626
"type": "string"2727
},2828
"direction": {2929
"description": "Study direction this schedule tracks; absent means forward (front to back).",3030
"enum": [3131
"forward",3232
"reverse"3333
],3434
"type": "string"3535
},3636
"dueAt": {3737
"description": "When the card should be shown next.",3838
"format": "datetime",3939
"type": "string"4040
},41
"firstReviewedAt": {42
"description": "When the card was first rated; absent for cards studied before this was recorded.",43
"format": "datetime",44
"type": "string"45
},4146
"lapses": {4247
"description": "Number of times a learned card was forgotten.",4348
"type": "integer"4449
},4550
"lastRating": {4651
"enum": [4752
"again",4853
"hard",4954
"good",5055
"easy"5156
],5257
"type": "string"5358
},5459
"lastReviewedAt": {5560
"format": "datetime",5661
"type": "string"5762
},5863
"repetitions": {5964
"description": "Number of times the card was rated.",6065
"type": "integer"6166
},6267
"shortTermStep": {6368
"description": "Index into the short-term intervals while learning or relearning; absent otherwise.",6469
"type": "integer"6570
},6671
"stability": {6772
"description": "FSRS stability (float stored as string).",6873
"maxGraphemes": 1000,6974
"maxLength": 10000,7075
"type": "string"7176
},7277
"state": {7378
"enum": [7479
"new",7580
"learning",7681
"review",7782
"relearning"7883
],7984
"type": "string"8085
}8186
},8287
"required": [8388
"card",8489
"dueAt",8590
"stability",8691
"difficulty",8792
"repetitions",8893
"lapses",8994
"state",9095
"lastReviewedAt"9196
],9297
"type": "object"9398
},9499
"type": "record"95100
}96101
},97102
"id": "space.opendeck.progress",98103
"lexicon": 199104
}