Download

Local-first. No account required.

Noema

Think in atoms, not threads. Navigate AI responses on a spatial canvas.

v1.0.4

Companion browser extension

Noema Extractor

Extract any article or page from your browser and send it straight to the Noema canvas. Now available for Chrome and Firefox.

Chrome Web Store → Firefox Add-ons →
Windows SmartScreen warning on first launch

Because Noema is a new app without an extended validation certificate yet, Windows may show a “Windows protected your PC” screen when you run the installer. This is expected and does not indicate a problem with the file.

  1. Click More info in the SmartScreen dialog.
  2. Click Run anyway.

The installer is built and signed by lightweb.it. If you prefer to verify the file before running it, the SHA-256 checksum is published in the changelog.

 

Pragma Symphony

Claude Code observer. Color-coded atoms. See your sessions, not your scroll.

v1.1.1

The line under active development. Sessions are grouped into projects, Claude Code can run on Sonnet, Opus, or Fable, and Pragma can draw on a Lexis server for the memory of earlier work. Free to use; the source is no longer published.

Windows SmartScreen warning on first launch

Because Pragma Symphony is a new app without an extended validation certificate yet, Windows may show a “Windows protected your PC” screen when you run the installer. This is expected and does not indicate a problem with the file.

  1. Click More info in the SmartScreen dialog.
  2. Click Run anyway.

The installer is built by lightweb.it. Claude Code must be installed separately — Pragma drives it, it does not replace it.

Pragma — open source

The MIT-licensed line. Same foundation, without the features added in Symphony.

MIT

Pragma began as an open-source project and the code stays public under the MIT licence. Development now continues in Pragma Symphony, so this line does not track it: Projects, the Lexis integration, the Fable model, and Morphē handoffs are only in Symphony. Use it if you want the source, or want to fork it.

Source and binaries for v0.1.0 — free to use, forever. View on GitHub →

Changelog

Full release history for each product.

Noema

Atom canvas — spatial AI interface

v1.0.4

patch
Fixed
  • Browser extension pairing hardened for GDPR compliance — the hardcoded shared secret used by the extension to talk to the desktop app (readable inside the published extension code) is replaced with a per-install token generated on first launch and stored in the OS keychain; the local endpoint's CORS policy is also restricted to browser-extension origins only, so no arbitrary web page can read the token or reach the endpoint

v1.0.3

patch
Fixed
  • License activation no longer fails with a "server unreachable" error in the installed app — license API calls now go through the native HTTP layer instead of the in-app webview, so they are not blocked by cross-origin (CORS) restrictions

v1.0.2

patch
Changed
  • Export dialog — the format picker is now an inline DOCX / PDF toggle instead of a dropdown, matching the syntactic/semantic selector style

v1.0.1

patch
Added
  • Clock-rollback protection — a signed high-water timestamp in the OS keychain detects when the system clock is set backwards to extend a trial or grace period offline
  • Token budget warning banner — shown when the input bar is hidden (e.g. extension sessions) so the 80%+ budget alert is always visible
Fixed
  • Session import now validates the file shape (JSON, session, atoms, links) before writing to the database — malformed or untrusted .noema.json files are rejected instead of imported
  • AI requests now have a 120s timeout so a stalled connection no longer hangs the parse indefinitely
Changed
  • Faster session saves — atoms are persisted in chunked multi-row inserts and bulk deletes, instead of one query per atom

v1.0.0

major
Added
  • Spatial atom canvas — AI responses decomposed into interactive cards arranged by hierarchy
  • Three AI connectors: Claude (Sonnet), OpenAI (GPT-4o), Google (Gemini 2.0 Flash)
  • Local Ollama connector for fully offline operation
  • Atom parser: syntactic mode (zero-AI, HTML-based) and semantic mode (Claude Haiku, strict JSON)
  • Noise filter — strips intro/outro/filler atoms before they reach the canvas
  • Session persistence via SQLite — all data stays on your machine
  • SKIA link system — draw transversal connections between any two atoms in a session
  • Clipboard — copy and paste atom subtrees; accumulate multiple entries
  • Undo/Redo (Ctrl+Z / Ctrl+Shift+Z) with full canvas state snapshots
  • Drag single atom or Shift+drag to move an entire subtree as a rigid group
  • Zoom toward cursor, pan, fit-view (⊡ button or double-click)
  • Deep parse — expand any atom on demand into a second layer of structure
  • Atom color palette with depth-decay propagation to children
  • Insert operations: above, child, intercalate between atom and its children
  • Delete with chain preservation (re-parent) or full subtree removal
  • Session import/export as .noema.json
  • Browser extension (Chrome) — extract any web page to the canvas via localhost:11420
  • Head mode — focus on an atom and its subtree; breadcrumb shows the ancestor chain
  • Collapse toggle on atoms with children
  • License system — perpetual license, 14-day trial, 1-year updates included

