Solipsist Native macOS harness for Boris

Native macOS workstation

Solipsist

Radio UserLand’s job in Mail’s body.

Solipsist is a native macOS workstation for Boris, the deterministic Zig graph-native publication compiler. Open a folder of Boris content, and the whole publishing loop — sources, graph, plan, build, preview, publish — lives in one Mail-grade window, driven by the compiler’s real contracts, never by a rewrite.

What Solipsist gives you

Mail-grade chrome

Sources in Settings, mailboxes on the left, a reading pane in the middle, the inspector drawer on the right — one window, real menus, real keyboard.

Subprocess isolation

Boris runs as an isolated subprocess. Compiler semantics are never reimplemented in Swift; the JSON contracts are the single source of truth.

Companion windows

Live preview powered by watch --serve and editing hosted in boris-editor — native shells around the engine’s own surfaces.

First-class verbs

Plan, Validate, Build, Check, Impact, and Stop are menu items, not terminal incantations — with diagnostics surfaced as a place, not a dump.

A harness, not a rewrite

Boris is not a Markdown-to-HTML converter. It is a compiler: Markdown (or Textile, or Cooklang) in, a validated Trunk/Satellite content graph, deterministic contracted projections out. Solipsist never touches the compiler — it vendors the binary, renders the contracts, and hosts the surfaces the project will not rewrite. The non-negotiables that keep that boundary honest live in the Mission.

Explore the project

  • Mission — why a native desktop citizen at all, and the five non-negotiables that keep the boundary honest.
  • Architecture — Swift 6 / SwiftUI chassis, the spatial model, and engine integration.
  • Roadmap — where we are, what v1 must (and must not) be, and the north star.
  • Dogfooding — the Stunts: tiny Boris trees the app opens, inspects, and diagnoses.

The code is open on GitHub. This site itself is a Boris publication — compiled by the very engine the app harnesses, and deployed to Cloudflare Pages.