{
"id": "dk.raakode.lab.groups.membership",
"defs": {
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"role",
"createdAt"
],
"properties": {
"role": {
"type": "string",
"description": "Roles are application-level: the protocol has no per-member write permissions (see docs/evidence/S06.md).",
"knownValues": [
"admin",
"member"
]
},
"subject": {
"type": "string",
"format": "did"
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
},
"description": "A member's role in the group. Written by the group authority into its repo in the space, never held as app database state — this is what makes a role survive the group changing app. The simplespace member list governs access; this record governs what the member may do once inside."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}