Solipsist Native macOS harness for Boris
Project documentation

Roadmap

Solipsist is a harness, not a better compiler and not a Markdown IDE. Boris stays a better Boris: we vendor the binary, file issues, render contracts, and host the surfaces we will not rewrite.

Where we are

M0–M14 shipped as gates; M15–M17 shipped the GitHub source and the boris-content-audit / boris-source-rag / Compose-depth depth. Remaining ship work is Apple-account only.

Track Status
M0–M8 gates ✅ landed
M9 Ship ✅ pipeline + universal bundle (notarized v* + clean-Mac proof are #110/#111, Apple-account only)
P Project subdomain ⛔ withdrawn — this site is Cloudflare Pages
M10 Mail body ✅ Settings, mailboxes, reading pane, hosted Edit, native Compose (#98)
M11 Prove the Mail body ✅ Help audit + test pass
M12 Clone ✅ Add Git Repository… → Local source
M13 Graph folders ✅ trunk mailboxes from graph.parent
M14 Watch contract ✅ A1 --watch-json + letter SSE
M15 GitHub source ✅ OAuth device flow + SourceKind.github
M16 Write the remote ✅ commit / push / PR authoring / issues
M17 Pull Requests mailbox ✅ /pulls list + authoring entry
Polish >200 ✅ >200 batch (reading, problems, chrome, a11y, empties, compose, contracts, git)
Usability / depth ✅ first-run, filter, plan doc, profile 1:1, recipe-scale, Standard.site/Nostr proof

v1 must

  • One-window Mail-grade chrome: Settings for sources, mailboxes, reading pane, inspector drawer, real menus
  • Local source via security-scoped bookmark — the first account, added in Settings
  • Graph as a workable list — trunks, satellites, status, relations — from contracts
  • The publication profile (boris.json) is the single source of truth
  • Coordinator verbs: Plan, Validate, Build, Check, Impact, Stop — each a menu item
  • Diagnostics as a place: clickable reports, not monospaced dumps
  • Engine-owned preview via watch --serve + SSE
  • A hosted editor: boris-editor in a companion window, opened from the selected page
  • A native compose window over that page (⌘⇧C), previewed through Oliver
  • Outputs fan-out: every profile target and edition, isolated, reported
  • A publication console: GitHub Pages, Standard.site, Nostr — secrets on stdin
  • Sandboxed, bundled, pinned engine

v1 must not

  • A frontmatter parser, a graph algorithm, or a homegrown Markdown renderer
  • A Finder clone of the content tree
  • A frontmatter parser or Swift Markdown renderer (Compose paints; Oliver/Boris parse)
  • An app-side HTTP server or file:// preview
  • Cloudflare / Vercel / Netlify as in-app deploy adapters
  • Wasm or compileBundle inside Solipsist — subprocess isolation stays
  • Theme authoring (selection only)

The north star

Open a folder of Boris content → it is a source in Settings → it appears as an account with mailboxes → the reading place shows the graph as messages and a pane for the selected page → the drawer shows the profile and that page → Plan / Validate / Build surface every diagnostic → Preview reloads through watch --serve → Edit opens boris-editor → Compose is the native buffer → Publish runs GitHub Pages evidence, Standard.site, or Nostr with the Proof Pack attached.

This project’s own public face is a Cloudflare subdomain on Boris’s official Worker + Wasm embed host — stood up early, on the Free tier, not as an in-app engine. Full detail lives in the repository ROADMAP.md.