Role
Product architecture and retrieval engineering
Ownership
Designed, built, tested, and operated independently
Stack
Python, SQLite FTS5, local embeddings, Markdown, SSH
Status
Operating private tool; generated indexes are rebuildable

Wisdom is a private, closed-corpus knowledge tool for querying my Obsidian notes without letting an answering model blur recorded evidence, personal interpretation, and inference. When the corpus cannot support an answer, the product returns an explicit insufficient-evidence result.

A typical query produces a bounded packet of ranked passages with document role, subject, heading, source path, and line range. A separate counter-search looks for material that could weaken the leading interpretation. The answering agent may synthesize only from that packet and must label personal predictions rather than presenting them as facts.

Evidence is modeled by role

Sources, concepts, arguments, reflections, research, collections, and creative material do not carry the same authority. Factual questions prioritize attributed sources; first-person questions can draw on authored analysis and reflections. Creative and unclassified material stay out unless the query explicitly permits them.

This separation also keeps the knowledge layer distinct from Goose OS, a personal perspective layer that can select relevant behavioral lenses. A useful lens may shape a prediction, but it cannot validate a source or turn an interpretation into neutral evidence.

Retrieval stays inspectable

The local service combines SQLite FTS5, an entity index for proper names, and optional local semantic ranking through reciprocal-rank fusion. Exact names, quotations, and dates remain strong lexical signals. Embeddings are keyed by passage-content hash so unchanged material can survive metadata edits, line shifts, moves, and renames without recomputation.

Confidence gates control the answer boundary: strong subject-verified evidence can support a direct answer; multiple weaker passages permit only bounded synthesis; thematic evidence permits a labeled personal prediction; no adequate evidence produces abstention.

Recoverable operation and evaluation

The query service runs on my home server against synchronized Markdown and is invoked from workstations over SSH. Generated databases and vectors remain outside Obsidian. Incremental updates re-derive affected passages, while full builds install atomically so a failed rebuild leaves the previous completed index available.

A representative question set tests direct quotation, broad concepts, personal questions, counterevidence, neutral retrieval, and creative opt-in. Failures are classified by layer—ingestion, chunking, vocabulary, ranking, deduplication, or synthesis—so evaluation leads to a targeted repair rather than another blanket prompt instruction.

Current limitations

The answering agent still decides whether a counter-result genuinely contradicts the leading claim. Older collections rely partly on path-based role inference, parallel transcripts can repeat material, and vocabulary-based lens routing can miss novel phrasing. The system is a personal local tool, not a hosted product, and the private corpus is not published.

What this demonstrates

  • Product architecture for a private internal knowledge tool with explicit evidence and privacy boundaries
  • Role-aware content modeling and hybrid lexical, entity, and semantic retrieval
  • Incremental indexing, content-addressed vector reuse, atomic rebuilds, and disposable derived state
  • Provenance-first agent integration with citations, counterevidence, confidence gating, and abstention