Skip to main content

Module capture

Module capture 

Source
Expand description

A quiet check’s output: the whole of it on disk, a bounded excerpt in memory (fleet plan 2026-10-11 “test output keeps its status”, shared rules).

A captured check used to grow slot.buf with every byte its tool printed and pour it all out at the end — a passing clippy was 3.4 KB of download lines in an agent’s context. Under quiet, the bytes go to <git-dir>/amont/logs/<check>.<pid>.log.tmp as they arrive (tailable while the check runs), and through the excerpt accumulator, which holds at most 64 KB whatever the tool prints. When the check ends the file is renamed to .log, and the slot prints one line on a pass or the failure blocks on anything else.

Storage is never allowed to change the verdict: a log that cannot be created, written or renamed stops being written, the accumulator keeps being fed, and the result says where the log is not.

holds-until: amont installs no SIGINT/SIGTERM handler of its own for this. staged_only already does, to bring back the user’s parked unstaged changes during the index-fidelity hold, and a second handler on the commit path would compete with it. So an interrupted run leaves its <check>.<pid>.log.tmp — complete up to the interrupt, and named by the running line — and pruning never removes a .tmp. Revisit when amont has one signal path that both can register with.

Structs§

Capture

Enums§

Stored
Where a check’s log ended up.

Functions§

log_dir
<git-dir>/amont/logs, created 0700. None outside a repository.