Get the source before running the commands
The inspected source is obsidian-master, including agent_vault/, tests/ and docs/Agent-Vault-Workshop.md. It currently lives in a private repository. There is no public package or portable installer supplied with this guide.
You need an authorised checkout or a source snapshot from the maintainer. Put it at ~/Developer/obsidian-master, or adapt the paths below. If you do not have the source, stop here. Installing Obsidian alone does not install the bridge.
The local retrieval path uses Python's standard library, including SQLite FTS5. Use Python 3.12 for this walkthrough. The code uses POSIX file locking; these are not native Windows instructions.
With Homebrew already installed:
brew install python@3.12Run these path settings in a new terminal. Keep the locations from the earlier lessons, or adapt all three consistently.
export AGENT_VAULT_CODE="$HOME/Developer/obsidian-master"
export AGENT_VAULT_PATH="$HOME/Knowledge/AgentVault"
export AGENT_VAULT_STATE="$HOME/Library/Application Support/AgentVaultGuide"
cd "$AGENT_VAULT_CODE""$(brew --prefix [email protected])/bin/python3.12" -m venv .venv
.venv/bin/python -c 'import sqlite3; c=sqlite3.connect(":memory:"); c.execute("CREATE VIRTUAL TABLE probe USING fts5(text)"); print("SQLite FTS5 available")'
.venv/bin/python -m unittest discover -s tests -vThe FTS5 probe should print its success message. Read the current test result rather than relying on an old test count. The suite uses fixtures; it does not establish the quality of hosted judgments.
Index the vault and retrieve a note
.venv/bin/python -m agent_vault.retrieval \
--vault "$AGENT_VAULT_PATH" --index-only
"$AGENT_VAULT_CODE/.venv/bin/python" -m agent_vault.retrieval \
"What is our recovery rule?" --vault "$AGENT_VAULT_PATH" \
--read-only --budget 800The result should contain your recovery rule and a reference to its source. It is an evidence bundle, not a generated answer. This test does not call a hosted judge.
--read-only queries the existing search snapshot without refreshing it or writing a retrieval report. After editing or adding notes, run the index command again. Normal retrieval without that flag refreshes the index and saves a report. Always pass --vault; this source snapshot has a developer-specific default path.
Prepare capture without enabling hosted judging
mkdir -p "$AGENT_VAULT_STATE/inbox" "$AGENT_VAULT_PATH/System/Dashboard"The dashboard directory must exist before the first capture cycle in this source snapshot.
In a text editor, create config.json inside ~/Library/Application Support/AgentVaultGuide. Use this starting configuration and replace every YOUR_USER with your macOS account folder name. JSON paths must be absolute; this code does not expand ~ or environment variables in the configuration.
{
"vault": "/Users/YOUR_USER/Knowledge/AgentVault",
"sources": "/Users/YOUR_USER/Library/Application Support/AgentVaultGuide/inbox",
"additional_sources": [],
"paused": true,
"idle_seconds": 30,
"batch_calls": 8,
"daily_calls": 1000,
"daily_usd": 1
}.venv/bin/python -m agent_vault.automode baseline --runtime "$AGENT_VAULT_STATE"
.venv/bin/python -m agent_vault.automode status --runtime "$AGENT_VAULT_STATE"Expect paused mode and no captured conversations yet. The inbox is empty. The next guides point capture at sources you explicitly choose.
paused: true stops automatic judging, not capture. Baseline mode copies existing history without sending it for judging. A later tick captures new records and refreshes search while judging remains paused. This is local archival work, not a stop command for Codex, Claude or Pi.
