Federation Configuration
Federation
Federation connects multiple Synapses-indexed projects for cross-project queries. Essential for monorepos and microservice architectures.
{ "federation": [ { "path": "../shared-lib", "alias": "shared" }, { "path": "../api-gateway", "alias": "gateway" } ]}Federation Entry Fields
| Field | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Relative or absolute path to sibling project |
alias | string | Yes | Short name used in cross-project queries |
Linked Projects
The linked field merges another project’s graph directly into this project’s graph:
{ "linked": ["../shared-types"]}Linked projects are read-only — their nodes and edges appear in your graph but can’t be modified.
Federation ACL
Control what data sibling projects can read:
{ "federation_acl": { "allow_reads": true, "allow_memory_reads": false, "allowed_projects": ["shared", "gateway"] }}Cross-Project Queries
Once configured, many tools support a projects parameter:
get_context(entity="ValidateToken", projects="shared,gateway")get_impact(entity="AuthMiddleware", projects="*")memory(action="search", query="auth changes", projects="shared")How It Works
- Fail-open: Federation errors are logged, never propagated — your project works even if siblings are down
- Lazy loading: Sibling stores opened on first access, cached for session lifetime
- Stale threshold: Siblings not indexed in 24 hours are marked stale
- Parallelism: Up to 8 concurrent queries against siblings
- Timeout: 10 seconds per sibling query
- Drift detection: Automatically detects when cross-project dependencies change (signature changes, removals)