WIP: Add immutable graph-version records and retire-only phase semantics #541

Draft
toasterson wants to merge 1 commit from claude/wi-019fe0f0-add-immutable-graph-version-records-and into main
Owner

Anima work item 019fe0f0-421b-7b02-9918-513cf2ad40c8.

First bounded replacement for WI-386 and its stale PR #505. Re-implement on current main; use the old branch only as archaeology.

Scope only the durable graph definition:

  • Create immutable graph-version records and versioned phase/edge rows.
  • Editing a workflow creates a new version atomically instead of mutating an in-use graph.
  • A phase referenced by any graph version or in-flight item cannot be row-deleted; retirement is explicit and excludes it from new versions.
  • Preserve current workflow reads through a compatibility resolver while the pinning work follows.
  • Add migration, repository tests, cycle/integrity constraints, and rollback-safe backfill.

Do not add Work Item pinning or rewire integration behavior here; those are the next two items.

Anima work item `019fe0f0-421b-7b02-9918-513cf2ad40c8`. First bounded replacement for WI-386 and its stale PR #505. Re-implement on current main; use the old branch only as archaeology. Scope only the durable graph definition: - Create immutable graph-version records and versioned phase/edge rows. - Editing a workflow creates a new version atomically instead of mutating an in-use graph. - A phase referenced by any graph version or in-flight item cannot be row-deleted; retirement is explicit and excludes it from new versions. - Preserve current workflow reads through a compatibility resolver while the pinning work follows. - Add migration, repository tests, cycle/integrity constraints, and rollback-safe backfill. Do not add Work Item pinning or rewire integration behavior here; those are the next two items.
toasterson force-pushed claude/wi-019fe0f0-add-immutable-graph-version-records-and from 606ab2ed64 to 86575fc91e 2026-08-14 15:18:56 +00:00 Compare
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin claude/wi-019fe0f0-add-immutable-graph-version-records-and:claude/wi-019fe0f0-add-immutable-graph-version-records-and
git switch claude/wi-019fe0f0-add-immutable-graph-version-records-and

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff claude/wi-019fe0f0-add-immutable-graph-version-records-and
git switch claude/wi-019fe0f0-add-immutable-graph-version-records-and
git rebase main
git switch main
git merge --ff-only claude/wi-019fe0f0-add-immutable-graph-version-records-and
git switch claude/wi-019fe0f0-add-immutable-graph-version-records-and
git rebase main
git switch main
git merge --no-ff claude/wi-019fe0f0-add-immutable-graph-version-records-and
git switch main
git merge --squash claude/wi-019fe0f0-add-immutable-graph-version-records-and
git switch main
git merge --ff-only claude/wi-019fe0f0-add-immutable-graph-version-records-and
git switch main
git merge claude/wi-019fe0f0-add-immutable-graph-version-records-and
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
toasterson/Anima!541
No description provided.