Versioning and governance

Answer the question six months later.

Territory disputes are not about today. They are about what the rules were in March, and whether anybody changed them. Versioned configuration turns that from a matter of memory into a matter of record.

Four states, and only one of them is live

  1. Draft

    Edit as much as you like. Nothing you do here changes a single answer the API is giving right now.

  2. Validate

    Overlaps, gaps, territories assigned to nobody, references that no longer resolve, rules that will not compile. Blocking problems stop the publish; warnings do not.

  3. Publish

    The draft becomes live in one step. Every organization holds its configuration in one place, and that place swaps to the new one whole or not at all.

  4. Keep

    The version that was live yesterday is still there, unchanged, with the shapes and rules it had. That is what makes a decision from last month reproducible.

What is on the record

  • Who changed a boundary, and when

    Territory edits are logged with the version they replaced. The shape itself is not in the log because it is megabytes, but the version it points at is immutable, so it is recoverable.

  • Who published, and why

    A publish carries a reason, and the entry is written in the same transaction as the change.

  • Rolling back

    A previous version can be made live again. It is a new publish of an old configuration rather than an undo, so the history stays a history.

  • Publishing later

    A change can be scheduled, which is how a boundary that takes effect on the first of the month gets configured on the twenty-eighth rather than at midnight.

What it does not do

There is no approval workflow. Anyone who can edit can publish, and the control is that every publish is recorded and reversible rather than that somebody signs it off first. If you need a reviewer before a change goes live, that does not exist yet and we would rather you knew before you bought it.

There is no diff between two versions in the interface. You can see what each one contains and when it was published, but not a side by side comparison.

Decision traces are kept for a bounded period rather than forever. The configuration that made a decision is kept; the record of every individual decision is not.