Changelog
Changes to the macOS app, newest first. Windows and iOS entries will start when those apps ship.
In development
Not part of the macOS app yet.
- Push notifications for permission requests on iPhone, with Approve and Deny. smaltid encrypts each request to a key the phone made, and a small relay at push.smalti.dev passes it to Apple without being able to read it. This replaces the optional ntfy notifications.
- Fleet: smaltid machines pair once and then answer for each other. The Mac app shows a Machines section, and other machines' permission requests appear in its Needs you list, approved or denied through the paired machine.
- smaltid can move a stopped session to another machine, with its branch, commit and transcript, and resume it there.
- smaltid, a per-machine service: session index (Claude Code and Codex), attention from Claude Code hooks, approve and deny of permission requests over its API or from a phone notification, the governor, and a decision API. Installs as a launchd agent or systemd user unit.
- smalti-conductor, a command line prototype of the Conductor: policy, action log, missions, workers in worktrees, checks before done, and an agent library with lessons.
- "While you were away": when you come back to the factory overview after ten minutes or more, a short briefing lists what changed, needs-you items first: questions, stuck or finished tasks, checks that flipped, proposed lessons, machine events and commits.
- The Conductor's web view: the factory overview and each mission, with its plan, task cards, activity and questions, sized for a desk or a phone.
- iPhone and iPad app over SSH and tmux: inbox first, approve and deny with smaltid, notifications with actions, widgets and a Live Activity, the Conductor's Factory view, and Shortcuts.
- Windows app (WPF): the same panels, inbox, governor asks, sounds and keymap as the Mac, with smaltid for Windows (freeze and resume by suspending threads) packaged alongside it.
Unreleased
Conductor
- Mission panel: shows the Conductor's web view when
smalti-conductor serveis running, with a badge for open questions, and offers to start it when it is not. - Conductor bar (⌘I): one line to send the Conductor a message, then focus the Mission panel.
smalti://session/<id>links focus that session's panel or resume it.
Terminals
- Detachable terminals (off by default): with smaltid running, agents run in terminals that survive quitting Smalti, and panels reattach with their scrollback.
Sounds
- Four short cues: a new panel, a magnet snap, a session that needs you while Smalti is in the background, and a Conductor task passing its check. Sounds On or Off in the palette; silent when macOS interface sounds are off.
Governor
- When smaltid is running, the governor and the inbox come from it, so every app sees the same queue; without it the app falls back to its own.
Decision timeline
- New Show Decisions panel: every goal, redirect, interrupt, approval and answer in a project's sessions on a timeline, with the files and commits that followed. Reads from smaltid when it is running, otherwise from the transcripts.
Look
- Each project's region of the canvas is labelled.
- The Smalti mark appears on the empty canvas and in About; the app has its icon.
Attention
- Needs you list in the sidebar: sessions waiting on an answer, finished sessions and failed CI runs, with coloured rings on their panels. ⌘J jumps to the next one.
Resource governor
- Memory and CPU badge on every terminal panel, measured over its whole process tree.
- New Claude launches are held under memory or thermal pressure, or above 10 running agents, and released one at a time.
- At critical memory pressure, the largest non-agent subtree over 2 GiB is paused, with Resume and Kill buttons.
- Background agents run at low priority while the microphone or camera is in use.
CI
- CI panel showing Commitwell runs and jobs through the
cwcommand line tool.
Keyboard
- Command palette (⌘K) over commands, panels, sessions, files and SSH hosts.
- Directional focus and movement with ⌥⌘ and the arrows or h j k l, numbered panels, Navigate Mode, saved Places, and a shortcut overlay (⌘/).
- One command registry drives the menus, the palette, the overlay and
docs/keymap.md.
Packaging
scripts/bundle.shbuilds a zipped, ad hoc signedSmalti.app.
Canvas
- Panels snap to the edges of nearby panels while moving or resizing, flush or one grid step apart, with dashed guides.
- Shift-click and shift-drag select several panels, which then move and resize together.
- Auto arrange packs panels into rows.
- The middle mouse button pans the canvas from anywhere, including over a panel.
Graph
- The middle mouse button pans the graph.
Sidebar
- Pinned project headers in the session list are opaque, so rows no longer show through them while scrolling.
First version
- Infinite canvas with terminal, browser, note and graph panels.
- Sidebar with a file tree and a session list built from
~/.claude/projects. - Terminals detect a running
claudeand link to its session. - Force graph of projects, sessions and the files they touched, as a panel or full window.