space.opendeck.session

opendeck.space

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A finished study session. Written once; the source of study history and activity stats.",
      "key": "tid",
      "record": {
        "properties": {
          "activeSeconds": {
            "description": "Time spent on cards, with idle gaps capped.",
            "type": "integer"
          },
          "again": {
            "type": "integer"
          },
          "deck": {
            "description": "AT-URI of the deck that was studied.",
            "format": "at-uri",
            "maxGraphemes": 1000,
            "maxLength": 10000,
            "type": "string"
          },
          "direction": {
            "description": "Study direction; absent means forward (front to back).",
            "enum": [
              "forward",
              "reverse"
            ],
            "type": "string"
          },
          "easy": {
            "type": "integer"
          },
          "endedAt": {
            "format": "datetime",
            "type": "string"
          },
          "good": {
            "type": "integer"
          },
          "hard": {
            "type": "integer"
          },
          "newCards": {
            "description": "Cards rated for the first time in this direction.",
            "type": "integer"
          },
          "reviews": {
            "type": "integer"
          },
          "startedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "startedAt",
          "endedAt",
          "activeSeconds",
          "reviews",
          "again",
          "hard",
          "good",
          "easy",
          "newCards"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "space.opendeck.session",
  "lexicon": 1
}

Validate Record

Validate a record against space.opendeck.session

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:5xoilbawtptc3wha4zplgkwd
CID
bafyreiefxtapiodw54dqzvat3zdube5swpnorvs6c7xodxuvcwxdztjwi4
Indexed At
2026-09-23 18:10 UTC
AT-URI
at://did:plc:5xoilbawtptc3wha4zplgkwd/com.atproto.lexicon.schema/space.opendeck.session

Version History (2 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • FSRS scheduling state for a single card.

  • Single overwritten record: an incremental rollup of the session history, so a normal load doesn't have to cursor-walk every session ever recorded (#16). rkey is literally `self`.

  • One practice session: the full per-card interaction array, the config that drove it, and session-level rollups. Append-only stack; TID rkeys (time-ordered).

Lexicon Garden

@