Vault Connection — Whole-Vault Indexing
Optionally index your entire connected Obsidian vault (minus an exclude list) so out-of-path notes become searchable, with writes outside the configured path gated behind explicit per-edit confirmation.
By default, the Obsidian↔BlackOps connection is path-scoped: BlackOps only reads and writes notes under the folder you configured for a vault target. Anything outside that folder is invisible — you can't search it, reference it, or surface it, even when it's exactly the note you need.
Whole-vault indexing is an opt-in layer on top of that default. Turn it on for a vault target and BlackOps indexes every markdown note in the connected repository — except the folders you exclude — so the whole vault becomes discoverable. Your path-scoped writes stay exactly as they were.
How it works
A vault target with no optional features enabled behaves exactly as it always has: path-scoped read and write, zero change. Whole-vault indexing adds three capabilities, each off by default.
Whole-vault read & index
When enabled, BlackOps walks the entire connected repo and indexes each markdown note — its title, metadata, and full text — into your searchable note store. From then on those notes turn up in note search alongside your path-scoped notes, even if whole-vault read is the only thing you've granted.
Indexing is incremental: after the first pass, only files whose contents changed are re-read. Binary and attachment files are never indexed — only markdown.
After the first pass, the index keeps itself current automatically: every push to the connected repository triggers an incremental index pass through the existing GitHub sync webhook, so notes you add, edit, or delete anywhere in the vault flow into BlackOps without a manual reindex. The manual Reindex now button and the reindex_vault tool remain available for an on-demand pass.
Exclude list (exclusion wins)
Enabling whole-vault indexing and choosing excluded folders is one action. You select the folders to leave out in the same step that you turn the feature on, and nothing is indexed until you confirm that exclude list — even when the list is empty. Exclusions are a precondition for indexing, not a filter applied afterward.
Excluded folders are omitted from indexing and access entirely. Exclusion takes precedence over everything else: a folder on the exclude list is never read, even if it sits inside your configured path or would otherwise be picked up by whole-vault read.
Gated out-of-path writes
Reading the whole vault doesn't mean BlackOps can quietly rewrite any of it. A note whose file lives outside your configured path can be updated, but only with explicit per-edit confirmation. No write to an out-of-path location ever proceeds silently — the edit is blocked and reported back until you confirm that specific write. Confirmation is per edit, not a standing grant, because the location was never pre-authorized.
Usage
Enable it (web app)
- Go to Settings → Repo Targets.
- On the target you want to open up, expand Whole-vault indexing.
- Enter the folders to exclude — one repo-relative folder per line (e.g.
private,journal/personal). - Click Enable & index. BlackOps saves the toggle and exclude list together, then runs the first index pass and reports how many notes were indexed.
Once enabled you can Reindex now at any time, edit and Save exclusions, or Disable whole-vault indexing to return the target to path-scoped behavior.
Reindex via MCP
Trigger an incremental index pass with the reindex_vault tool:
reindex_vault({ id: "<vault-target-id>" })
Get target ids from get_repo_targets. The call is a no-op for path-scoped targets (it returns status: "disabled"); for an enabled target it returns how many notes were newly indexed, reused, and removed.
Confirming an out-of-path write
When you update a note whose file lives outside the configured path, the note record updates but the vault write is held back:
patch_notes({ id: "<note>", content_markdown: "..." })
// → sync.status: "blocked", reason: "out_of_path_confirmation_required"
Re-issue the same edit with confirmation to let the write through:
patch_notes({ id: "<note>", content_markdown: "...", confirm_out_of_path_write: true })
Configuration
| Setting | Default | Effect | | --- | --- | --- | | Whole-vault indexing | Off | When on, indexes the entire repo minus excluded folders. | | Excluded folders | (empty) | Repo-relative folders omitted from indexing and access. Exclusion wins. |