Repository navigation
failproofai 1.0.9
failproofai 1.0.9
npm install -g failproofai@1.0.9, then failproofai update.
Action needed if you use Jev
- Jev's log-only mode is now called
observe.shadowis no longer accepted anywhere: ajev.jsonstill set tomode: "shadow"(whichfailproofai config --tokenwrote on 1.0.8) is refused, and Jev stays off until you run:failproofai jev setup --provider failproofai # FailproofAI Cloud # or, for your own endpoint: failproofai jev setup --mode observe
- The package no longer ships Jev's checks. Jev asks nothing — and makes no calls — until you install them:
Without that pack, a Jev-configured machine behaves exactly as if Jev were not configured, and the 15 policies Jev is allowed to review stay hard blocks.
failproofai policies add FailproofAI/jev-policies
failproofai jev statustells you which state you are in.
Hermes: cron jobs are checked again
Hermes never runs the old config.yaml shell hooks (the integration failproofai used up to 1.0.5) for cron jobs inside its gateway, so on machines still on those hooks every cron tool call went unchecked. failproofai update now moves every Hermes profile that already uses failproofai — the default home, ~/.hermes/profiles/*, and ~/.hermes-* homes — to the native plugin. The plugin is linked into the npm package, so later upgrades apply with no reinstall. Cron jobs pick it up on their next run; restart running gateways for chat sessions.
failproofai config --statusflags a profile still on shell hooks ("Hermes cron jobs are not checked"), a plugin switched off inplugins.disabled, aconfig.yamlthat does not parse, and another plugin occupying thefailproofainame.- If the running daemon is too old to serve the plugin,
updatekeeps the shell hooks and tells you to runfailproofai config. updateno longer asks for root when the daemon is already current, and exits 0.
Your agent configs are handled more carefully
- Every agent config failproofai edits (
~/.hermes/config.yaml,~/.claude/settings.json,~/.openclaw/openclaw.json, …) is written to a temporary file and atomically swapped in, keeps its permissions, and leaves the previous version beside it as<name>.failproofai-backup. An interruption never leaves a half-written config. - A config that exists but does not parse is never rewritten; failproofai stops and names the file.
- A config that is a symlink is written through to its target (dotfiles setups keep working); a symlink to a missing file is refused rather than replaced.
- A Hermes plugin is only ever replaced when failproofai can prove it installed it.
Also in this release
- Adding
FailproofAI/jev-policiesno longer switches off built-in policies enforced from your config. failproofai updateandfailproofai configkeep the extra paths added withfailproofai harness add-path.- FailproofAI Cloud reports Jev's mode as
observe;fp guardrails summaryshows Jev machines per mode.
Known limitation
Downgrading from 1.0.9 to 1.0.8 or older: 1.0.8 does not recognise the linked Hermes plugin and failproofai config stops with "Refusing to overwrite an unmanaged Hermes plugin". Remove the link first:
rm ~/.hermes/plugins/failproofai ~/.hermes/profiles/*/plugins/failproofai 2>/dev/null