Skip to content

aterm v0.141.0

Choose a tag to compare

@alabsystems alabsystems released this 26 Oct 05:43
· 74 commits to main since this release

aterm v0.141.0

2026-10-26 · 237 changes since v0.140.0

Fixes

  • pet: the resident cat walks on top of the composer's upper rule, never under it
  • pet: the stand over the composer's rule is a perch near the caret, never in a rule; a skid and a leg's stand keep their floors
  • pet: the slide's reach never calls back a cat already standing past the letters; the escort-grace test ends on the perch
  • stats deck: a Folded strip glides 1 pt a second, so the default window is seen moving
  • pet: every schedule draws the same pet: a glide lands on home's pixel, a rhythm run asks for frames, a woken tick moves nothing
  • init: publish setup markers after file preparation

Performance

  • effects: replace Option closure helpers in ribbon, witness, spine, bed, and ink_ledger
  • effects: inline Option/Result/iterator closures and single-pass veil/oracle scans (batch 231)

Tests

  • pet: the switch replay's off list infers its tuple (tippy type-complexity)
  • system-state: expect calm cached status after Cancel
  • read the cursor's glow streams whole, ramps and quads together
  • pet: the dense sweep holds both hosts' rest clocks together at each edit; changelog says what the pet fix costs
  • pet: the pet-paced trail laws read copies as the 16 ms host does; the wrap law checks its bound's own landing
  • handoff: v0.140.0's producer fixtures, written by its own cut
  • main's two 0.141.0 verify fixes, carried onto its release line

