Skip to content

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 08 Aug 00:31
· 20 commits to main since this release
v0.1.4
090cebf

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 pkill could 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 of killall foo --help attempts to kill everything named foo. 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, and init is now explicitly refused before any process is spawned. This check sits at the single execution chokepoint, protecting all tiers, including the background PATH sweeper.
  • 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 like git clone --help (which renders 405 lines of roff prose), 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., find at 11%, ip at 9%).