Pragma Symphony

Claude Code observer — projects, Lexis memory, color-coded atoms

v1.1.1

patch
Fixed
  • The legal links in the application footer now point to the Pragma Symphony terms and privacy pages, instead of the pages of the earlier MIT-licensed Pragma

v1.1.0

minor
Added
  • Projects — every session now belongs to a project (title, working directory, colour, optional Morphē reference). The session list, the full-text search, and export are scoped to the project you are in
  • Lexis integration, optional and off by default — when you enable it in Settings, Pragma asks a Lexis server for the context of earlier work before a run and sends the finished session back to it. Failed deliveries are retried from a queue. The server URL, the timeout, and a health check live in the Settings panel
  • Morphē handoff detection — a handoff file found in the working directory is offered as a ready-made prompt
  • Fable model — a third choice next to Sonnet and Opus in the composer's Advanced form. When a plan runs longer than five steps, the plan card proposes both Opus and Fable
  • Configurable model ids — the models key in ~/.pragma/settings.json maps each name in the interface to the id passed to Claude Code, so a new model can be adopted without waiting for a new build
Fixed
  • pragma run (the command-line entry point) no longer fails after the database migration: sessions started from the command line are recorded under a dedicated CLI project, created the first time it is needed
Changed
  • Opus now resolves to Claude Opus 4.8 (previously Opus 4.7)
  • The application is renamed from Pragma to Pragma Symphony, and is proprietary from this version on. The bundle identifier, the crate names, and the ~/.pragma data directory are unchanged, so an existing installation upgrades in place and keeps its sessions. The earlier open-source line stays available under the MIT licence on GitHub

Pragma — open source

Claude Code observer — the open-source line

v0.1.0

minor
Added
  • Pragma protocol: structured session phases — Analysis, Questions, Plan, Step, Report, Tests, Closing
  • Typed atom stream: FileTouch, Diff, ToolUse, Error, AgentNote, UserReply, PragmaEvent
  • Three-panel layout: session list (left), phase cards (center), atom stream (right)
  • Phase cards: AnalysisCard, QuestionsCard, PlanCard, TestsCard, ReportCard, ClosingCard — collapsible with CSS grid animation
  • Resizable panels (drag handle) with persistent widths via localStorage
  • Dark / light theme toggle, persisted across sessions
  • Focus mode — filters noise, shows only structured Pragma events
  • Live token counter in header during active session
  • Multi-turn sessions with --resume / --session-id
  • Session title auto-set from first prompt; editable inline
  • Full-text search across session history (SQLite FTS5)
  • Save, delete, duplicate sessions from the session list
  • Multi-profile support — independent binary path, config dir, and language per profile
  • Default profile (★) selector; model selection per-session: Sonnet (default) or Opus
  • File attachments via picker or drag-and-drop; files passed to Claude via --add-dir
  • Working-directory trust store (~/.pragma/trusted_dirs.json) — explicit approval before first use
  • Export session as JSON or Markdown from UI or CLI (pragma export <session-id>)
  • /usage command — reads Claude Code usage stats with progress bar UI
  • Settings panel (Ctrl+S): binary path, config dir, language, export directory, profiles
  • Auto-detect claude binary on startup
  • Desktop notifications on session completion (permission requested lazily, not at startup)
  • Keyboard shortcuts: Ctrl+Enter submit, Ctrl+S settings, Esc close
  • Binary path validated before spawn — rejects empty paths, traversal attempts, and non-existent paths
  • Session titles and attachment filenames sanitized (control chars stripped, 200-char limit)
  • DB file permissions restricted to owner on first open; working-directory trust required for --dangerously-skip-permissions