Foundation

Operating model.

Before you download

kvsetup is a fully containerized application that collects, categorizes, and retrieves information stored locally on your own system. You can point it at videos, books, newsletters, and other sources, and you are free to customize it further. The software is provided "as is," without warranties of any kind, express or implied. You download, install, configure, and run it entirely at your own risk. Shourjo Guha accepts no responsibility or liability for any damage, data loss, security issue, or other consequence arising from its use. By downloading, you agree that you alone are responsible for how you use this application.

Disposition matters more than information. I built a four-door personal-OS to prove that pattern holds across very different kinds of evidence — heart-rate variability, macros, options chains, half-finished textbooks.

Use cases

Four doors.

Different kinds of signal — high-frequency vs slow, cheap vs expensive, measurable vs vibes. If one prescription pattern can produce useful next-actions across that spread, the pattern is the asset.

rx
eleven
canonical steps
Zeus
Fitness
Storage · Supabase
UI · Lovable (LIFTLOG)
Athena
Nutrition
Storage · Supabase
UI · None (markdown-only)
Lakshmi
Finance
Storage · Local Postgres
UI · TradingV FastAPI panel
Ganesh
Learning
Storage · Markdown only
UI · None

Hover any door · storage routing locked by decision (D-045)

System

Same eleven steps.

The shape underneath all four doors is what I call rx — a prescription. Pull evidence, compose a recommendation with its counter-thesis, persist it with a stable ID, wait for me to act, snooze, or dismiss. Three primitives are domain-agnostic by design.

7d
Bounded snooze
At two consecutive snoozes the system forces a decision.
∀ rx
Mandatory counter-thesis
No rx ships without an explicit argument for why it might be wrong.
<30%
Action-rate kill-switch
Under 30% means the system is generating noise — paused until inputs are fixed.

The pipeline is eleven canonical steps, identical across all four doors. Drift detection → evidence retrieval → dedup against open rxs (auto under 48h, drift ±0.05) → compose → counter-thesis → persist → a closing Phase W reconciler that walks the markdown record of what I actually did and writes it back. Doing nothing produces no rxs, and doing something produces exactly one.

Optimizations

Technical layer.

Curated corpus, four-layer hybrid retrieval, slash-command CLI on top of Claude Code. The optimizations that make this run, not just exist.

Operator-curated corpus
Vault is hand-picked — newsletters, creators, books, papers I personally vet. Recommendations score against sources I trust, not whatever the web shouts loudest. The corpus shape is a decision, not a default.
Custom MCP 1kb_Shos
Semantic search over the vault, registered globally so every Claude session reaches the same index. Exposes search, bundle, node_chunks, traverse, graph_search, and read-only db_query against finance Postgres.
BAAI bge-large-en-v1.5
1024-d cosine via sqlite-vec. H2-section-aware chunking, 600-token target, 80-token overlap — keeps semantic units intact instead of slicing mid-argument.
Four-layer hybrid retrieval
Vector KNN ∥ BM25 → RRF fusion → ranked-grouped decay (finance only) → graph re-rank (0.6·vector + 0.25·PageRank + 0.15·centrality). Decay opt-in per domain — recency isn't always evidence.
/rx-* slash commands
CLI on top of Claude Code: /rx-fitness, /rx-nutrition, /rx-finance, /rx-learning + history/status/digest variants. Same eleven-step pipeline wrapped around domain-specific drift inputs.
ia-explainer as META artifact
8-page Astro 5 + React Flow site documenting the architecture it doesn't run. Six interactive diagrams. 48-decision ledger pinned. 9-step audit checklist enforced before any change ships.
Fact-to-file-to-source mapping
Every claim on the explainer site has exactly one canonical source file. Updates are re-verification, not rewrite. This is what stops documentation drift from compounding.
Storage routing locked by decision
D-045 fixes which domain writes where. Code review enforces no cross-writes. A finance rx physically cannot touch Supabase.