From
bafyreic5u3evbyggbzgcyby535axkoolndiqa4jicvclg567roetg3dijy
indexed 2026-10-21 19:19 UTC
View this version
To
bafyreicyourujnlhjvduyfeydqmplvidj7dfjsytsvjb7k7ngnlq6afbse
indexed 2026-11-07 17:40 UTC
View this version
Compatibility
breaking 2 breaking changes, 3 non-breaking changes.
Breaking changes (2)
- KindChanged KindChanged { vertex_id: "games.cavu.game:body.pack", old_kind: "string", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "games.cavu.game:body.pack", sort: "ref", value: "com.atproto.repo.strongRef" }
Non-breaking changes (3)
- AddedVertex AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
- AddedEdge AddedEdge { src: "games.cavu.game:body.pack", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
- ConstraintRemoved ConstraintRemoved { vertex_id: "games.cavu.game:body.pack", sort: "format" }
Migration guidance
Added
AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
Constraint changes
- ConstraintAdded ConstraintAdded { vertex_id: "games.cavu.game:body.pack", sort: "ref", value: "com.atproto.repo.strongRef" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "games.cavu.game:body.pack", sort: "format" }
Notes
- Breaking: KindChanged { vertex_id: "games.cavu.game:body.pack", old_kind: "string", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "games.cavu.game:body.pack", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "Cavu's sidecar to a game's games.atmosphere.define record: how the game launches and what it may do with a player's account. Same rkey as the define record: the game's slug (e.g. 'haiku-day'), which scopes everything the game may write (games.cavu.score / games.cavu.save at '<slug>[:...]', actor.rpg.stats at '<slug>'). The game's name, description, art and links live in the define record.",66
"key": "any",77
"record": {88
"properties": {99
"capabilities": {1010
"description": "Everything the game may do through a player's host. Shown before launch.",1111
"items": {1212
"ref": "games.cavu.defs#capability",1313
"type": "ref"1414
},1515
"type": "array"1616
},1717
"define": {1818
"description": "The games.atmosphere.define record this extends (same repo, same rkey).",1919
"format": "at-uri",2020
"type": "string"2121
},2222
"guests": {2323
"description": "Whether the game can be played without signing in (nothing is saved).",2424
"type": "boolean"2525
},2626
"launchService": {2727
"description": "DID whose document names the launch service endpoint (#cavu_launch) and its grant-signing key.",2828
"format": "did",2929
"type": "string"3030
},3131
"listed": {3232
"default": true,3333
"description": "False keeps the game out of catalog listings (it can still be launched by link), e.g. while it is tested in production.",3434
"type": "boolean"3535
},3636
"network": {3737
"description": "Outside services the game's server sends game data to (e.g. AI models). Requests may only go to these hosts. Shown to players before launch.",3838
"items": {3939
"ref": "games.cavu.defs#networkHost",4040
"type": "ref"4141
},4242
"maxLength": 16,4343
"type": "array"4444
},4545
"pack": {46
"description": "The games.cavu.pack this game runs (Lua + assets).",47
"format": "at-uri",48
"type": "string"46
"description": "The games.cavu.pack this game runs (Lua + assets), as an exact version (same repo). Publishing a new version, or rolling back, is pointing this at another pack.",47
"ref": "com.atproto.repo.strongRef",48
"type": "ref"4949
}5050
},5151
"required": [5252
"define",5353
"launchService",5454
"guests",5555
"capabilities"5656
],5757
"type": "object"5858
},5959
"type": "record"6060
}6161
},6262
"id": "games.cavu.game",6363
"lexicon": 16464
}