Atelier Studio v1.3.0
Atelier Studio 1.3.0
Atelier Studio 1.3 is a substantial platform and reliability release. It moves the desktop app to a Rust-first local agent runtime, establishes a shared protocol for desktop and companion clients, adds the first complete mobile and remote-access foundations, and delivers a broad refinement pass across chat, the scientific gallery, editors, project navigation, accessibility, and release engineering.
Highlights
- The Rust sidecar is now the default desktop backend, with the Node backend retained as a compatibility and soak fallback.
- Claude, Codex, Grok, OpenCode, OpenAI-compatible APIs, and image-generation providers are represented by the unified runtime and protocol layer.
- A shared
atelier-protocolpackage and deterministic fixtures now cover desktop, Rust, and mobile event semantics. - The new remote gateway provides authenticated device pairing, scoped access, replay protection, and a foundation for secure companion connections.
- The iOS companion foundation includes project and thread browsing, streaming chat state, composer flows, reconnect handling, protocol tests, and native Tauri packaging.
- The desktop workspace received a full “Precision Native” refinement pass with clearer hierarchy, calmer motion, improved accessibility, and responsive layouts.
Rust-first agent runtime
- Added the Rust protocol, health endpoint, WebSocket transport, persistent stores, and provider registry.
- Added durable thread, history, highlight, settings, workspace, terminal, Git, Zotero, and local-file operations.
- Added a common provider harness with deterministic fake-provider coverage for send, queue, steer, interrupt, permission, and completion flows.
- Added Claude CLI
stream-jsonsupport and Codex app-server JSON-RPC support. - Added Grok, OpenCode, OpenAI-compatible API, and Seedream image-provider paths.
- Added provider health reporting based on the live Rust runtime rather than static configuration.
- Added release-only soak tooling, PID isolation, orphan detection, backend-policy checks, and restart guardrails.
- Kept the Node runtime available while the Rust backend completes its production soak period.
Remote access and mobile companion
- Added the
atelier-remoteRust crate and desktop remote-gateway lifecycle integration. - Added authenticated pairing, device records, token handling, replay protection, rate limits, and security tests.
- Added remote project, thread, event, attachment, and command routes.
- Added a shared TypeScript protocol package with fixtures and parity tests against the Rust implementation.
- Added the Atelier Companion application foundation for iOS, including navigation, chat state, streaming updates, reconnection, and mobile-focused UI tokens.
- Added mobile build staging, secret scanning, type checks, tests, and static assets to the desktop bundle pipeline.
- Added documentation for mobile architecture, threat modeling, protocol contracts, and release readiness.
Chat and workspace experience
- Added a structured activity timeline, clearer request/result anatomy, and compact result capsules.
- Improved completed-turn folding, tool summaries, streaming recovery, sticky auto-scroll, and interrupted-response cleanup.
- Added a hierarchical composer with effort controls, keyboard-friendly menus, attachment handling, and one clear primary action.
- Added persistent per-project provider, model, and effort selection.
- Added goal controls in the composer, including edit, pause, resume, stop, and blocked-goal recovery.
- Added durable highlights and a notebook-style highlight view.
- Added project-aware thread movement and provider handoff with full-context replay.
- Added Mermaid rendering, improved Markdown typography, task lists, and clickable file references.
- Added the Research Home, active-project Research Navigator, workspace-local headers, inspectors, and improved project switching.
- Added browser, terminal, Git, bibliography, generator, settings, and Atelier surface lazy loading with retry protection.
Scientific gallery and editors
- Added the scientific gallery command bar, grouped filters, active-filter chips, selection, inspector, workflow states, recent items, and health tools.
- Added durable favorites, ratings, tags, collections, hidden rules, and workflow state through project-owned
.fig_state.jsonfiles. - Fixed favorites appearing to disappear after restart when their file format was hidden; Favorite view now overrides the general format mask without changing normal filters.
- Added live gallery refresh and stale-server identity checks to prevent old gallery bundles from surviving app rebuilds.
- Migrated editor surfaces toward CodeMirror 6 while preserving the shared compatibility facade and diff contracts.
- Added asynchronous large-diff rendering, background gutter computation, explicit intervention history, durable restore, and safer reconciliation.
- Added LaTeX comments with colors, batch actions, chat transfer, source/PDF synchronization, editor-only mode, and improved error states.
- Reduced the line-number gutter width in both CodeMirror 6 and fallback editor modes.
- Fixed the Wrap menu so it chooses the visible side of the status bar and remains clamped inside the editor viewport.
- Refined the SVG editor with zoom, pan, inline text editing, typography controls, shape styling, durable anchored edits, and Matplotlib-friendly replay.
Command palette and interface polish
- Redesigned the command palette as a smaller, denser navigation surface with a restrained active-item indicator.
- Removed the oversized orange input outline and replaced it with a contained focus treatment.
- Prevented the top-bar Search control from retaining mouse focus after opening the palette while preserving keyboard accessibility.
- Added graphite theme tokens, bundled Inter and Monaspace typography, quieter depth, and a reduced motion budget.
- Simplified project and chat headers, moved workspace actions to their owning surfaces, and removed redundant controls and status badges.
- Added accessible settings navigation, responsive settings layouts, destructive-action confirmations, keyboard focus states, and deterministic visual fixtures.
Reliability, security, and distribution
- Embedded a pinned Node.js 22.22.3 runtime for packaged gallery and compatibility services.
- Added strict local-origin controls, gallery tokens, nonce propagation, safe path handling, and protocol boundary tests.
- Added sidecar startup backoff, single-instance protection, stale-lock recovery, and health convergence checks.
- Prevented runtime writes inside the signed
.appbundle, avoiding macOS TCC startup stalls. - Added a stable development signing identity path and documented first-launch TCC behavior.
- Added CI coverage for frontend, sidecar, gallery, Rust, shared protocol, mobile, and gallery browser tests.
- Added a tag-driven Apple Silicon release workflow that creates a draft GitHub release and verifies the embedded Node artifact.
Validation coverage
The repository now exposes a unified verification surface covering:
- TypeScript type checking and production Vite builds.
- Frontend and sidecar unit/integration suites.
- Python gallery regression tests, Node/Python route parity, and diff-suite contracts.
- Rust desktop and workspace tests.
- Shared protocol fixtures and desktop/mobile parity tests.
- Mobile type checking, tests, production build, and secret scanning.
- Gallery Playwright end-to-end tests in the release workflow.
- Release bundle construction and embedded Node architecture/version checks.
Upgrade notes
- Existing project-owned gallery state remains compatible. Favorites, ratings, tags, collections, hidden rules, and workflow state continue to load from
.fig_state.json. - The Rust sidecar is the default backend. Set
ATELIER_BACKEND=nodeonly when explicitly testing the compatibility fallback. - Gallery servers are project-scoped and must be restarted when changing bundled gallery code. Follow the repository relaunch protocol to avoid stale processes.
- The remote gateway and mobile companion are foundations for controlled local/remote use; review the mobile threat model and deployment documentation before exposing any service beyond the trusted configuration.
Platform and prerequisites
- macOS on Apple Silicon.
- Claude Code CLI 2.1.139 or newer for Claude sessions.
- Codex CLI for Codex sessions.
- Node.js and the gallery runtime are bundled in the packaged desktop app.
If Gatekeeper blocks an unsigned downloaded build, run:
xattr -cr "/Applications/Atelier.app"