Skip to content

Inbox & Auto-Review

FundAdmin AI can automatically classify and review fund documents as soon as they are placed in the Obsidian vault Inbox.

Document Intake Pipeline

How It Works

~/FundAdmin-AI-Vault/Inbox/   ← drop PDF here (or upload via webapp)

mcp-vault-server/watcher.js   ← classifies by filename + magic bytes (~3s, no Claude)

apps/worker/src/inbox-watcher.ts  ← 30-second tick, deduped by filename

/api/review/trigger           ← fires for LPA files not yet reviewed

review-pipeline.ts            ← 5-agent Anthropic SDK pipeline

vault_write_review            ← review .md + .json sidecar in vault

post-review hooks             ← wire, capital, compliance, investor, obligation, performance, reconcile

Classification

The watcher classifies documents without calling Claude — it uses filename patterns and PDF magic-byte content sniffing. Non-fund documents (10-K reports, bank statements, IRS forms) are automatically archived to Archive/_NonFundDocuments/.

The full SDK review pipeline only fires for documents classified as LPA-type files.

Triggering from the Webapp

Uploading via /w/[slug]/upload writes the PDF to ~/FundAdmin-AI-Vault/Inbox/. The inbox watcher picks it up on the next 30-second tick.

The upload API is also accessible directly:

bash
curl -X POST http://localhost:3000/api/upload \
  -H "x-api-key: $UPLOAD_API_KEY" \
  -F "file=@document.pdf"

Requirements: x-api-key header, magic-byte-validated PDF, under 50 MB.

Upload Queue

The upload queue page (/w/[slug]/upload/queue) shows pending inbox items with their classification and review status.

Review Status Lifecycle

new → under-review → action-required → completed → archived

Status is tracked via YAML frontmatter in the review markdown file and mirrored to the Postgres inbox_item table.

Post-Review Hooks

After each review completes, the watcher automatically chains 8 tracking hooks. See MCP Vault Server for the full list.

T1 (skills + CLI) and T2 (vault template) are MIT licensed.