Other

  • System State: the signals agree with the rows (round 19 fixes)
  • Keep default-account adoption in owned fleet sources
  • Gate Unix-only launch-tap test import on Unix
  • Guard the Unix harness prelude in platform builds
  • Refuse new account labels that retain local authority
  • Check provider data isolation around the shared sign-in lock
  • aterm-db: DbDiscoveryReplacement's waiver host is a public hidden fn, as the other environment hosts are
  • Acknowledge dispatched pointer actions when frame readback fails
  • aterm-gui: the deck's live edge after review: a scale at the default window, at most 4 live frames a second, a live line that outranks the stalled one
  • aterm-gui: the live-edge merge's lint findings
  • Fence additive account sync against retained labels and active sign-ins
  • harness: a wall's answer is asked per agent; Grok Build is an aterm ai connection, off where nobody installed it
  • disk-free@v1: deliver at background breaks, hold for lasting withholds, credit aterm's own passes to aterm
  • disk-free@v1: judge the background-break line on a fresh status read, keep the awaited act, keep a wall's withhold at background breaks
  • machines: git runs that change a ref start no automatic maintenance
  • setup: a stop during the Command Line Tools install still ends the run, and an unasked tab's failure stays quiet
  • setup: tie the install tab's quiet failure to the tick's own ask; a fixture commit starts no maintenance
  • aterm-gpu: a video take's finish never waits on its conversions, which run optimized and side by side
  • aterm-gui: a headless window takes the size resize px asks for, both forms resize with Settings in front, and a tab brought to the front is laid out
  • aterm-gui: a native page's focus and scroll keys are timed to the present of the pixels they changed
  • aterm-gui: a quit nobody started at a window is not held by a Settings draft nobody can answer
  • aterm-gui: an aterm that is not its account's own reads no fleet, and lists its own tabs
  • aterm-gui: one missed probe keeps a host's last address, SSH banner and round trip
  • aterm-gui settings: Tab Control's live rows keep the height they were laid out at while the person reads
  • aterm-gui settings: pin that a computer listed above the screen moves nothing on it
  • aterm-gui: move_native_focus calls focus_native_control as main now spells it
  • aterm-gui settings: Tab Control keeps each live block's room under its own words, so no line in a row moves
  • aterm-gui: the cluster's new tests check what a resize answers and that the page says why, not their exact words
  • Hold sign-in admission through checkpoint recovery
  • aterm-effects: promote stardust centre pricing to const fn and inline hot-path Option/bool closures (batch 220)
  • Expose every recovery mutation to the specification sweep
  • Capture the fleet test listener key before spawning
  • secrets: a vault path in a missing folder names the folder
  • aterm-effects: reuse icon_scratch and inline Option/iterator closures (Batch 221)
  • aterm-effects: inline Option/iterator closures in rainbow_kitty witness and ribbon (Batch 222)
  • System State: settle every ALab widen Apply; a Cancel after a Restore holds like any Cancel
  • System State docs: a Stop holds off the ALab review for the run it stopped
  • System State: the newer page's Local Network row reads unknown, tested as drawn
  • Preserve account authority through local relabeling
  • harness: spawn agent=grok names Grok Build as a worker, refused until its turn end is read
  • harness: name the Grok sign-in gate's type; fix two Grok tests' compile errors
  • Keep cancelled launch reviews calm after immediate reopen
  • Recover interrupted account syncs from durable admitted images
  • Schedule interrupted account commits before unchanged or offline sources
  • Keep sync auxiliary output away from account authority
  • Require roster preservation after auxiliary sync failure
  • Keep failed saves editable and align palette Copy ownership
  • Retain failed-save evidence while documents remain editable
  • render: a glow stream carries ramps beside its quads (card-engine B5)
  • render, gpu: draw a glow stream's ramps natively
  • effects: Rainbow Kitty's ribbon and meteor trains lay ramps, the guard reads them
  • gui, web, bench: every glow-stream reader takes the ramps
  • gpu tests: Rainbow Kitty's ramps draw their quads on every arm
  • render: a ramp runs on only below its last row, at its span, with nothing laid between
  • effects tests: read the glow streams as quads through a fold seam
  • gpu: a glow stream whose light adds draws its quads as glow instances
  • effects: the streaks' beds and ink bodies lay ramps
  • effects: comet slabs lay ramps, each core one light as tall as its rows
  • effects: a ramp's run keeps its ends once
  • effects: ramp readers walk the kept rows, not every pixel row
  • style: format the ramp readers as trustfmt lays them
  • lint: hold the ramp code to tippy's warnings
  • gpu: the heat shimmer reads the additive stream's ramps
  • core, effects: a ramp's damage words carry its run, its place and its kept ends
  • effects tests: the v2 frame-cost gate times the ramps a shipped build lays
  • render: each_laid walks a stream as Lights, not a Result
  • effects: the particles stop where their stream's lights fill it, its ramps counted
  • effects tests: clear the frame-cost drivers' scratch as two statements
  • effects: the letter guard reads a ramp's rows as the quads they stand for
  • bench: the effects harness reports means and the ramps' lights and rows
  • glow ramps: a run rides a ramp only where its lights pay
  • spill: the band reads glow ramps without expanding them
  • icon shade: word icons shade glow ramps without flattening them
  • gpu: ramps open the fx stream only where their lights repay it
  • render ramps: a band reads only the ramp rows that meet it
  • letter guard: ramps cost the quad path nothing they do not use
  • rainbow kitty: name the test's RampCost by path
  • effects harness: an icons scene and the shares of ramp and fx frames
  • glow ramps: the measured break-even and fx opening costs
  • verify browser: hold the cursor glow's ramps to their quads through cell.glsl
  • bloom: an item list draws the extract set with no ramp row expanded
  • gpu: the bloom and its crowns read the glow ramps as an item list
  • gpu: a ramp stream keeps its order where adds round on store
  • verify browser: the comet's additive ramps through the bloom and its crown
  • gpu-web: the lane's crown field lives in the wasm dev build alone
  • ramps: a band's rows convert without a cast; trustfmt over the lane
  • spill test: the run's middle rows read as one range
  • ramps: a dark light stays its quad whatever the cost
  • ramps: GlowRamps::open and extend_last are test seams
  • icon shade: a ramp stream nothing reaches costs no copy
  • effects harness: the glow ramps' sweep knobs reach the release build
  • aterm-gpu: one fx gate for every frame, art included, measured per arm
  • aterm-render: lay a beam's runs on their ramps directly, no fold after
  • aterm-gpu: parity beside fx art on every arm; unmeasured arms draw instances
  • browser lane: the glow's ramps beside fx art, through cell.glsl in Firefox
  • aterm-gpu: the routing comment names what the gate weighs
  • B5 round 3: the cost sweep's points, and Metal's art term fitted from them
  • aterm-gpu: the wgpu oracle's Metal backend gets its own measured route costs
  • effects harness: the glow host's pipeline stays in its owner's field
  • B5 round 3: verify fmt --fix
  • B5 round 3: laws for the guard's rails and the pet's veil over ramps
  • B5 round 3: the rails law passes lint; verify fmt --fix
  • aterm-effects: promote const fn helpers and inline hot Option/bool branches (Batches 223-225)
  • Keep explicit account aliases and authority across fleet relabels
  • Stop System State review countdown on empty menu edits
  • init: ask about a secrets vault only where one answers; a vault join never holds init
  • init review: a look only where the workstation layer runs; Ctrl-C at the trust question stops; --vault refuses a pin the vault does not answer to
  • init: --vault refuses a flag as its value (aterm init --vault --plan names no vault)
  • init: say what the vault look overlaps (reading the Mac, not the base layer)
  • Recognize the guarded native menu interaction boundary
  • Settings status: a status too long for the dock's row scrolls there, nothing pressed moves
  • Settings: the reload warning wraps as every status does, in its bar and in the dock
  • Settings fields: a field too narrow for its hint's words marks itself with a dot
  • Settings: Page Down before a page's first frame steps by that page
  • Settings tests: the wheel test reads a short status docked, taking no room
  • Settings: a page key lays out only a list no render has laid out
  • Settings tests: the wheel test reads a long path's status docked too
  • Settings lists: a screen under a status's bar ends on the next card's peek
  • Settings lists: the list's end leaves no row cut to nothing under its caption
  • Settings lists: Tab reaches a looping preview listed with the rows
  • Settings lists: the end rule reads a row's name beside its control
  • Settings lists: a looping preview is a Tab key of its stop, not its layout
  • Settings tests: the reload warning test asserts its fit failures
  • Settings: a page key waits for a layout at the window and text size it acts in
  • Settings tests: the 220x12 Tab sweep focuses the search as main's focus call now asks
  • Settings tests: the 220x12 Tab sweep names the view main's focus call now checks
  • Settings status: a bar stops over the control the person pressed
  • Settings toolbar: the keyboard on Search's Cancel keeps the search open
  • Settings status: a bar held over a press keeps its room for its status's life
  • Settings lists: a last screen gives up a stop it would draw nothing of
  • Settings lists: a list's Tab stops are the page's, one rule for both
  • Register the menu interaction fence at the permission input boundary
  • aterm ctl --host turn: read its timeout= with the verb's own option reader
  • drive gate: a hold's refusal names the bare sid a hold takes
  • aterm ctl --host survey: refuse survey words that name their own machines
  • aterm ctl survey: ctl's own --timeout bounds each fleet peer's read
  • fleet join: a code that reaches a member says so, not that the issuer refused
  • aterm ctl: one exit code per cause; a drive refused while its issuer is silent exits 2
  • aterm ctl --host: exit 2 means one cause, a handshake no aterm sent, at the issuer and the peer alike
  • fleet join: the issuer's refusal of its own node is worded for the joiner
  • turn help: a leading -- ends only the leading options, so option-like text needs -- --
  • aterm-effects: promote const fn helpers and inline closure combinators in cursor_glow and cursor effects (batches 226-229)
  • ai login: over SSH a CLI's own sign-in runs off this machine's desk; a Codex wall under the host is nobody's, pinned
  • ai login: the no-desk sandbox is macOS's, as the doc now says
  • ai login tests: formatted
  • Refuse account rows that inherit another login directory
  • Expose directory model bookkeeping through the public account module
  • Fix three mixed-tab route-parity defects: move, close hold, bloom clip
  • Keep each close's line in the resize ledger; name Collapse's real sites
  • Take the ledger's last resize row with rfind (tippy double_ended_iterator_last, filter_next)
  • aterm-verify: the GUI smoke ends its instance's whole process group
  • aterm-conformance: an instance's drop ends the helpers it started
  • aterm-verify: the GUI smoke's group reads no terminal and is recorded as it spawns
  • System State waits for a live tools installer before opening another tab
  • aterm-capacity: refuse a memory need at or above physical less wired
  • atpkg: aterm pkg capacity prints the memory that can ever be available
  • aterm-release: the Trust plan refuses a claim not below what can ever be available
  • aterm-lab: a VM boot above what the Mac can ever have available is NOT RUN at once
  • aterm-release: hold the Trust launch gate to the plan's bound
  • aterm-capacity: give the NEVER-REACHABLE test's admission wait a hang detector
  • atpkg: the capacity memory line says --admit now still starts a claim
  • grok sign-in gate: one sandboxed, deduplicated Grok sign-in per machine before any Grok TUI starts under aterm
  • grok sign-in gate: harness-repos D22 and aterm help pkg say how a Grok launch signs in
  • needs: read Grok's machine sign-in through an exhaustive Program match (census agent-gate)
  • grok sign-in gate: fix the review's problems at their root
  • atpkg SPECS: the twin-prelude row states the grok sign-in block; its two tests map to it
  • atpkg: the grok hand-off test names each ATERM_NO_HARNESS reader, and never reaches a real aterm
  • grok worker floor: a login grok refused starts no worker (grok_signin::login_accepted)
  • aterm-link: fabric on --dry-run judges the secret as the real run will; a bare --secret-file is named as given; help, SPECS and CHANGELOG say what is refused
  • aterm-uds: a directory open by its mode and by an access list is refused, not narrowed
  • aterm-link: the secret-file-private row gives each directory clause its real kind; mint and broker help name the whole rule
  • aterm-uds: the mode-first mutant's comment names what it really breaks
  • aterm-link: mint help says an access-list ALLOW entry is refused; a deny entry passes
  • Keep close recovery and rename commands with their input owner
  • disk-free@v1: credit a seat only with its own checkout's builds, and never say a listed holder is none
  • disk-free@v1: a seat whose directory is gone holds no checkout's builds, and pin the clipped holder
  • aterm-effects: promote const fns and eliminate closure/iterator overhead in hot paths
  • sim B01r: the model is aterm's retained broker, and each drift B01 fixed has a control
  • sim B01r: the headers a prune cut, the LAST_PAGE_MAX page, and the SPECS row
  • Bind the installer identity guard to standard paths
  • Recover account renewal publication with durable commit receipts
  • Keep model fixture anchors distinct on stock compilers
  • Format renewal recovery regression fixtures
  • Assert atomic renewal admission in ledger failure tests
  • Match test helper availability to their platform callers
  • Limit Grok sign-in fixtures to their supported test platforms
  • harness: review fixes for grok-alab contract v3 (live-build twin hand-off, scoped claims keep the needs)
  • aterm-effects: promote const fn helpers and replace ribbon/witness/stardust iterator closures
  • B13 WIP (parked after a usage-limit stop): oracle widening and aterm engine fixes in progress, not reviewed
  • Preserve cursor input ownership across window focus changes
  • Cover focus report ingress and preserve measured before and after trails
  • sim B01r review: a seeded world serves unretained too, and each found bug is reached again
  • sim B01r review: the journal replays every tier with the mirror off, retained and unretained
  • sim B01r review: every drift B01 fixed has a committed control, and the headers say what the code does
  • sim B01r review: Opts::seed's retention bit by is_multiple_of (tippy manual_is_multiple_of)
  • Keep editor buffer selection and Find Copy with their resolved target
  • init: a repository clone leaves the disk watch's floor free
  • System State: the repositories row says when the disk has no room for the rest
  • init: a first-launch pass that leaves repositories for room keeps the reason
  • harness: admit a Grok worker sign-in first; refusals name their cause
  • harness: the slog why tiers name the launcher's two words; the install test's mark reads what it holds
  • Recover interrupted account commits at operational pool reads
  • Use range patterns in account recovery fixtures
  • aterm-gui: an image job boxes its metadata, so no platform needs a large_enum_variant expectation
  • Commit pool decisions and their ledger through durable receipts
  • Keep custom worker login classification independent of pool budgets
  • verify cells: a cell whose std no toolchain carries names verify provision as its fix
  • init: no clone below the floor for an unsized repository; first launch names its own remedy
  • aterm-effects: promote harness_card helpers to const fn and hoist luminance tables
  • aterm-effects: promote clip_quad and near_word_icon to const fn and hoist droplet luminance
  • gui: keep a seamless handoff's files for the lab's carry sweep (6I-4, A11, B23)
  • lab: seamless's privacy leg sweeps the carry an update writes (6I-4, A11, B23)
  • lab: the carry leg reads the waiting post, the typed line and every listed name (6I-4, A11, B23)
  • lab: the carry fixture's mail line in the encoder's order, so gitleaks reads no key (6I-4, A11, B23)
  • Commit explicit account selections against current policy
  • Record fenced selection semantics and design review
  • Align launch and CLI regressions with durable account reads
  • Keep diagnostic navigation and Settings recovery with their input owners
  • Recheck queued login intent and preserve deferred selections
  • Keep the original login parent through fallback admission
  • aterm-gui: drop the five Gemini retirement exceptions 0.140.0's producer made stale, on 0.141.0's line
  • aterm-gui test: the debugger step's stand-in reading stays fresh for the hang detector, not five seconds

Source release. SHA256SUMS is a per-file manifest of the released tree, with a detached Ed25519 signature (SHA256SUMS.sig) by a machine key named in the attached master-signed roster (aterm-machines.toml + .sig). Verification chain and key inventory: SIGNING.md in the publication engine; the roster pin is committed in aterm crates/aterm-update-core/src/pins.rs.