Atelier Studio 1.3.6
Atelier Studio 1.3.6
Atelier Studio 1.3.6 is a continuity, workspace, provider, and editor-architecture release. It lets conversations continue across Claude, Codex, Kimi, Grok, and other supported agents through linked sessions; introduces a secure local MCP bridge and durable agent mailbox; adds native Grok ACP support; turns the Atelier area into a modular drag-and-drop workspace; redesigns the Git surface; and moves the LaTeX, Markdown, and code editors toward a shared TypeScript runtime with substantially broader regression coverage.
Highlights
- Link conversations across providers while preserving an understandable parent/child continuity graph in the sidebar.
- Start a new provider session with a sanitized projection of the source conversation instead of pretending that the target provider owns the source provider's private runtime state.
- Exchange messages between linked agents through a loopback-only MCP bridge with ephemeral capabilities, hop limits, delivery budgets, durable mailboxes, and explicit unlinking.
- Use Grok through the native Rust ACP path, including setup/model integration and actionable protocol errors.
- Open, move, and split Gallery, Knowledge, Zotero Library, Narval, Generator, Git, Browser, Terminal, and editor surfaces in a modular pane workspace.
- Click draggable rail surfaces to open them normally, or drag them after the movement threshold to place them in another pane.
- Use the redesigned Git surface with clearer activity, changes, branches, history, commit graph, and repository-oriented controls.
- Run LaTeX, Markdown, and code surfaces on a modular TypeScript editor architecture with shared document sessions, commands, wrapping, selection bridges, file picking, viewport management, and surface-specific features.
Linked cross-provider sessions
- Added persisted
agentLinkparent/child relationships and WebSocket operations to create, inspect, and unlink linked conversations. - Added a secure loopback MCP endpoint and the
atelier-agent-mcpbinary with theatelier_sessionstool. - Capabilities are ephemeral and stored as hashes; access is constrained to the parent and its direct children, without sibling traversal.
- Added a sanitized conversation projection and first-turn continuity envelope so a target agent receives the useful transcript context without receiving hidden provider state, credentials, or unrestricted access to unrelated conversations.
- Added a durable mailbox and delivery worker with explicit turn budgets and hop limits. Each delivered message may start a billable provider turn, which is surfaced in the product copy.
- Added provider injection for Claude, Codex, and ACP-based providers, including Kimi, Grok, and OpenCode.
- Added monochrome continuity markers, an expandable family tree, recent-activity ordering, unlink actions, French/English copy, and linked-agent message cards.
- Replaced the original configuration-heavy linked-agent dialog with a natural continuation workflow centered on conversation identity and continuity.
Modular workspace
- Added a persistent workspace model with panes, tabs, horizontal/vertical splits, focused-pane state, placement zones, and tab movement.
- Added unified pane chrome and native surface headers so Gallery, documents, Git, Knowledge, Zotero Library, Narval, Generator, Browser, and Terminal can participate in one layout.
- Added rail and TopBar drag sources with a 6 px activation threshold, click suppression only after a real drag, and visual drop previews.
- Fixed the compact rail so Chats, Highlights, and Automations expand their panel, while surface destinations leave chat-only mode and open the requested workspace.
- Fixed WebKit pointer capture so Bibliothèque, Connaissances, Narval, and Générateur remain clickable while retaining drag-and-drop placement.
Grok and provider reliability
- Added native Grok CLI integration through the Rust ACP client and provider runtime.
- Added Grok setup, model selection, event parsing, interruption, permissions, session handling, and provider-specific error coverage.
- Fixed invalid ACP payloads that previously surfaced as
Invalid params (-32602)after continuity linking. - Kimi native-history replay now removes injected context blocks and system reminders from the visible transcript.
- Empty Kimi
end_turnresponses now produce an actionable error tied to the CLI result instead of a misleading generic context explanation. - Gallery, Zotero, and Knowledge blocks are injected once per provider session rather than repeated on every user message.
- Native-history citations are reconstructed as clickable citation pills.
Git and repository workflow
- Redesigned the Git surface around a dedicated controller and clearer changes, activity, branches, history, and recovery flows.
- Added a repository commit view with graph lanes, commit metadata, selection, and syntax-highlighted file diffs.
- Added targeted code-highlighting support for the diff viewer.
- Scoped turn reverts to files actually touched by that turn, so unrelated sessions and pre-existing untracked files no longer block recovery.
- The project home now derives “Recently modified” from real filesystem modification times.
Editors, PDF, and gallery
- Added a TypeScript studio runtime with shared commands, document sessions, editor contracts, editor creation, wrap control, file picking, selection bridging, viewport state, and host lifecycle.
- Added modular LaTeX features for compilation, preflight, outline, reading mode, annotations, ghost text, rewrap, status reporting, SyncTeX/PDF coordination, and selection actions.
- Added modular Markdown preview/annotation behavior and code/CSV features.
- Added generated runtime bundles and extracted CSS for the packaged gallery.
- Added regression suites for commands, document sessions, wrapping, file picking, viewport state, selection bridging, PDF selection, Markdown, code, LaTeX, runtime behavior, and CodeMirror scrolling.
- Fixed duplicated “Add to chat” bubbles in comparison mode and repaired stale IPC nonces that previously required a reload.
- Added an always-visible compilation status chip and made the compilation console report every terminal state.
- Improved annotation-card clipping, compacted the diff toolbar, and increased the readability of anchored LaTeX comments.
Build and release engineering
- Restored DMG bundling for tag-triggered builds.
- Hardened the local relaunch protocol so release validation cannot build under a still-running application or reuse zombie gallery/sidecar processes.
- Refreshed the bundled Rust server artifacts, including the linked-session MCP binary.
- Updated the tag workflow release description and documentation pointer for 1.3.6.
- Applied an explicit ad hoc signature to public macOS bundles and made strict deep code-signature verification a required release gate.
Compatibility and upgrade notes
- Existing projects, conversations, Knowledge Base sources, gallery state, and provider settings remain compatible.
- Linked sessions share a sanitized transcript projection and explicit agent messages; they do not transfer the source provider's hidden chain of thought, private runtime memory, or authentication state.
- Removing a link stops future continuity delivery but does not delete either conversation.
- Claude Code, Codex, Kimi, Grok, and OpenCode CLIs remain external prerequisites for their respective providers. Node.js 22 and the gallery runtime are bundled with the application.
- Workspace pane layouts are stored locally and can be rearranged without changing project files.
Platform
- macOS on Apple Silicon.
If macOS Gatekeeper blocks the downloaded build, run:
xattr -cr "/Applications/Atelier.app"Validation coverage
The 1.3.6 release candidate passed:
- TypeScript type checking, the production Vite build, and the 950 KB entry-budget gate.
- 637 frontend unit/integration tests across 81 files.
- 556 Node sidecar tests across 37 files.
- 37 Python gallery tests, 17 direct Node gallery tests, route parity, and 183 gallery diff-suite tests.
- 49 shared protocol tests.
- 31 Tauri application tests.
- The complete Rust workspace, including 120 provider tests (plus one network/auth test intentionally ignored), 67 runtime tests, 27 workspace tests, 17 store tests, 16 remote security tests, and all remaining crate/doc tests.
- 70 Playwright end-to-end tests, including Chromium and WebKit editor-scroll coverage.
- A canonical local Apple Silicon DMG build from
main, validated withhdiutil verify; the mounted application reports version 1.3.6, passes strict deep code-signature verification, and contains the arm64 Node.js 22.22.3 runtime. - A live packaged-app relaunch from the canonical checkout with Rust sidecar health verification.
The tag-triggered GitHub Actions release workflow repeats verification, builds the public DMG, verifies the embedded Node.js runtime, and publishes the release only after all gates pass.
Complete product and engineering commit ledger
The following 69 product and engineering commits are included after v1.3.5. Descriptions are normalized into English; hashes link the ledger to the immutable Git history.
ed0bcbb6— Restored DMG bundling in tag-triggered release builds.ad4d31ea— Regenerated the gallery index on 2026-07-18.fb8f9326— Hardened the relaunch protocol to prevent builds beneath a running app and stale TCC-affected processes.7884f472— Reloaded the generated figure index.13f2428e— Refreshedfigures_data.json.e16560ef— Replaced the boxed diff-document glyph with a full-width plus/minus editor icon.3f8fa2ce— Added the indexed figure catalog data.290088c9— Ensured comparison mode renders a single “Add to chat” bubble.470ff895— Refreshed gallery metadata after a rebuild.439d0221— Updated synchronized gallery catalog data and integrity metadata.fd4141e4— Refreshed gallery timestamps infigures_data.json.8393c1f1— Added a persistent compilation status chip and guaranteed non-silent console completion states.ad233c5c— Refreshed the generated figure catalog.6d5ce749— Updated generated gallery data after a rebuild.37adae07— Reindexed the gallery after asset changes.c0de98d8— Made Home “Recently modified” use actual filesystem modification times.7d49139a— Added newly staged gallery content to the figure index.1a3e8f62— Scoped turn reverts to files touched by the selected turn.6a2d073e— Refreshed generated gallery index accounting.332a9d8f— Added self-healing IPC nonces so “Add to chat” no longer stays silent until reload.30a5d5a6— Updatedfigures_data.jsonfrom the latest scan.2a67777e— Reorganized generated figure catalog data after a build.85221b4e— Refreshed the gallery index for 965 discovered files.4a4dd08a— Removed injected context blocks and system reminders from Kimi native-history replay.5daddacc— Refreshed the gallery file index.1fac4e29— Reconstructed citation pills when replaying native provider history.efc98e24— Updatedfigures_data.jsonfrom the latest index pass.12ff1811— Refreshed the generated figure index.73929e57— Refreshed gallery metadata after a build.9e9dc7dd— Turned content-free Kimiend_turnresults into actionable errors.dadbb251— Updated the gallery index after a changed scan.08b3a3d2— Injected Gallery, Zotero, and Knowledge context once per session instead of once per message.5bf20ed0— Refreshed the project file index.4c2d7d26— Regenerated the project file index.1d261a0a— Recorded an automated gallery/catalog synchronization commit.8973a475— Reported the actual Kimi CLI cause for silent turns instead of blaming context.5d86dd9d— Refreshed the generated figure index.5783ff97— Prevented annotation-card clipping and compacted the editor toolbar in diff mode.572ebb64— Updated the generated figure count.401f525f— Improved anchored LaTeX comment contrast, border weight, and background visibility.4b135d75— Refreshed the gallery index.e285607f— Reindexed the gallery after Rust synchronization.bd1ba7f5— Updated generated gallery metadata.939ea67e— Redesigned the Git panel and its repository workflows.aa7876ff— Merged the redesigned Git UI branch intomain.b2b3fac2— Refreshed the generated figure index after the Git UI integration.a7fbdc7d— Integrated the Grok CLI through native Rust ACP.25f1b397— Merged the native Grok ACP branch intomain.709d7639— Recorded an automated diff-analysis/catalog update.607e7fbd— Added cross-provider linked sessions through theatelier-sessionsMCP bridge.4efef4a1— Refreshed the gallery index after linked-session integration.43d5114a— Added modular workspace panes.e8f381ef— Updated ignore rules for workspace-generated files.42e441e5— Unified pane chrome and drag interactions.b9930ffa— Regenerated gallery metadata for 1,303 visible files.3d6bfeb4— Merged the modular workspace-pane branch intomain.8f3b872f— Cleaned generated files after the canonical relaunch.96506239— Normalized the generated figure catalog.24fb7100— Refined cross-provider continuity, sidebar family visualization, and unlink behavior.8d421f33— Merged the complete linked-session implementation intomain.5c494669— Refreshed bundled Rust server binaries after the linked-session merge.5837ae29— Opened compact-rail destinations and deferred surface activation until the workspace is mounted.4536f5f5— Preserved normal clicks on draggable rail and TopBar surfaces under WebKit.9e90dba0— Modularized editor runtimes and completed repository commit/diff tooling with broad regression coverage.87a3aa92— Made linked-session runtime tests independent of locally installed provider CLIs so release runners exercise the same deterministic contract.cc7812c1— Pinned temporary Git repositories to a deterministicmainbranch so branch-operation tests behave identically across developer machines and release runners.5f540fee— Installed every Playwright browser exercised by the release suite so Chromium and WebKit gates run on clean GitHub-hosted macOS runners.4f0e8c7f— Applied an explicit ad hoc signature to public macOS bundles and blocked publication unless strict deep code-signature verification succeeds.7e5f7560— Serialized real gallery-server smoke subprocesses so resource contention cannot reset the/rescanconnection on release runners.
Full comparison
The complete file-level history is available in the GitHub comparison: v1.3.5...v1.3.6.