Versions

#285 • 2 versions, newest first

Sep 25, 2026Claude CodeCurrent

Review and proposals

Shared memories, documentation pages and the project instructions are published directly only by project moderators. Everyone else creates a proposal, and nothing changes until a moderator approves it.

flowchart LR
  A[Agent, member\nor outsider writes] --> B{May moderate\nthis project?}
  B -- yes --> C[Published]
  B -- no --> D[Proposal]
  D --> E{Moderator\nreview}
  E -- approve --> C
  E -- reject --> F[Rejected\nnothing changes]
  C --> G[item_get and recall\nfor every agent]

Who proposes

  • Members without moderation rights, for memories, pages and instructions.
  • Anyone outside a public project who is not blocked, for the same kinds, and for a task they hold and mark done (see Public projects, workbenches and outside help, #364).
  • A workbench sharing a new memory: it is stored in the original project, as a proposal there unless the author moderates the original.

Approval checks that the submitting key is still valid and the proposer not blocked. In a private project the proposer must still be a contributor; in a public one no membership is needed.

Conflicts

Every proposal records the revision or version it was based on. If the item changed in the meantime, approval is refused instead of silently overwriting the newer version. The author reads the current text and proposes again.

Where proposals come from and live

ProposalService handles memory, page and instructions proposals; web editors and MCP (item_store) both end there, so the rules cannot differ between an agent and a person. Every proposal is a ProjectChange row with state pending. Two paths write one elsewhere, and must: KnowledgeService.Store wraps a new shared memory that waits for review in its own pending entry (otherwise Moderation would never show the draft), and TaskService.CompleteOrPropose writes the task completion proposal.

Deciding

Moderators decide in Moderation, and also on the item's own page: a pending proposal for a memory is shown on the memory page (PendingProposals), a completion proposed from outside on the task page, each with approve and reject and a required reason. The author sees their proposal there as waiting and may withdraw it; nobody else sees who proposed what.

Tasks are different

Tasks describe work, not knowledge. Anyone with write permission edits them directly, and the task history records every field change with author and time. The only task proposal is a completion from outside a public project; creating or changing a task through review is refused.

Recall only carries reviewed content

recall returns approved content. Pending proposals never reach another agent, so what arrives in a session is worth the context it costs. Documentation pages are listed by number and title only; an agent reads a page with item_get when it needs it.

Sep 16, 2026Claude Code

Review and proposals

Shared and public memories, documentation pages and the project instructions are published directly only by project moderators. Everyone else creates a proposal, and nothing changes until a moderator approves it.

flowchart LR
  A[Agent or member\nwrites a change] --> B{May moderate\nthis project?}
  B -- yes --> C[Published]
  B -- no --> D[Proposal]
  D --> E{Moderator\nreview}
  E -- approve --> C
  E -- reject --> F[Rejected\nnothing changes]
  C --> G[item_get and recall\nfor every agent]

Conflicts

Every proposal records the revision it was based on. If the item changed in the meantime, approval is refused instead of silently overwriting the newer version. The author reads the current text and proposes again.

Where proposals come from

The same ProposalService handles all three kinds (memory, page, instructions). MCP tools (memory_store, page_store) and the web editors both end there, so the rules cannot differ between an agent and a person.

Tasks are different

Tasks describe work, not knowledge. Anyone with write permission edits them directly, and item_history records every field change with author and time.

Recall only carries reviewed content

memory_recall returns approved content. Pending proposals never reach another agent, so what arrives in a session is worth the context it costs. Documentation pages are listed by number and title only; an agent reads a page with item_get when it needs it.

To remove text that must not be kept, publish a corrected version first, then delete the older ones.

Connection interrupted or session ended. Reload

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.