# Organization memory

> Share findings, rules and procedures with your team in Blop Cloud, with sources, revisions, owner approval and retirement.

Use organization memory to give your team and its agents the same findings, decisions, rules and procedures, each with its sources and full revision history.

## Prerequisites

- A Blop Cloud workspace and a CLI profile signed in with the memory scopes ([Blop Cloud](/cloud/#manage-blop-cloud-from-the-cli)).
- Familiarity with [local memory](/guides/local-memory/): organization memory uses the same node kinds, revisions and change files.

## What is shared

Shared memory is deliberately saved text plus references, never an automatic telemetry/transcript or local-file copy. Sharing a claim neither verifies it nor makes local-only, expired or inaccessible evidence reachable.

Open **Memory** to browse scope, sources and revisions. Project views apply the same project filter. PDF/Word/text extraction requires review before saving; only the filename and reviewed-text hash remain.

`blop.external-link` cites a retained Linear/Jira/GitHub link receipt UUID, not live provider content. Optional `path` matches its recorded URL; `revision` matches its UTC creation timestamp. Unsupported hashes remain `unknown`. Current team/project ownership is checked on every read. Receipt availability is not provider freshness or verification.

Selected Linear evidence uses `linear.issue`, exact provider UUID and `updatedAt`;
Jira uses `jira.issue:<site-hash>`, numeric issue ID and exact `fields.updated`.
Both bind the URL and selected-field hash. Owners select sources separately from
outbound ticket defaults; every capture is explicit. Provider bodies stay outside
the graph. Citations expire after 24 hours or a newer version; revoked access
hides them without erasing authored text. Availability is not live freshness or
claim verification.

See [selected knowledge sources](/reference/knowledge-sources/) for internal analytics snapshots and user-authored requirement coverage. Neither implies vendor integration or compliance certification.

## Read organization memory

```bash
blop memory context --scope organization --profile work --project PROJECT_ID --json
blop memory search --scope organization --profile work --text 'release checks' --json
blop memory get NODE_ID --scope organization --profile work --json
```

Unbound reads need both `--scope organization` and `--profile` for hosted memory.
Otherwise they stay local. Context lists approved rules, then relevant knowledge.
Follow page cursors; procedures load progressively with `memory skills list|get`.

### Bind a repository

```bash
blop memory bind --profile work --project PROJECT_ID --json
blop memory binding --json
blop memory search --text 'release checks' --json
blop memory unbind --json
```

Binding verifies the current workspace/grant and actual project through the
existing memory service. Credential-free user configuration selects one hosted
destination across Git subdirectories/worktrees; nothing is written into the
repository. Bound CLI and stdio MCP memory reads use that service. Failures,
expired/revoked grants and ambiguous configuration fail closed, never substitute
local results. Each request checks fresh authorization; stored metadata is not
proof of current access.

`--scope local` explicitly selects offline local CLI reads; explicit
`--scope organization --profile NAME` overrides the binding. Markdown
administration remains local. Binding never uploads files or changes write and
publication consent. Unbind removes only local routing metadata, offline.

Memory is context, not permission. Text from memory stays untrusted input for an agent, even after review, and cannot grant scopes, enable apps or approve actions.

Optional [server assessment](/reference/cloud-environment/#assessment-endpoint-contract)
adds `assessment` without replacing nodes. `not_configured` is not “no risks.”
`assessed` includes findings, covered revisions and partial/missing inputs; it
never covers an unseen working-tree diff. Configured failure blocks unassessed
results across CLI, MCP, web and cached task snapshots. Model judgments cannot
approve actions. No model is selected implicitly.

## Who can change what

| Change | Who |
| --- | --- |
| Save a sourced project finding, or update your own | Members and agents with `blop:memory:write` |
| Write project documents | Members, in the browser |
| Organization-wide content, rules, decisions, procedures, other authors' findings, flagged content, destructive changes such as purge | Proposed, then approved by an owner |

Approval happens in the browser on the exact change. Write changes with the same JSON files as [local memory](/guides/local-memory/#add-and-read-memory):

```bash
blop memory patch --input patch.json --scope organization --profile work --json
```

Every change names `expectedRevision`. On `revision_conflict`, read the current revision and resubmit on purpose; do not retry blindly. A batch applies up to 50 changes in one scope, all or nothing. `blop memory propose` only stages a change: say "remembered" only after a committed revision comes back.

Rules, decisions and procedures take effect only once approved, and only active nodes are ranked. Rules have stable keys. Conflicting rules are shown, never silently resolved; an override needs an approved `supersedes` relation.

## Revisions, retire and purge

- Every change makes a new revision; history is kept.
- **Retire** hides a node from context and search, keeping its history.
- **Restore** appends a new revision with older content; it never rewrites history.
- **Purge** (owner-approved) removes the content from every revision and index, leaving a content-free audit record. Copies in backups follow the operator's backup retention.

Organization and project briefs hold pinned entries of at most 2,200 characters each. When a brief is full, Blop refuses with `brief_capacity_exceeded` instead of evicting anything: consolidate, or leave the entry unpinned.

## Publish local memory

1. Preview the exact payload:

   ```bash
   blop memory publish LOCAL_NODE_ID --profile work --project PROJECT_ID --dry-run --json
   ```

2. Review the payload, workspace, project and sources. Only selected text and references transfer—not telemetry, absolute paths, relations or directory contents.
3. Publish with the hash from the preview:

   ```bash
   blop memory publish LOCAL_NODE_ID --profile work --project PROJECT_ID --reviewed-hash REVIEWED_HASH --json
   ```

Markdown publication copies one indexed snapshot, never syncs files. Changed payloads/destinations invalidate review; unchanged retries retain the receipt. Secrets/injection are refused. Delegated publication needs existing owner approval. Creation is one-time: later corrections use hosted edits. Local-only evidence stays unavailable remotely. Local deletion does not unpublish; use hosted retire/purge.

## Search by meaning

```bash
blop memory index --scope organization --profile work --project PROJECT_ID --json
```

Only this command builds the vector index. Until it runs, or while it is `stale`, search falls back to exact text. Similarity never creates relations.

## Check it worked

`blop memory get NODE_ID --scope organization --profile work --json` returns the node at its new revision. A pending change shows an approval link instead.

## Next

- [Local memory](/guides/local-memory/).
- [Skills](/guides/skills/): how agents load procedures.
