Research Projects

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

Live site ↗ Source repository ↗

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

  1. 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.

    Jul 2026 Mixed
  • agent-os
  • rust
  • obsidian-vault
  • dspy