Project
Sansara
A vault-native autonomous agent OS: an Obsidian wiki is the world model, a deterministic Rust phase-graph runtime does the work, and the model only ever runs inside graph nodes.
Status Active
Sansara
Can an autonomous agent OS keep a flat Obsidian-style wiki as the sole durable world model — Markdown and JSON only, versioned through git — while a deterministic runtime maintains that universe through reflect → plan → act → learn? Plans persist as phase graphs; execution is replayable through node-level input-hash caching; the language model runs only inside graph nodes, never as the outer loop. Cognition is dspy-rs programs gated by PEEK relevance scoring, with in-loop optimizers whose reward blends patch acceptance and judge-scored quality.
Safety and self-study are part of the research surface, not afterthoughts. An adversarial pass fixed two critical write-anywhere path-traversal holes before wider shipping. Self-maintenance experiments measured and then eliminated roughly 70 GiB of accumulated build bloat, with the measurements kept as research notes. The P0/P1 runtime spine landed cargo-green with a persisted plan.json, SQLite-WAL runs ledger, bounded replanning, and 152 unit tests after replacing the embedded Pi runtime with vendored NCA.
Sansara also hosts the council layer: Geist coordinates a shared operating loop with a sibling persona and a memory bot, writing durable outcomes to long-term memory rather than chat threads. Architecture decisions and findings publish here as they stabilize; the source tree, vault instance, and live agent credentials remain private. The public surface is this research page and its reports.
Architecture
Vault work flow (inbox → process → PEEK → quality loop):
flowchart LR
subgraph intake["Intake"]
SUBMIT["submit / ask"]
INBOX["inbox"]
QUEUE["queue"]
end
subgraph act["Act"]
PROC["process / daemon"]
WS["workspace"]
RUN["runtime + dspy-rs"]
OUT["outputs / patches"]
end
subgraph memory["Working memory"]
PEEK["peek gate"]
MAP["context map"]
end
subgraph quality["Quality"]
JUDGE["judge"]
LEARN["learn"]
HEAL["heal"]
end
SUBMIT --> INBOX --> QUEUE --> PROC --> WS --> RUN --> OUT
RUN --> PEEK --> MAP
OUT --> JUDGE
LEARN --> MAP
HEAL --> INBOX
Runtime layers (shell orchestrates; model runs only inside nodes):
flowchart TB
subgraph hosts["Hosts"]
CLI["CLI / REPL"]
MCP["Cursor / Claude / Codex MCP"]
end
subgraph shell["Rust shell"]
ORCH["inbox · queue · plan executor"]
COG["cognition + PEEK"]
end
subgraph vault["Vault world model"]
WIKI["markdown + JSON wiki"]
BRIEFS["briefs · agents · programs"]
end
subgraph engine["Act engine"]
RT["sansara-runtime"]
DSPY["dspy-rs programs"]
end
CLI --> ORCH
MCP --> ORCH
ORCH --> WIKI
ORCH --> BRIEFS
ORCH --> COG
COG --> DSPY --> RT
COG --> WIKI Reports
- Report
Sansara Operating Surface
Vault-as-universe agent OS with a Rust phase-graph runtime: 70 GiB bloat cut, 152 tests, path-traversal hardening, and a council layer shared with Geist.