Repository navigation
Tags
Tags
Release (v0.2.0) - Fan: emergency release returns to the highest curve step and lowers through the ordinary hysteresis, cooling hold and minimum run time. - Config: every loaded file, including flat files, gets the live hardware bounds in the single loader. - Recovery records: failed writes leave no partial ownership record; the RAPL journal has its own 0600 temp file; the unread status.json write is gone. - Tablet: bounded transient-error budget, backoff reset only after sustained health, non-fatal STATUS=, expiry checked after queued requests, bounded motion hold, conditional backup OFF, 1 Hz guardian heartbeat, no sensor reads while the lid is closed. - Installer: correct fresh-install rollback, previous service restarted when recovery refuses an update, version-pinned troubleshooting link. - Doctor: the unverified-recipe warning is not counted as a missing package. - Power: a settled posture is sampled every 2 s instead of 4 Hz and returns to 4 Hz on any change; guardian heartbeat, CPU guard and child checks share one 1 s tick, child exits arrive as SIGCHLD, and the fan journal records only start, stop, reached targets and emergency changes. - Sandbox: system-call filter, private AF_UNIX-only network, hidden foreign processes, no /dev/shm or /dev/mqueue, TasksMax. - Release tooling: source archive contents verified; ruff installed by hash; container script guard; VM tests prove guardian OFF and ExecStopPost. - CI: every job uploads its command logs, including failed runs, next to the tested static executable and VM results. - Release: a separate job without repository write access signs SLSA build provenance for the checked files before publication. - Bootstrap: the README runs install.sh from main, so it always tracks the current script; the commit-pin ancestry check is replaced by a URL check. - Code: one bounded subprocess runner for installer and doctor; READY and STATUS in one notification; every unsafe block documented and enforced by Clippy. - Documentation aligned with the code; history removed; display guide safety fixes. Version 0.2.0, rust-version 1.88. Hardware: idle, about 9 minutes of full load at firmware power limits (about 71 C at 35% PWM), restart, stop and S3 resume under load, tablet positions, lid, SIGKILL recovery and config reload checked on the supported U300. Stages above 40% and the emergency transition remain unqualified.