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-editorin 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
compileBundleinside 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.