A maintenance release that fixes how malformed commands are refused, keeps the Factory Droid uninstall from leaving the hook active, and closes a Windows workdir gap in the Hermes Agent integration.
Changed
- Improved shell-command analysis performance for deeply nested and very long commands by no longer copying and freezing the parse tree on every analysis. (#261)
Fixed
- Fixed
ccsn explainprinting a raw internal error for a command the shell parser cannot parse, such asecho ${. It now prints the unparseable-command reason on stderr and exits 1, or{"error": ...}with--json. (#262) - Fixed hook denials and audit entries for an unparseable command reporting the generic "failed unexpectedly" internal failure. They now report the rule
analysis.strict-unparseable, andccsn logs <id>shows the error codeunparseable-command. Such commands are still denied at every safety level. (#262) - Fixed
uninstall --droiddeleting~/.factory/hooks.jsonwhile the legacy~/.factory/hooks/hooks.jsonstill contained the managed handler, which reported a successful uninstall while Factory Droid kept running the hook. The strippedhooks.jsonis now kept whenever either fallback file exists. (#259) - Fixed the Hermes Agent integration allowing a
terminalcall whoseworkdirused the Windows namespace form (\\?\C:\...). It is now denied as an unusable requested directory, matching every other integration. (#261)