Repository navigation
taskguard v0.7.0
Added
- One run that takes far more memory than the job's other runs no longer sets
its memory need at once. A peak more thanoutlier_ratio(2) times the next
peak below it, and at leastoutlier_min(1 GB) above it, is an outlier.
It counts byoutlier_weights: the first time not at all, the second time
half, the third time in full. A run that failed never counts. Jobs whose
usual peak is underoutlier_minhave no outliers. The job prints a warning
after an outlier run, with the reason, and the reason is kept in the history. taskguard outliers [PATTERN] [--ratio R] [--min SIZE]lists the outliers,
and how much each one counts.taskguard prunedrops runs from the history: of the keys that match a
pattern, older than an age (--older-than 30d), or the outliers
(--outliers). Without--applyit only shows what it would do. Pruned
runs are kept aside, andprune --undoputs them back.- A job short of memory by at most
noise_mem(2%) of RAM, or of CPU by at
mostnoise_cpu(0.5) cores, starts anyway. So does a job that only
programs outside taskguard keep out (outside_admit, on by default), while
memory stays underpause_at. Each such start prints a warning with what
the job lacks. - Help for each command:
taskguard help COMMAND, orCOMMAND --help.
taskguard help --allprints every command in full in one text, for LLM
agents. doctor --explainshows a command's outliers.taskguard tophas a Tasks view (tab 4): every task taskguard knows, with
its namespace, runs, last run and learned needs. Filter by namespace (n),
text (/) and age (a: not run for 1, 7, 30 or 90 days).xprunes every
run of the selected task,Xevery task the filters leave. In a job's view,
xprunes the selected run. Both ask first, andtaskguard prune --undo
puts the runs back.
Changed
- In
taskguard top,?lists every key of the view you are in, and the keys
of every view. The bottom line starts with? keysand shows only the keys
of the view that fit, so it no longer runs off the screen. - The tabs of
taskguard topafter Runs move one up: Trends is 5, Warnings 6,
Namespaces 7, Config 8, Help 9. - A memory need never passes
mem_max, as a CPU need never passescpu_max.
A job that once took more is capped there, and says so. Before, it could
only start on an empty machine.
Prebuilt binaries for macOS (Apple silicon, Intel) and Linux (x86_64, ARM, static musl). Each archive holds the taskguard binary; a .sha256 file sits next to it.