Workspace RAG Without Indexing Secrets

Semantic search across a 100-project workspace — with a hard line on what never gets embedded.

  • rag
  • firestore
  • ollama
  • security
Workspace RAG hero image — database pipeline and cybernetic network tree in vaporwave style
Workspace RAG: Air-gapped semantic retrieval database pipeline with retro outrun styling.

Why RAG in a workspace this big

When you maintain 100+ project folders, “where did I write that down?” becomes the daily tax. Full-text grep works until it doesn’t — you need semantic recall across READMEs, SOPs, and planning docs. That’s what workspace-rag is for: a Firestore-backed vector index plus a local CLI that queries it with Ollama embeddings.

The catch: not everything belongs in the index.

What goes in — and what stays out

Indexed: project summaries, agent SOPs, planning docs, deploy registries — anything that helps future-you route work.

Never indexed: 03_admin_finance/VAULT/, secrets, credentials, and broad 06_archive/ dumps. If a path can hold API keys or client PII, it stays out of RAG. Same rule as git: when in doubt, exclude.

LayerRole
gnomad-swarm-coreShared agent library — consumed by projects, not deployed as a service
workspace-ragFirestore vectors + local internal/cli.py
Local OllamaEmbedding and ad-hoc queries on the Nobara hub

How I use it day to day

Before a deep grep across the tree, I query RAG. Before opening Cursor on an unfamiliar client folder, I query RAG. The swarm chronicler (QUILL) and doc-gather scripts feed the index after each documentation pass — so June’s deploy-registry work is findable in July without re-reading six READMEs.

What I’d do differently

I’d automate a pre-index lint that fails the job if any VAULT path or .env pattern appears in the manifest. Human discipline scales until it doesn’t — one bad glob and you’ve embedded secrets. Next step: wire that check into project-doc-gather.py before anything hits Firestore.