full diff

at.isnot.review

isnot.at +2 −1
From
bafyreic4ryhfeljs2jpnpsc3tzh5u3fj3ptapldvxnelai62jnssfwcgrm indexed 2026-09-15 00:15 UTC View this version
To
bafyreifys66trp5raw44f5efuzdwu43btsepdo6m4zrrbtwrdtu2aoyriq indexed 2026-09-17 02:53 UTC View this version

Compatibility

breaking 1 breaking change, 0 non-breaking changes.

Breaking changes (1)
  • ConstraintTightened ConstraintTightened { vertex_id: "at.isnot.review#subject.type", sort: "knownValues", old_value: "[\"movie\",\"tv-show\",\"tv-season\",\"tv-episode\",\"book\",\"book-series\",\"album\",\"music-track\",\"video-game\",\"post\",\"publication\",\"app\",\"web-page\",\"web-stream\",\"code-repo\"]", new_value: "[\"movie\",\"tv-show\",\"tv-season\",\"tv-episode\",\"book\",\"book-series\",\"album\",\"music-track\",\"music-artist\",\"video-game\",\"post\",\"publication\",\"app\",\"web-page\",\"web-stream\",\"code-repo\"]" }

Migration guidance

Constraint changes

  • ConstraintTightened ConstraintTightened { vertex_id: "at.isnot.review#subject.type", sort: "knownValues", old_value: "[\"movie\",\"tv-show\",\"tv-season\",\"tv-episode\",\"book\",\"book-series\",\"album\",\"music-track\",\"video-game\",\"post\",\"publication\",\"app\",\"web-page\",\"web-stream\",\"code-repo\"]", new_value: "[\"movie\",\"tv-show\",\"tv-season\",\"tv-episode\",\"book\",\"book-series\",\"album\",\"music-track\",\"music-artist\",\"video-game\",\"post\",\"publication\",\"app\",\"web-page\",\"web-stream\",\"code-repo\"]" }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "identifier": {
55 "properties": {
66 "key": {
77 "maxLength": 64,
88 "type": "string"
99 },
1010 "value": {
1111 "maxLength": 512,
1212 "type": "string"
1313 }
1414 },
1515 "required": [
1616 "key",
1717 "value"
1818 ],
1919 "type": "object"
2020 },
2121 "main": {
22 "description": "A person's review of one thing: which adjectives it is, and is not. One record per subject per repo; update it rather than creating another.",
22 "description": "A person's review of one thing: which adjectives it is, and is not. One record per subject and locale per repo; update it rather than creating another. If a repo ever holds more than one review of the same subject in the same locale, merge them into the earliest-created one (tag conflicts: latest updatedAt wins, then direction nearer 0, then positive) and delete the rest.",
2323 "key": "tid",
2424 "record": {
2525 "properties": {
2626 "createdAt": {
2727 "format": "datetime",
2828 "type": "string"
2929 },
3030 "locale": {
3131 "description": "The language the whole review is meant to be read in (BCP 47), not the language of any one adjective. Readers may render the sentence in this locale.",
3232 "format": "language",
3333 "type": "string"
3434 },
3535 "subject": {
3636 "description": "The thing being tagged, described well enough to display without fetching the referenced record. Readers can decide whether the cid must match for their purposes, or whether the at-uri alone is enough.",
3737 "ref": "#subject",
3838 "type": "ref"
3939 },
4040 "tags": {
4141 "description": "The adjectives this review applies to the subject. An adjective should appear at most once; readers keep the last entry when it repeats.",
4242 "items": {
4343 "ref": "#tag",
4444 "type": "ref"
4545 },
4646 "maxLength": 32,
4747 "minLength": 1,
4848 "type": "array"
4949 },
5050 "updatedAt": {
5151 "format": "datetime",
5252 "type": "string"
5353 }
5454 },
5555 "required": [
5656 "subject",
5757 "tags",
5858 "createdAt",
5959 "updatedAt"
6060 ],
6161 "type": "object"
6262 },
6363 "type": "record"
6464 },
6565 "subject": {
6666 "properties": {
6767 "cid": {
6868 "description": "The uri's cid when this tag was last updated.",
6969 "format": "cid",
7070 "type": "string"
7171 },
7272 "identifiers": {
7373 "description": "External identifiers for the subject, such as imdbId or isbn13.",
7474 "items": {
7575 "ref": "#identifier",
7676 "type": "ref"
7777 },
7878 "maxLength": 32,
7979 "type": "array"
8080 },
8181 "title": {
8282 "description": "The name of the thing being tagged, usually copied from a field on the subject record.",
8383 "maxGraphemes": 256,
8484 "maxLength": 2560,
8585 "minGraphemes": 1,
8686 "type": "string"
8787 },
8888 "type": {
8989 "description": "The kind of thing the subject is. Open set; add values as lenses support them.",
9090 "knownValues": [
9191 "movie",
9292 "tv-show",
9393 "tv-season",
9494 "tv-episode",
9595 "book",
9696 "book-series",
9797 "album",
9898 "music-track",
99 "music-artist",
99100 "video-game",
100101 "post",
101102 "publication",
102103 "app",
103104 "web-page",
104105 "web-stream",
105106 "code-repo"
106107 ],
107108 "maxLength": 64,
108109 "type": "string"
109110 },
110111 "uri": {
111112 "description": "The atproto record that represents the thing being tagged.",
112113 "format": "at-uri",
113114 "type": "string"
114115 }
115116 },
116117 "required": [
117118 "uri",
118119 "cid",
119120 "title",
120121 "type"
121122 ],
122123 "type": "object"
123124 },
124125 "tag": {
125126 "properties": {
126127 "adjective": {
127128 "description": "An adjective, in any language, that the subject either is, or is not.",
128129 "maxGraphemes": 16,
129130 "maxLength": 160,
130131 "minGraphemes": 1,
131132 "type": "string"
132133 },
133134 "direction": {
134135 "description": "Whether the subject *is* the adjective (1), *is not* the adjective (-1) or, less commonly, *really* is (2), or *really* isn't (-2). A value of zero is an explicit 'no comment', uncertainty, or lack of opinion.",
135136 "enum": [
136137 -2,
137138 -1,
138139 0,
139140 1,
140141 2
141142 ],
142143 "type": "integer"
143144 }
144145 },
145146 "required": [
146147 "direction",
147148 "adjective"
148149 ],
149150 "type": "object"
150151 }
151152 },
152153 "id": "at.isnot.review",
153154 "lexicon": 1
154155}

Compare other versions