Repository navigation
v3.10.2
The known-red base block tracks each landing branch and the configured test command, a red base under a guessed test command says so, and the last places that assumed a lowercase ledger are fixed.
Fixed
- The known-red memo is kept per landing branch (ledger
lib/autofix-sweep.sh:159). 3.10.1 kept onebase-redfile per repo, shared by spot fixes and sweeps on every branch, so a spot fix on a session branch could rewrite or clear it and lift a sweep's red-base block on main. Each landing branch now has its own memo; the 3.10.1 single file is ignored and removed on the next write. - Removing a configured
testCommandlifts a red-base sweep block (ledgerlib/autofix-sweep.sh:163). The block's marker now records the configured command, so setting, changing or removing it unblocks the next sweep. Before, removing it (falling back to auto-detection) left sweeps blocked until the base commit moved. - The red-base remote check cannot hang on ssh (ledger
lib/autofix-sweep.sh:170). Thegit ls-remotethatlog,tag,decideand SessionStart sync run while a block is in effect now uses sshBatchMode=yesand a 5-second connect timeout, unlessGIT_SSH_COMMAND,GIT_SSHorcore.sshCommandis set. If it fails, the local ref decides, as before. - A red base under a guessed test command says so (ledger
lib/autofix-queue.sh:651). With nofound-issues.autofix.testCommandset, the result readstests fail at base (auto-detected: <cmd>; set found-issues.autofix.testCommand), so a repo whose guessed command skips a build step its CI runs is told what to configure.autofix statusand the stuck streak still match it as a red base. - A nested differently-cased ledger resolves paths against its own package at session start (ledger
hooks/first-touch.sh:51, #164). The lean SessionStart render found the root ofDocs/Found-Issues.mdat the git toplevel, so in a monorepo package it showed real-file entries as pathless. The first-touch hook and the statusline cache already handled the recased ledger since 3.10.0; the 3.10.1 note saying they still assumed lowercase was wrong. - Auto-fix restores a differently-cased archive instead of deleting it (ledger
lib/autofix-ship.sh:74). Before shipping, the ledger reset checked and removed the literaldocs/found-issues-archive.md; on a case-insensitive filesystem that deleted a trackedDocs/found-issues-archive.md, and the deletion was committed. It now restores the archive in the spelling git tracks. uninstall-statusline --targetstages its stripped copy beside the target (ledgerlib/statusline-uninstall.sh:129). It used$TMPDIRand then moved the file onto the target, a non-atomic copy when$TMPDIRis on another volume and a failure when$TMPDIRis unusable. The move is now a same-directory rename, and a failed move cleans up and exits 14.- Dead code removed (ledger
lib/autofix-ship.sh:34):fi_af_ledger_pathshad no callers since 3.10.0.