Skip to content

failproofai 1.0.9

Choose a tag to compare

@NiveditJain NiveditJain released this 29 Sep 14:39
· 64 commits to main since this release
ee5dc02

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. shadow is no longer accepted anywhere: a jev.json still set to mode: "shadow" (which failproofai config --token wrote 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:
    failproofai policies add FailproofAI/jev-policies
    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 jev status tells 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 --status flags a profile still on shell hooks ("Hermes cron jobs are not checked"), a plugin switched off in plugins.disabled, a config.yaml that does not parse, and another plugin occupying the failproofai name.
  • If the running daemon is too old to serve the plugin, update keeps the shell hooks and tells you to run failproofai config.
  • update no 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-policies no longer switches off built-in policies enforced from your config.
  • failproofai update and failproofai config keep the extra paths added with failproofai harness add-path.
  • FailproofAI Cloud reports Jev's mode as observe; fp guardrails summary shows 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