Repository navigation
aterm v0.103.0
aterm v0.103.0
2026-10-10 · 39 changes since v0.102.0
Fixes
- aterm-containment: deny every mach-lookup but the user and group queries
- aterm-gui: a press the tty will not echo is never predicted
- aterm-predict: an echo proof ends at every boundary the predictor cannot see past
- aterm-predict: a killed typed-ahead word does not stay on glass as a ghost
- aterm-predict: the echo proof covers only the cell the last echo left the cursor in
- aterm-predict: only a line terminator keeps typed-ahead guesses on glass
- aterm-core: log a block's eviction once, not on every read
- aterm-gui: thin the network drive's refusal lines as the local socket's are
- aterm-grid: log the reflow window's cap per window, not per dropped line
- aterm-core: thin evicted-block log lines by doubling, not one per block
- aterm-release: a release is not done without its signed source manifest
- atpkg: the dmg lane stages a bundle at the archive lanes' modes (AT3)
- atpkg: the stage path's directories and records, and a dmg copy's owners, follow atpkg's rule, not the umask or the image (AT6, AT7)
- aterm-pty: a -e command's arguments reach the program byte for byte; a NUL refuses the spawn
- aterm-pty: a configured shell holding a NUL refuses the spawn instead of running another
Tests
- a key-journey hang detector counts from the last key; a lost shell test says how it ended
- a status wait in agent_verdict_live_headless that times out shows the screen
- the question tests hold the fake's busy screen until the host has told its answer
- the gsettings read test gives its child a hang-detector bound, not the product's 200 ms
- a stand-in that "exits on EOF" exits when the stand-down tells it, not 200 ms after spawn
- the weekly-limit test names its reset from one clock reading
- the question tests' busy screen is bounded, so it never waits on what waits on it
- a timed-out status wait in agent_verdict_live_headless shows the instance's process tree
- atpkg's doctor probes wait a hang-detector bound in test builds, not the 5 s production ceiling
- "no step while parked" waits for the park to take effect instead of 20 ms
- a timed-out wait for CHOSE shows the instance's process tree
- headless_activation waits out an instance that has not accepted yet
- the held-claim park test starts its reader right before the Commit
- the pointer-licence test judges the typed hint as of the key, not as of "now"
- the "no bus record reaches a pty" baseline waits for the shell's first prompt
- handoff: v0.102.0's producer fixtures, so the 0.103 cut's fixture gate passes
- the silent launch fakes write one cell at start, so a stale program name gets re-read
- every live test that calls aterm ctl waits out an instance that has not accepted yet
- the tty-drain reap test repeats a starved take with a larger budget, as its neighbours do
- handoff: the fixture generator is a _tests.rs module, under cfg(test) where it is mounted
- the short-turn loop test starts its loop once the INSTANCE shows
gotaken, not once the worker has stamped drawing it
Docs
- containment: claim "no mach service lookup", say it wherever --sandbox is described
Other
- proxy: a forward reads the host's pid before it delivers the verb, so a quick hang-up still says "gone"
- release: the cut writes and lands its own handoff fixtures; the generator is in the tree
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.