Skip to content

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 scopeProject scope
Attached toone NEXUS workspaceone folder on disk
Visible toagents in that workspaceagents in every linked workspace
Survives workspace deletionnoyes

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.md and data-map.md, folded into CLAUDE.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.

Built with purpose.