# Synthetic Filesystem Overlay

> Mount every enterprise data source (Slack, Notion, GitHub, Drive) under a unified Unix-like path tree — the agent navigates with `list`, `find`, `cat`, `search` instead of learning a new API per source.

- **Category**: Agentic AI
- **Subcategory**: Tool Use & Environment
- **Canonical URL**: https://designpattern.fyi/patterns/synthetic_filesystem_overlay/

---

## Description
**Intent**: Give the agent one consistent mental model for all data sources so cross-source tasks are path concatenation, not ID translation.

**Context**: Your enterprise agent reads across Notion, Slack, Google Drive, GitHub, Linear, Jira, email, and internal databases. Each has its own auth, pagination, search dialect, and result shape. Cross-source tasks (Slack thread + linked Notion doc + related PR) are the norm.

**Solution**: Mount each connector under a deterministic path: `/slack/<workspace>/<channel>/<date>/<message>.md`, `/notion/<workspace>/<page-path>.md`, `/github/<org>/<repo>/...`. Expose five primitives: `list` (enumerate children), `find` (path-pattern matching), `cat` (fetch a node's content), `search` (full-text, optionally scoped), `locate_in_tree` (resolve an opaque ID to its path). Nodes are virtual until `cat` — lazy hydration bounds per-call cost.


## Use Cases
- Agent must read across many heterogeneous enterprise data sources.
- Cross-source joins are common and ID translation between sources is painful.
- Tool count is climbing past what the model handles cleanly.
- Source data is mostly tree- or document-shaped.





## Trade-offs


### Advantages

- One mental model across all sources — new connectors add a subtree, not a new API vocabulary.

- Reuses the model's filesystem priors instead of training new tool affordances.

- Cross-source traversal becomes path concatenation rather than ID translation.

- Small primitive set keeps the tool surface tiny even as data grows.




### Considerations & Drawbacks

- Graph-heavy or time-series data doesn't map cleanly to trees — must be flattened or hidden.

- Path stability is a contract — upstream renames break agent memory of paths.

- Unified namespace must still enforce per-source ACLs, which differ per connector.

- Listing very large directories needs careful pagination defaults.







---
**Reference**: [Original Source](https://www.agentpatternscatalog.org/patterns/synthetic-filesystem-overlay/)

