Atelier Studio v1.3.1
Atelier Studio 1.3.1
Atelier Studio 1.3.1 is a substantial workflow, agent-runtime, and interface release. It builds on the Rust-first foundation introduced in 1.3.0 with scheduled agent automations, a read-only Narval and Slurm monitoring surface, deeper Codex and Claude workflow parity, richer scientific-gallery actions, unified CodeMirror review surfaces, native screenshot context, and a broad shadcn/Base UI refinement across desktop and mobile.
Highlights
- Added persistent scheduled tasks and heartbeat automations with pause, resume, run history, target validation, and Rust-backed execution.
- Added a read-only Narval and Slurm workspace for active jobs, recent runs, remote directories, logs, outputs, and terminal handoff.
- Expanded Codex activity rendering, native command handling, follow-up queues, steering, handoffs, drafts, history recovery, and subagent visibility.
- Added fullscreen Mermaid diagrams with native dialog behavior and an unobtrusive transparent close control.
- Added AppSnap for native window capture and local-image context inside conversations.
- Unified editor and review workflows around CodeMirror 6, including clearer diffs, intervention history, and safer restore behavior.
- Completed a large shadcn/Base UI migration while preserving Atelier's Precision Native tokens, compact geometry, and accessibility contracts.
- Expanded the scientific gallery and mobile companion with stronger file, viewer, pairing, and context-transfer workflows.
Scheduled tasks and automations
- Added a dedicated Scheduled Tasks surface in the desktop rail.
- Added persistent automation records in the Rust store and compatibility support in the Node sidecar.
- Added minute-based heartbeat scheduling, due-run detection, target validation, and active-target protection.
- Added creation, editing, pause, resume, manual-run, and deletion flows with localized states and accessible controls.
- Added execution history and clear status reporting for scheduled agent work.
- Kept automation state project-aware and integrated with the existing thread/runtime model.
Narval and Slurm monitoring
- Added a dedicated Narval surface for research-compute monitoring.
- Added configurable SSH host and gateway aliases, including the supported
nastonarval-vpntwo-hop route. - Added read-only Slurm snapshots using active
squeuejobs and recentsaccthistory. - Added job inspection with state, elapsed time, partition, CPU and memory requests, working directory, command, and pending reason.
- Added bounded log previews and output-file discovery for a selected job.
- Added lazy remote-directory browsing restricted to configured roots.
- Added stale-response protection so older network replies cannot replace a newer selection.
- Added manual refresh, visible-surface polling, disconnected, empty, loading, stale, authentication, and timeout states.
- Added a terminal handoff that opens the matching SSH route in Atelier.
- The Narval integration is intentionally read-only: it does not submit, cancel, edit, move, or delete remote jobs or files.
Agent chat and runtime
- Aligned the chat activity stream with Codex event semantics, including stable running/completed lifecycles for commands, searches, image operations, dynamic tools, and subagents.
- Added richer agent and subagent activity groups with inspectable details without overwhelming the primary transcript.
- Improved queued follow-up turns, steering, interruption, retry, rewind, provider handoff, and fork behavior.
- Added durable per-thread drafts and safer restoration when switching conversations.
- Ported more native Codex commands into the Rust runtime, including permission, model, plan, usage, diff, status, review, compaction, and goal-related paths where supported.
- Improved Codex and Claude model defaults and per-thread selection persistence.
- Added semantic automatic chat titles while protecting explicit manual renames.
- Added richer native-history recovery for Codex and Grok sessions.
- Improved provider status reporting and normalized event handling across the Rust and Node runtimes.
- Added direct terminal-output publication without requiring a follow-up WebSocket poll.
- Improved tool presentation, completed-turn anatomy, result capsules, and file-change summaries.
Rich responses and visual context
- Added fullscreen Mermaid diagrams that reuse the already-rendered SVG, close with Escape, and preserve the inline diagram.
- Added AppSnap, a native macOS helper for capturing application windows as conversation context.
- Added local-image previews and structured image-view activity.
- Improved Markdown typography, syntax highlighting, tables, task lists, math, and long-response layout.
- Added clearer image-generation, web-search, and attachment activity states.
- Refined message editing so the editor preserves the original bubble typography and expands without scaling the text.
Scientific gallery and project actions
- Added a stronger gallery command bridge between agent actions, the desktop shell, and project-scoped gallery servers.
- Added explicit gallery actions for opening, selecting, inspecting, annotating, and returning artifacts to chat.
- Added gallery-aware agent tool instructions and bundled helper CLIs.
- Added CSV table viewing and expanded file-type handling.
- Improved favorites, filters, collections, status state, live rescans, and recent-artifact behavior.
- Improved gallery server identity and stale-instance handling across rebuilds.
- Refined image, PDF, SVG, Markdown, LaTeX, and code-viewer integration.
- Expanded Zotero passage extraction and context transfer with bounded, explicit tool contracts.
Editors, diffs, and review
- Unified review and intervention surfaces around CodeMirror 6.
- Improved side-by-side and inline diff rendering, change navigation, background computation, and large-file behavior.
- Added clearer intervention history, restoration, reconciliation, and review-state presentation.
- Improved Git status, staging, diff, commit-context, and project-subdirectory handling.
- Refined LaTeX, Markdown, code, PDF, and SVG workflows while preserving source-to-output context.
- Improved SVG text editing, zoom, pan, typography, shape styling, and durable edit replay.
- Added safer path and revision validation across gallery and workspace operations.
Interface and design system
- Migrated the authored interface to a comprehensive shadcn/Base UI component layer.
- Added or standardized dialogs, alerts, fields, menus, tabs, tables, scroll areas, inputs, toggles, tooltips, badges, empty states, skeletons, messages, bubbles, attachments, and activity primitives.
- Preserved Atelier's compact Precision Native geometry, semantic colors, motion budget, focus behavior, and Tailwind prefix.
- Refined the command palette, sidebar, project headers, composer, settings, Git surface, terminal, and embedded atelier layouts.
- Improved responsive behavior, keyboard navigation, accessible names, focus management, and reduced-motion behavior.
- Added stronger UI contracts and visual fixtures to prevent legacy primitives from reappearing.
Desktop, mobile, and remote access
- Expanded the mobile companion gallery, file viewers, syntax highlighting, settings, diagnostics, and pairing experience.
- Improved remote gateway file routes, scoped authorization, replay handling, and security tests.
- Improved desktop/mobile protocol parity and shared fixtures.
- Added stronger local-image, attachment, and file-transfer boundaries.
- Refined mobile build staging and packaged desktop resources.
Reliability, security, and release engineering
- Strengthened Rust and Node parity for chat, automations, gallery actions, Narval requests, and provider events.
- Improved process lifecycle, stale-lock recovery, gallery-server cleanup, and backend health reporting.
- Preserved the no-runtime-write rule inside the signed application bundle.
- Added stricter path validation, bounded outputs, numeric Slurm job IDs, fixed remote-command shapes, and typed error handling.
- Expanded CI and release verification across frontend, sidecar, gallery, Rust, protocol, mobile, and browser tests.
- Kept the Apple Silicon release runner requirement and embedded Node.js 22 verification.
- Updated release staging for AppSnap, gallery helpers, Zotero passages, mobile assets, and Rust server artifacts.
Validation coverage
The merged 1.3.1 checkout was validated locally with:
- TypeScript type checking and a production Vite build.
- 504 frontend unit and integration tests.
- 384 Node sidecar tests.
- 169 gallery diff-suite tests plus gallery route parity.
- 60 gallery Playwright end-to-end tests.
- The complete Rust workspace test suite, including Narval, automations, providers, remote security, storage, workspace, and runtime coverage.
- A native Tauri release build and live packaged-app verification.
- Live confirmation that the Scheduled Tasks and Narval surfaces are present in the rebuilt application.
The tag-driven GitHub workflow repeats the full verification surface, runs gallery Playwright end-to-end coverage, builds the Apple Silicon DMG, and verifies the embedded Node.js runtime before publishing artifacts.
Upgrade notes
- Existing projects, conversations, gallery state, highlights, and provider settings remain compatible.
- Scheduled tasks are stored locally and should be reviewed after upgrade before enabling recurring execution.
- Narval access uses the existing SSH configuration and does not store passwords, tokens, or private keys in Atelier.
- The Rust backend remains the default.
ATELIER_BACKEND=nodeis available only for explicit compatibility testing. - Restart project-scoped gallery servers after changing gallery assets; the packaged app handles this during a normal upgrade.
Platform and prerequisites
- macOS on Apple Silicon.
- Claude Code CLI for Claude sessions.
- Codex CLI for Codex sessions.
- Existing SSH access for the optional Narval integration.
- Node.js and the project gallery runtime are bundled with the desktop application.
If macOS Gatekeeper blocks the downloaded build, run:
xattr -cr "/Applications/Atelier.app"Full change history
The complete commit and file-level history is available in the GitHub comparison: v1.3.0...v1.3.1.