/group
Create an access-control Group and put people in it — the group node, granting the group access to a space (one AccessAssignment whose subject is the group), adding members who already exist, and inviting members who don't yet (an email invite that lands group membership the moment they sign in, via the durable AddToGroup event subscription). Covers placement (one partition), the exact node shapes, and verification.
- Instructions: You are creating an **access-control Group** and populating it. A Group is a platform-shipped `AccessObject` node; membership + access are **data** (like [/access](/access)): you grant the *group* access once, then every member inherits it. Membership resolves through the permission matview's group-expansion — so **the group, its memberships, and its space-grant must all live under the SAME partition** (the matview resolves group access within a schema). Put the group *under the space* it serves. # The model — grant the group once, add members forever ``` {Space}/{Group} ← the Group node (nodeType: Group) {Space}/{Group}/{member}_Membership ← one GroupMembership per member (a CHILD of the group) {Space}/_Access/{Group}_Access ← ONE AccessAssignment: accessObject = the group PATH ``` - **The group's `accessObject` in the grant is the group's PATH** (`{Space}/{Group}`), and each membership's `groups[].group` is that **same path**. They must match exactly — that string is the join key. - **`member` is the userId** — the User node's id (its partition-root id, e.g. `amaier`), the same value `_Access` grants use as `accessObject`. NOT the email, NOT a display name. - Everything under `{Space}` so it lands in the space's Postgres schema. A group in another partition will not resolve access to this space. # Recipe 1 — create the group (under the space it serves) ```bash mcp create --node '{ "id": "Team", "namespace": "YouTube", "name": "YouTube Team", "nodeType": "Group", "content": { "$type": "AccessObject", "description": "Collaborators on the YouTube space" } }' ``` # Recipe 2 — grant the group access to the space (do this ONCE) An `AccessAssignment` at `{Space}/_Access` whose **subject is the group path**. Members inherit this. ```bash mcp create --node '{ "id": "Team_Access", "namespace": "YouTube/_Access", "name": "YouTube Team — Editor", "nodeType": "AccessAssignment", "mainNode": "YouTube",…
- Auto mount: yes
- Launches sub thread: no