···123123- The backend indexes relevant data from PDS for fast querying
124124- Sphere configuration and membership are published on PDS for interoperability (see below)
125125- The local SQLite database caches/indexes all PDS data for fast querying
126126-- Every record type written to a user's PDS has a formal Lexicon schema definition in `packages/core/src/lexicons/`
126126+- Every record type written to a user's PDS has a formal Lexicon schema definition hosted at `landing/.well-known/`
127127128128### Lexicon schemas
129129
···11-{
22- "lexicon": 1,
33- "id": "site.exosphere.featureRequestStatus",
44- "defs": {
55- "main": {
66- "type": "record",
77- "description": "A status change on a feature request, published by an admin/owner on their PDS. Third-party indexers can replay these to derive the current status of a request.",
88- "key": "tid",
99- "record": {
1010- "type": "object",
1111- "required": ["subject", "status", "sphereHandle", "createdAt"],
1212- "properties": {
1313- "subject": {
1414- "type": "string",
1515- "format": "at-uri",
1616- "description": "AT URI of the feature request whose status is being changed."
1717- },
1818- "status": {
1919- "type": "string",
2020- "knownValues": ["requested", "not-planned", "approved", "in-progress", "done"]
2121- },
2222- "sphereHandle": {
2323- "type": "string",
2424- "description": "Handle of the Sphere (used by indexers to scope the status change)."
2525- },
2626- "createdAt": {
2727- "type": "string",
2828- "format": "datetime"
2929- }
3030- }
3131- }
3232- }
3333- }
3434-}
···11-{
22- "lexicon": 1,
33- "id": "site.exosphere.sphereMember",
44- "defs": {
55- "main": {
66- "type": "record",
77- "description": "A user's declaration that they are a member of a Sphere. Published on the member's own PDS. The Sphere owner/admin publishes a corresponding sphereMemberApproval record to confirm the membership. Together, the two records form a bilateral proof of membership — similar to how AT Protocol follows work.",
88- "key": "tid",
99- "record": {
1010- "type": "object",
1111- "required": ["sphere", "createdAt"],
1212- "properties": {
1313- "sphere": {
1414- "type": "string",
1515- "format": "at-uri",
1616- "description": "AT URI of the Sphere record (site.exosphere.sphere) on the owner's PDS."
1717- },
1818- "createdAt": {
1919- "type": "string",
2020- "format": "datetime"
2121- }
2222- }
2323- }
2424- }
2525- }
2626-}