Skip to content

v0.10.0

The machine a workspace runs on is something a tenant chooses per member, including Graviton, and vendor icons in .drawio diagrams now draw. Administrators can delete what they used to be able to create only, and a handful of sessions that looked broken were not.

  • Choose the machine type a workspace runs on, per tenant and per member (ecs-ec2). Operators declare named classes — an architecture and a CPU generation with its own memory ladder — and a tenant administrator picks the tenant’s default and an override on a member’s detail page, where the memory chips and the instance they land on are redrawn for the class. The shipped default offers standard (m7i) and saver (m6i), both x86_64, and nobody moves until someone chooses. A Graviton (arm64) class can be declared too; the Console warns only when a change crosses architectures, because the CLIs in your home are reinstalled on the next start. rtk has no arm64 build that runs, so a member on an arm64 class does without token reduction. A deployment with only one class offers no choice at all.
  • Vendor icons in .drawio diagrams draw. AWS, Azure, GCP, Kubernetes, BPMN and rack shapes used to fall back to an empty outline. The stencils are fetched through the Control Plane against a bundled ledger and cached on disk, so nothing leaves the frame itself. control-plane drawio-preseed loads them in advance for a deployment with no outbound access — 49 sets by default, all 203 with --all.
  • Empty tenants and removed members can be deleted from the admin dialog. A tenant is refused while it still holds active memberships, workspace rows or an internal repository, since a row can be the only handle on a home or a volume, and the refusal says which. A membership can go once it is inactive and its workspace is destroyed.
  • The account menu shows the running version and image (ECS). The build stamp there was the Console bundle’s, which is neither the Control Plane’s version nor the image tag an operator moves — a fault report needs both.
  • The reserved af-golden tenant is hidden from the admin screens, and its spend folds into shared infrastructure instead of appearing as a person’s. Automatic re-baking made it and its two reserved memberships show up beside real ones.
  • The guides cover the .drawio pane, and Agent Fleet’s own architecture diagram is in the repository as a sample to open.
  • Restarting a deployment turned every stopped session into a broken terminal. Opening one showed “disconnected” — the terminal history lives in memory, and a session with none left could not be told apart from a dropped connection. Worse, the way back was gone with it: one failed request could empty the session list and take the resume control with it, and a failed resume left a spinner turning forever with no way to retry.
  • A Claude session could go silent in the mirror. Claude restarts itself for some operations — switching to the full-screen TUI, signing in, changing model — and rebuilds its command line without the conversation id we gave it, so it started a fresh conversation we were not watching. Usage, interruption detection and completion reports went with it.
  • Copilot and Cursor sessions could go silent the same way. They are the other two kinds we hand a conversation id to rather than reading the one the CLI picks.
  • Work-in-progress blocks in the mirror opened and closed on their own, moving where you were reading by thousands of pixels. Once a turn is collapsed it stays collapsed, and only your click changes it.
  • Memo categories were broken on Postgres deployments. The table was never carried across, so every category call failed — and the Console folded the error into an empty list, so it looked like the feature simply did nothing rather than like a fault.

One additive migration adds the memo category table on Postgres; nothing to do by hand, and the agent CLI pins are unchanged from 0.9.3.

On ecs-ec2, the machine classes need a stack re-deploy to reach you. 30-ingress gained Ec2DefaultSlotClass and Ec2SlotAmiArm64, 40-ec2-pool gained SlotAmiIdArm64, and the shipped Ec2SlotTypes default is now standard + saver — an existing stack keeps the value it was deployed with, and the default class is unchanged, so re-deploying moves nobody. An arm64 class additionally needs an arm64 AMI parameter and a workspace image published for arm64; the Control Plane refuses to start if you declare one without the AMI.