Software teams settled version control decades ago: one repository, explicit commits, branches, and merges. AI creative teams still version assets the way office workers versioned memos in 2003 — final_v2_reallyfinal.png. The result is predictable: nobody knows which version was approved, what changed between versions, or whether the delivered file matches the signed-off state.
Why creative versioning is harder than code versioning
- Diffs are visual and subjective: changed pixels do not explain changed intent.
- Each version implies a recipe change (prompt, seed, model, reference) that must travel with it.
- Approvals are decisions with rationale, not just merge events.
- Branches are campaign variants with different delivery constraints, not throwaway experiments.
The version-state model
Versions hang off a stable asset identity, so v7 and v12 are recognizably the same campaign source at different states. Status transitions are explicit events with authors and timestamps. Superseded versions stay retrievable — clients do ask for the version they rejected three weeks ago.
Filename suffixes vs. version states
Versioning approaches
| Question | Filename suffixes | Version states |
|---|---|---|
| Which is approved? | Guess from names | Approval flag + history |
| What changed in v6? | Open both files | Recorded cause per version |
| Reproduce v4? | Hope the prompt survives | Stored recipe per state |
| Branch a variant? | Copy the folder | Branch with parent link |
Implementation checklist
Version-control checklist
- Give each asset family a stable identity separate from filenames.
- Record cause (prompt/parameter/reference delta) on every version.
- Make approval an explicit status transition with author and date.
- Keep superseded versions retrievable with their records intact.
- Branch variants with parent links instead of copying folders.
What to measure in a paid pilot
Track wrong-version delivery incidents, time to identify the approved state, and reproduction success for historical versions. The workflow assessment can help identify gaps in versioning.
Start with the workflow assessment to find where your team loses context today, read the Production Memory guide, and browse the use-case library for related workflows.
Key takeaways
- Version the identity, not the file: one canonical asset, many explicit states.
- Every version needs: what changed, what produced it, approval state.
- Filename suffixes (_v3_final_FINAL) are a versioning failure mode.
- Approval state must be a first-class field, not tribal knowledge.
