full diff

page.cavu.forge.attribute

cavu.page +7 −1
From
bafyreih4ngidbrollrv4gqityugisniysv67xolrj4aqqtx5xbhbvxqdjm indexed 2026-11-02 15:01 UTC View this version
To
bafyreigmuos7ilzxjxv7cpgvybldgwvjs2qm6gyojxf3nlbsb3bgh4jvpm indexed 2026-11-02 18:12 UTC View this version

Compatibility

backward compatible Backward compatible. 2 non-breaking changes.

Non-breaking changes (2)
  • AddedVertex AddedVertex { vertex_id: "page.cavu.forge.attribute:body.reverse" }
  • AddedEdge AddedEdge { src: "page.cavu.forge.attribute:body", tgt: "page.cavu.forge.attribute:body.reverse", kind: "prop", name: Some("reverse") }

Migration guidance

Added

  • AddedVertex { vertex_id: "page.cavu.forge.attribute:body.reverse" }

Notes

  • Non-breaking: AddedEdge { src: "page.cavu.forge.attribute:body", tgt: "page.cavu.forge.attribute:body.reverse", kind: "prop", name: Some("reverse") }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
5 "description": "One word in a project's own vocabulary for facts. Nothing about what can be said of an entity is predefined — a genderless species has no gender, a starship has a registry, a magic system has its own terms — so each project defines the attributes its facts use. Defining one says how its facts combine (one value at a time, or several) and whether its values point at other entities. A fact whose attribute has no definition is read as single-valued text. Only `name` has a meaning readers rely on: it's what an entity is called.",
5 "description": "One word in a project's own vocabulary for facts. Nothing about what can be said of an entity is predefined — a genderless species has no gender, a starship has a registry, a magic system has its own terms — so each project defines the attributes its facts use. Defining one says how its facts combine (one value at a time, or several) and whether its values point at other entities — an attribute that does is a relation (allegiance, sails under, married to), named from both sides. A fact whose attribute has no definition is read as single-valued text. Only `name` has a meaning readers rely on: it's what an entity is called.",
66 "key": "tid",
77 "record": {
88 "properties": {
99 "createdAt": {
1010 "format": "datetime",
1111 "type": "string"
1212 },
1313 "description": {
1414 "description": "What it means in this story, for the writer and any assistant.",
1515 "maxGraphemes": 300,
1616 "maxLength": 3000,
1717 "type": "string"
1818 },
1919 "kinds": {
2020 "description": "The entity kinds it's offered for. Absent: any.",
2121 "items": {
2222 "maxGraphemes": 64,
2323 "maxLength": 640,
2424 "type": "string"
2525 },
2626 "maxLength": 20,
2727 "type": "array"
2828 },
2929 "multi": {
3030 "description": "Several values hold at once (aliases, allegiances, relationships) instead of a later fact replacing an earlier one. Absent means false.",
3131 "type": "boolean"
3232 },
3333 "name": {
3434 "description": "The key facts use, exactly: \"species\", \"rank\", \"home world\".",
3535 "maxGraphemes": 64,
3636 "maxLength": 640,
3737 "type": "string"
3838 },
39 "reverse": {
40 "description": "For an attribute that points at entities: what the relation is called from the other side — \"sails under\" ↔ \"crew\", \"allegiance\" ↔ \"members\", \"captain\" ↔ \"captain of\". Readers use it to show a target's side of the relation and to head groups when entities are grouped by this attribute.",
41 "maxGraphemes": 64,
42 "maxLength": 640,
43 "type": "string"
44 },
3945 "targets": {
4046 "description": "Present when the value points at another entity (fact.target): the entity kinds it may point at, or an empty list for any. A text value may go with it (a relationship's \"wife\").",
4147 "items": {
4248 "maxGraphemes": 64,
4349 "maxLength": 640,
4450 "type": "string"
4551 },
4652 "maxLength": 20,
4753 "type": "array"
4854 }
4955 },
5056 "required": [
5157 "name",
5258 "createdAt"
5359 ],
5460 "type": "object"
5561 },
5662 "type": "record"
5763 }
5864 },
5965 "id": "page.cavu.forge.attribute",
6066 "lexicon": 1
6167}

Compare other versions