Changelog

Version-checked publishing stops overwritten workflows

Two chats editing the same workflow could silently revert each other: a conversation holding a draft from days earlier could publish it and wipe out changes another chat had made since. Every publish from an agent, the geni CLI, or an MCP client is now conditional on the version its working copy was taken from. A stale copy is refused with instructions to re-read and merge, never applied.

How it works

  • Every working copy knows its base. A chat's draft or a CLI directory records the version it came from, and one rule decides the check for every publish path.
  • No bypass. Holding no working copy doesn't skip the check, and the only override is an explicit force by a person.
  • The winner's files are safe. The version is claimed before files are written, so a losing publish can never clobber the winner.
  • Unpublished work is kept. An untouched draft refreshes itself when a run starts; a draft with edits is kept and its publish is checked instead.
  • Refusals are recovery steps. Read what's live, combine both sets of changes, publish again.

How we tested it

344 tests cover the change, including an end-to-end replay of the original incident against a real database and real stored files, with the key checks mutation-tested.

Older versions of the geni CLI are asked to upgrade.

Your first specialist starts here.

Give it one job. Build the workflows, apps, and skills to get it done.

Create an account

Free to start. No credit card required.

Talk to us