v0.1.4
Install
cargo install mandible
Or download a pre-compiled binary from the assets below. Verify with the accompanying .sha256.
This release introduces a critical execution safety update to prevent Mandible from accidentally triggering destructive system commands during background probing, alongside a UX fix for tools that output full man pages.
Critical Safety Fix
- Blocked Destructive Commands: Mandible will no longer execute programs designed to kill processes or alter system states. (Previously, running
mandible pkillcould trigger a system freeze requiring a hard reset). - The Root Cause: Mandible's specification permits probing tools using argument shapes like
<tool> <word> --help. For process killers, the first positional argument is treated as a target, not a subcommand. Therefore, an automated probe ofkillall foo --helpattempts to kill everything namedfoo. Any parser change that emitted subcommands for these tools risked turning the background tree-warmer into a process massacre. - Chokepoint Defense: Execution of
kill,pkill,killall,killall5,skill,xkill,fuser,halt,poweroff,reboot,shutdown,telinit, andinitis now explicitly refused before any process is spawned. This check sits at the single execution chokepoint, protecting all tiers, including the backgroundPATHsweeper. - Architectural Distinction: This blocklist is explicitly a safety rule based on what a program does, preserving Mandible's strict architectural ban on hardcoding per-tool parsing logic.
Fixed
- Accurate Confidence Reporting: Fixed an issue where tools falling back to raw man pages (like
mandible git) displayed a misleading "low confidence: 0% parsed" warning on every node. For tools likegit clone --help(which renders 405 lines ofroffprose), degrading to verbatim text with 0.0 confidence is the intentional, correct behavior. The low-confidence caveat now appropriately skips verbatim nodes while still flagging genuinely poor structural parses (e.g.,findat 11%,ipat 9%).