Feature Request: Multiple Vault Path Support (ATLAS_VAULT_ROOTS)
Use Case
ATLAS_VAULT_ROOT currently accepts a single path, but VaultExtractor already accepts vault_roots: list[Path] and iterates over all of them. The multi-vault capability exists at the library layer but isn't exposed through configuration.
Concrete scenario: Two users (e.g. a business owner and an operations manager) each run their own Atlas instance. Each person has:
- A shared business Obsidian vault (synced via Obsidian Sync — same content, separate local copies)
-
- A personal Obsidian vault
Each user wants their Atlas to ingest both vaults simultaneously so beliefs from personal notes and business notes connect in a single graph. Separate instances preserve private beliefs while the shared vault provides common business context.
Proposed Change
A minimal change to atlas_core/daemon/cycle.py (and the same in scripts/first_real_run.py):
# Replace:
vault_root = Path(os.environ.get("ATLAS_VAULT_ROOT", ...))
if vault_root.exists():
orch.register(VaultExtractor(quarantine=quarantine, vault_roots=[vault_root]))
# With:
vault_roots_env = os.environ.get("ATLAS_VAULT_ROOTS", os.environ.get("ATLAS_VAULT_ROOT", ""))
vault_roots = [Path(p.strip()) for p in vault_roots_env.split(":") if p.strip()] if vault_roots_env else []
vault_roots = [r for r in vault_roots if r.exists()]
if vault_roots:
orch.register(VaultExtractor(quarantine=quarantine, vault_roots=vault_roots))
Adds ATLAS_VAULT_ROOTS (colon-separated, same convention as PATH) while remaining fully backward-compatible with the existing single-path ATLAS_VAULT_ROOT.
Why This Is Low-Effort
VaultExtractor already does all the work — this is purely a config exposure change. No changes to the core engine, belief graph, or ingestion logic required. Happy to submit a PR if this direction looks good.
Feature Request: Multiple Vault Path Support (
ATLAS_VAULT_ROOTS)Use Case
ATLAS_VAULT_ROOTcurrently accepts a single path, butVaultExtractoralready acceptsvault_roots: list[Path]and iterates over all of them. The multi-vault capability exists at the library layer but isn't exposed through configuration.Concrete scenario: Two users (e.g. a business owner and an operations manager) each run their own Atlas instance. Each person has:
Each user wants their Atlas to ingest both vaults simultaneously so beliefs from personal notes and business notes connect in a single graph. Separate instances preserve private beliefs while the shared vault provides common business context.
Proposed Change
A minimal change to
atlas_core/daemon/cycle.py(and the same inscripts/first_real_run.py):Adds
ATLAS_VAULT_ROOTS(colon-separated, same convention asPATH) while remaining fully backward-compatible with the existing single-pathATLAS_VAULT_ROOT.Why This Is Low-Effort
VaultExtractoralready does all the work — this is purely a config exposure change. No changes to the core engine, belief graph, or ingestion logic required. Happy to submit a PR if this direction looks good.