# Version-checked publishing stops overwritten workflows

> Every publish from an agent, the geni CLI, or MCP is checked against the version it started from, so a stale draft is refused instead of reverting work.

Sep 10, 2026. Topics: Workflows, Developers, Collaboration. https://www.generalinput.com/changelog/2026-09-10-publish-conflict-checks

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.