docs: add a multi-agent coordination guide - #631
Open
reemsabawi-mystenlabs wants to merge 2 commits into
Open
Conversation
Collaborator
Style Guide AuditAll 2 file(s) pass the style guide audit. |
Closes BEDU-1121. Eight builder questions asked how several agents share memory, and no page tied the pieces together. Delegates and namespaces are each documented on their own concept page, but nothing said how they combine, leaving the reader to infer which is an identity boundary and which is a visibility boundary. Getting that backwards is expensive: any delegate the account authorizes decrypts everything that account owns, across every namespace. The guide states that outright rather than leaving it to be deduced. Covers one delegate key per agent, three sharing patterns, handoff as a write followed by a recall, and how to choose a boundary. Also corrects fundamentals/concepts/memory-space.md, which said the opposite in the direction that gets people hurt. It called a memory space "the isolated unit of storage" offering "full isolation between users, apps, and deployments", promised namespaces "prevent cross-namespace data leakage", and closed with "each is fully isolated". Neither page stated a falsehood; they described different layers, and that page's own App ID section already explained why a delegate reads across namespaces. The isolation language just overstated what scoping buys you. Reworded to say scoping, and added a warning beside the boundary definition that states the decryption behavior and links here. Cleared the twelve style gate violations already present on that page, since touching the file surfaces them: eight em dashes, SEAL to Seal, a future tense, a quoted frontmatter title, and unbolded table headers. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WoBWxqLzd9hAxrhoqv3iSv
reemsabawi-mystenlabs
force-pushed
the
reemsabawi/bedu-1121-multi-agent-coordination
branch
from
August 21, 2026 16:31
6fadc6b to
f87c42c
Compare
jessiemongeon1
requested changes
Aug 21, 2026
|
|
||
| Shared plus private suits most multi-agent systems. A research agent writes conclusions to `findings` and keeps its own scratch work in `research-agent`, so a planner agent reading `findings` sees the conclusions without wading through intermediate steps. | ||
|
|
||
| ```ts |
Collaborator
There was a problem hiding this comment.
what is the source of this code?
|
|
||
| A handoff is a write followed by a recall. The first agent writes what the next one needs into a shared namespace, and the next agent recalls it when it starts. | ||
|
|
||
| ```ts |
Collaborator
There was a problem hiding this comment.
what is the source of this code?
Two of the four review comments, the ones that are changes rather than questions. Dropped the manual References section. Mintlify generates related links, so a hand-maintained list is duplication that can go stale. The four links it held were the page's only outbound links, though, and two of them a reader of this page actually needs, so those are now inline where they are relevant: delegates on first mention in the delegate-key section, and namespaces on first mention in the sharing section. The other two, agent-runtimes and headless-setup, were adjacent reading rather than things this page depends on, and the generated links cover them. Rewrote the opening. "Two decisions shape everything else" followed by a bare numbered list read as a stilted preamble to its own body; it is now one sentence that names both decisions. The remaining two comments ask where the code samples come from, which is a question rather than a change, and is answered on the PR. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WoBWxqLzd9hAxrhoqv3iSv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes BEDU-1121. Eight builder questions asked how several agents share memory, and no page tied the pieces together.
The gap
Delegates and namespaces are each documented well on their own concept page, but nothing says how they combine. That leaves the reader to infer which one is an identity boundary and which is a visibility boundary, and getting it backwards is expensive: any delegate the account authorizes decrypts everything that account owns, across every namespace. So namespaces organize an account's memory, and they cannot separate users. The guide states that outright, in a warning, rather than leaving it to be deduced from two pages.
What the page covers
Also fixes the concept page it contradicted
A review pass found that
fundamentals/concepts/memory-space.mdsaid the opposite of this guide, in the direction that gets people hurt. It called a memory space "the isolated unit of storage" offering "full isolation between users, apps, and deployments", its goal promised namespaces "prevent cross-namespace data leakage", and it closed with "each is fully isolated". A reader arriving there first would conclude namespaces separate users, which is exactly the mistake this guide exists to prevent.Neither page stated a falsehood; they described different layers. That page's own App ID section already says the vector database scopes queries by
owner + namespacewhile encryption and blob discovery scope by package ID, which is precisely why a delegate reads across namespaces. The isolation language just overstated what that buys you.Reworded its description, goal, answer, and body to say scoping rather than isolation, and added a warning beside the boundary definition that states the decryption behaviour outright and links here. Fixing it inside this PR rather than filing a follow-up, so the contradiction never ships.
That page also carried twelve pre-existing style gate violations, which surface on push once the file is touched at all: eight em dashes,
SEALforSeal, a future tense, a quoted frontmatter title, and unbolded table headers. Cleared them in a separate commit. They are mechanical and unrelated to the wording change.Sources
docs/fundamentals/concepts/ownership-and-access.md, "Delegates"docs/fundamentals/concepts/memory-space.md, "Namespace"owner + namespace, while encryption and blob discovery scope by package IDMemWal.createfieldskey,accountId,serverUrl,namespaceMemWalConfiginpackages/sdk/src/types.tsrecall({ query, limit })RecallParamsandRecallOptionsin the same filerememberAndWaitwaits for the background job to completepackages/sdk/src/memwal.ts, the method and its doc commentrememberreturns once the relayer creates the job, with embedding, encryption, upload, and indexing continuing afterdocs/sdk/api-reference.md,rememberProse written fresh. The code samples use only fields and methods verified above.
Verification
Re-run against current
devrather than relying on the original checks, since the branch was 182 commits behind when this pass ran:dev; this push brings it up to date.node scripts/check-docs-freshness.mjspasses:docs freshness OK (94 pages, 44 routes, IDs, URLs, versions, limits), which covers the four reference links.packages/sdk/srcat currentdev, not against the versions current when the page was drafted.