| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| gbrain-darwin-arm64 | < 13 hours ago | 188.3 MB | |
| gbrain-linux-x64 | < 13 hours ago | 207.5 MB | |
| README.md | < 13 hours ago | 1.7 kB | |
| v0.60.522.0 source code.tar.gz | < 13 hours ago | 50.8 MB | |
| v0.60.522.0 source code.zip | < 13 hours ago | 60.0 MB | |
| Totals: 5 Items | 506.6 MB | 0 | |
recall and list_pages now honour source_ids, the per-request source narrowing search and query already had. Before, both ops ignored the list, so an agent narrowing each call to the asking member's sources still got other sources' facts and pages from these two tools. A harness-evals run measured it: under per-request narrowing, recall returned a page from outside the requester's sources twice and list_pages 57 pages over three calls. Each id is checked like an explicit source_id, so the list can only narrow what the token's grant allows; an id outside a remote grant refuses the whole request, and an empty intersection with source_id returns nothing with an empty_retrieval notice. A call that names its own sources also no longer gets _meta.brain_hot_memory, which reads the connection's source.
Itemized changes
src/core/ops/facts.ts:recalltakessource_idsand reads every fact arm and its page-search arm inside the narrowed scope.src/core/ops/pages.ts:list_pagestakessource_ids.src/core/ops/search-source-scope.ts: the shared parser and resolver serve all four ops.src/mcp/dispatch.ts: the hot-memory hook is skipped when a call namessource_idsor asource_idother than the connection's.docs/protocol/MCP_META_CHANNELS.md: says whenbrain_hot_memoryis left out.docs/guides/multi-source-brains.md: "Narrow one request withsource_ids" names all four ops.test/recall-list-pages-source-ids.test.ts(PGLite and Postgres): each recall arm and list_pages under narrowing, the grant refusal, the empty intersection, and starter-surface dispatch with the hot-memory hook; red on the old code.