Skip to content

End-to-End Manual Test Procedure

Scope: This document covers manual end-to-end verification — a human runs through the steps, watches the watcher fire, and checks the vault/LanceDB. For automated test plans (agent/HITL personas, regression suite, smoke test), see TESTING.md. For a guided, checkpointed walkthrough that you can paste into a fresh pi session, see WALKTHROUGH_PROMPT.md.

This document describes how to manually verify the full pi-vault-mind pipeline: file change → watcher detection → subagent dispatch → results in LanceDB + Vault.

Prerequisites

  • pi-vault-mind installed: pi install npm:pi-vault-mind
  • pi-subagents installed: pi install npm:pi-subagents
  • pi-context installed (recommended): pi install npm:pi-context
  • An Obsidian vault at a known path (e.g., ~/Obsidian/TestVault)
  • Global config at ~/.pi/agent/pi-vault-mind.config.json with vault path configured

Setup

1. Global config

cat > ~/.pi/agent/pi-vault-mind.config.json << 'EOF'
{
  "wiki": {
    "embedding": { "provider": "transformers" },
    "graph": { "enabled": true, "canvasSync": true },
    "vaults": {
      "default": { "path": "/home/YOU/Obsidian/TestVault" }
    }
  }
}
EOF

2. Project config

mkdir -p ~/projects/wiki-e2e-test
cd ~/projects/wiki-e2e-test

Start pi:

pi

Inside pi:

/wiki init
/wiki validate
/wiki watcher start
/wiki watcher status    # should show RUNNING with 1 vault

Test 1: @agent-miner — Entity Extraction

Step 1: Create a test note in Obsidian

Create ~/Obsidian/TestVault/Notes/rlhf-research.md:

# RLHF Research Notes

@agent-miner Extract key technical claims and build entity relationships

Reinforcement Learning from Human Feedback (RLHF) uses Proximal Policy
Optimization (PPO) to fine-tune large language models. The process involves
training a reward model on pairwise human preference data, then using that
reward signal to guide policy updates.

Key insight: RLHF reduces harmful outputs by 63% compared to supervised
fine-tuning alone, according to the InstructGPT paper (Ouyang et al., 2022).

Step 2: Save the file

Save in Obsidian. Within 1 second, the watcher should detect the change.

Step 3: Verify detection

In pi terminal:

/wiki watcher status

Should show a dispatch record like:

dispatch-miner-1717700000-a1b2c3 → vault-mind-miner (Notes/rlhf-research.md)

Step 4: Verify dispatch

The Manager agent should receive the dispatch message and fork a vault-mind-miner subagent. Look for subagent activity in the pi terminal.

Step 5: Verify results

After the subagent completes (typically 10-30 seconds):

In Obsidian: - The @agent-miner line should be replaced with <!-- pi-dispatch:miner-{id} --> - New files in Vault/Agent/Inbox/ (dated markdown with extracted facts)

In LanceDB:

wiki_search(query="RLHF training process")
wiki_graph_query(entity="RLHF", depth=2)

In the source note:

/wiki watcher status    # dispatch should show results

If writeback worked, the dispatch comment should be replaced with:

> Extracted 3 entities (RLHF, PPO, Reward Model) and 2 relationships.
> Stored in LanceDB. See [[Agent/Inbox/2026-06-06-rlhf-research]].

Test 2: @agent-broadcaster — Podcast Generation

Step 1: Create a test note

Create ~/Obsidian/TestVault/Notes/q2-review.md:

# Q2 Review Notes

@agent-broadcaster Generate a study guide from these meeting notes

## Decisions
- Migrate auth service to OAuth 2.0 by end of Q3
- Budget approved for 3 new backend engineers
- Adopt event-driven architecture using Kafka

## Risks
- Kafka operational expertise gap on team
- OAuth migration may affect 3rd-party integrations

Step 2: Save and verify

Save → watcher detects → broadcaster subagent forks → study guide generated.

Expected results: - Study guide appears in Vault/Agent/Presentations/ - Dispatch marker replaced with summary

Test 3: Multiple Markers (Grouping)

Step 1: Create note with multiple markers

# Architecture Review

@agent-miner Extract architecture decisions as entity-relation pairs

@agent-manager Review these decisions against existing knowledge

We're proposing to replace the monolithic API with microservices.
The service mesh will use Istio for traffic management.
Each service gets its own PostgreSQL instance.

Step 2: Save and verify

Two separate subagents should dispatch: - vault-mind-miner: extracts entities (Istio, PostgreSQL, microservices) - vault-mind-manager: reviews against LanceDB knowledge graph

Step 3: Check grouping

/wiki watcher status

Should show 2 dispatch records (one per role).

Test 4: Named IDs (Isolation)

@agent-miner:security Audit the OAuth flow for vulnerabilities
@agent-miner:metrics Calculate system latency from logs

Two separate miner subagents dispatch, each in its own isolated forked context.

Debugging

Symptom Check
Watcher not detecting /wiki watcher status — is it RUNNING? Is the vault path correct?
No dispatch records Is the file in the vault directory? Are ignore dirs blocking it?
Subagent not starting Is pi-subagents installed? pi install npm:pi-subagents
No LanceDB results wiki_status — are tables created? Try append_wiki manually first
Writeback not happening Subagent may have failed silently. Check dispatch record in status