page.cavu.forge.fact

Something true about an entity for a stretch of the story's timeline: its name, an age, where someone lives, who they're married to — in whatever terms the project defines (page.cavu.forge.attribute). Entities are bare identities; every attribute, the name included, is a fact. Nothing is assumed static. Time is the timeline's order, not dates: a fact holds from its `from` event (inclusive; absent = from the start) until its `until` event (exclusive; absent = onward). Unless the attribute is defined as multi-valued, the holding fact with the latest start wins, so a later fact supersedes an earlier one without either being edited. Ages are stated, never computed — there is no calendar to compute them from.

Repository @cavu.page did:plc:citulkqjdzbnf7wd5xb6lled not from the namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authorityforge.cavu.page
Indexed
cid bafyreia3hjlykutivznyohrzagzdhhtzo3inaby26p4pfdewqjfvugndia

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Something true about an entity for a stretch of the story's timeline: its name, an age, where someone lives, who they're married to — in whatever terms the project defines (page.cavu.forge.attribute). Entities are bare identities; every attribute, the name included, is a fact. Nothing is assumed static. Time is the timeline's order, not dates: a fact holds from its `from` event (inclusive; absent = from the start) until its `until` event (exclusive; absent = onward). Unless the attribute is defined as multi-valued, the holding fact with the latest start wins, so a later fact supersedes an earlier one without either being edited. Ages are stated, never computed — there is no calendar to compute them from.",
      "key": "tid",
      "record": {
        "properties": {
          "attribute": {
            "description": "What this fact sets, in the project's own vocabulary (page.cavu.forge.attribute): \"species\", \"age\", \"allegiance\". Nothing is predefined except `name`, which is what an entity is called. Whether later facts replace earlier ones or accumulate comes from the attribute's definition; undefined attributes replace.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "during": {
            "description": "An epoch the fact holds for: true at every event in it, wherever those fall in story order (\"aged 11 during Year 412\", \"called Lucy during Book One\"). Used instead of from/until.",
            "ref": "page.cavu.forge.defs#ref",
            "type": "ref"
          },
          "from": {
            "description": "The event this starts at (inclusive), or an epoch — starts at its earliest event in story order. Absent: true from the beginning of the timeline.",
            "ref": "page.cavu.forge.defs#ref",
            "type": "ref"
          },
          "note": {
            "maxGraphemes": 2000,
            "maxLength": 10000,
            "type": "string"
          },
          "subject": {
            "description": "The entity this is true of.",
            "ref": "page.cavu.forge.defs#ref",
            "type": "ref"
          },
          "target": {
            "description": "The record the value points at: where they are (location), who the relationship is with, a place's parent or owner.",
            "ref": "page.cavu.forge.defs#ref",
            "type": "ref"
          },
          "until": {
            "description": "The event this stops at (exclusive), or an epoch — stops at its earliest event in story order. Absent: true onward, until a later fact supersedes it.",
            "ref": "page.cavu.forge.defs#ref",
            "type": "ref"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          },
          "value": {
            "description": "The value as text: a name, \"11\", \"dead\", \"blacksmith\"; for a relationship, what the subject is to the target (\"wife\").",
            "maxGraphemes": 4000,
            "maxLength": 20000,
            "type": "string"
          }
        },
        "required": [
          "subject",
          "attribute",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "page.cavu.forge.fact",
  "lexicon": 1
}