{
  "lexicon": 1,
  "id": "net.bisks.duohaunt.checkin",
  "defs": {
    "main": {
      "type": "record",
      "description": "A snapshot of a person's flashcard-deck standing, written to their own repo via createRecord (PDS-assigned TID rkey) whenever it changes and they've opted in to the public 'haunt' wall. The deck itself lives only in browser localStorage and never leaves the device — this record just carries the overdue count and total card count, which duohaunt's server reads back off the PDS (rather than trusting the client) before showing someone on the wall. Written and read by duohaunt (https://duohaunt.bisks.net).",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["overdue", "totalCards", "createdAt"],
        "properties": {
          "overdue": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of flashcards currently overdue for review, computed client-side as dueCards(now).length."
          },
          "totalCards": {
            "type": "integer",
            "minimum": 0,
            "description": "Total number of flashcards in the local deck at check-in time, computed client-side as deck.length."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this check-in was written, as an ISO 8601 datetime."
          }
        }
      }
    }
  }
}
