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.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | forge.cavu.page |
| Indexed |
Checks
Valid Lint pass{
"$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
}