Multiple Brains

Each brain is a self-contained knowledge vault focused on a domain. You can connect multiple brains so the research agent searches across all of them.

Configuration

All connected brains are listed in brains.yaml at the project root:

brains:
  - name: "Business Strategy"
    path: "brain/"
    type: local
    description: "Lean Startup, Zero to One, Good to Great"
 
  - name: "Psychology"
    path: "brain-psychology/"
    type: local
    description: "Thinking Fast and Slow, Influence, Flow"
 
  - name: "Philosophy"
    path: "https://someone.github.io/philosophy-brain/"
    type: published
    description: "Ethics, epistemology, logic"

Adding a brain

Local brain (on your disk)

/dist:brains add /path/to/brain-name/

The system verifies the path, reads _index.md, counts sources, and adds it to brains.yaml.

Published brain (someone else’s, via URL)

/dist:brains add https://someone.github.io/their-brain/

Fetches agent.json, reads the manifest, and adds to brains.yaml. Published brains are read-only — you query them but don’t modify them.

Clone a published brain locally

/dist:brains clone https://someone.github.io/their-brain/

The system fetches key pages (index, source indexes, bridges, analytics) and saves them locally. This gives you offline access for research. Note: chunks are not included (the publisher may have copyrighted source material).

How research uses multiple brains

When you ask a question without specifying a brain:

/dist:research what is the relationship between accountability and governance?

The research agent:

  1. Reads brains.yaml — finds 2 local brains
  2. Searches both: Business brain has claims about decision-making frameworks, Psychology brain has claims about cognitive biases
  3. Prefixes findings with brain name:
**[Business Strategy]** Decision-making under uncertainty requires validated learning...
**[Psychology]** System 1 thinking leads to predictable judgment errors...
  1. Synthesizes across brains — finds structural parallels
  2. Reports which brain contributed what

Specifying a single brain

/dist:research in brain-psychology/: what causes decision fatigue?

The agent searches only that brain.

Cross-brain concept mapping and analytics

The concept-mapper and analytics agents need file-level access — they read entity files and claim frontmatter directly. This means they work on local brains only.

Mapping two local brains

/dist:map-concepts brain/ and brain-psychology/

The concept-mapper reads entities from both brains’ sources/*/entities/ directories and finds cross-domain connections. The agents don’t change — they just receive paths from two brains instead of one.

Running analytics across brains

/dist:analytics all brains

The analytics agent reads claims from all local brains and produces cross-brain reports: which brains share concepts, how argument styles differ, where knowledge overlaps.

What about published brains?

Published brains are query-only — the research agent can search them via WebFetch, but concept-mapper and analytics cannot run on them directly.

The solution: clone first, then map.

/dist:brains clone https://someone.github.io/their-brain/
# → downloads claims, entities, bridges into brain-{name}/
# → adds to brains.yaml as type: local

/dist:map-concepts brain/ and brain-{name}/
# → works because both are now local files

The clone won’t have chunks (copyrighted source text stays with the publisher), but it has everything the concept-mapper and analytics agents need.

Agent capabilities by brain type

AgentLocal brainPublished brainCloned brain
ResearchFull search (Grep + Read)WebFetch query (agent.json → pages)Full search
Concept-mapperFull mappingCannot (no file access)Full mapping
AnalyticsFull analysisCannot (no file access)Full analysis
Bridge-builderFull bridgingCannotFull bridging
VerifyFull (if chunks present)CannotCannot (no chunks)

Rule of thumb: If you just want to ask questions → add as published. If you want to deeply analyze and connect → clone it first.

Brain types

TypeHow it worksResearchMap & AnalyzeVerify
localFiles on diskFullFullYes (if chunks)
publishedURL + agent.jsonWebFetch queryClone firstNo
clonedDownloaded from publishedFullFullNo (no chunks)

Sharing your brain

To make your brain available to others:

  1. Publish with Quartz: /dist:publish
  2. This generates a static site + agent.json manifest
  3. Share the URL — anyone can add it to their brains.yaml
  4. They can query it via research agent, or clone it to run concept-mapper/analytics

Published brains don’t include chunks/ — your copyrighted source material stays private. The claims, entities, bridges, and analytics are what gets shared.

Use cases for multiple brains

  • Personal + professional: One brain for books you read, another for work-related regulatory documents
  • Team knowledge: Each team member publishes their brain, everyone clones each other’s for cross-brain mapping
  • Domain separation: Keep philosophy, science, and business in separate brains that can still cross-reference
  • Before/after: Clone someone’s brain, add your own sources, run concept-mapper to see what your additions connect to
  • Collaborative research: Two researchers each build a brain on related topics, clone each other’s, run analytics to find where their knowledge overlaps and diverges