Scope & Membership
A project's membership is the set of workspaces linked to it — and linking is automatic. Every time a session resolves its working directory to the project's folder, that session's workspace joins the linked set. There is no invite, no roster to manage: working in the folder is membership.
What membership grants
Project-scoped memory is visible to every workspace linked to the project. That is the whole point of the scope: a rule pinned from a session in one workspace is recalled by agents in another workspace the moment their sessions work in the same folder — the memory follows the folder, not the workspace.
| Workspace scope | Project scope | |
|---|---|---|
| Attached to | one NEXUS workspace | one folder on disk |
| Visible to | agents in that workspace | agents in every linked workspace |
| Survives workspace deletion | no | yes |
Two kinds of sharing
A project shares its memory along two independent axes:
- Across workspaces, via NEXUS. The linked-workspace rule above — local, live, no files involved.
- Across machines, via the repository. Confirmed pins are exported into the project's committed files —
.chainabit/memory/rules.mdanddata-map.md, folded intoCLAUDE.md/AGENTS.md. Anyone who clones the repo gets the pinned memory, NEXUS user or not. This is why the pin flow warns against secrets: these files are meant to be committed and shared.
Only confirmed pins take the second path. Ordinary project-scoped memory — and agent proposals that were never promoted — stay local to your machine.
Membership never shrinks on its own
Linking records that a workspace has worked in the project; NEXUS does not unlink a workspace because its sessions moved elsewhere. Deleting a workspace removes that workspace — the project record, its memory, and its committed files are untouched and remain shared with every other linked workspace.
Where to go next
- Memory scopes — the project scope among the other four.
- Project Model — why the folder, not the workspace, is the boundary.
- Paths & Credentials — what else lives under
.chainabit/and which files are ignored from commits.