Skip to content

feat: add atomic changeset application core - #17

Merged
yuyukosama2004 merged 2 commits into
mainfrom
codex/r3-changeset-core
Jul 18, 2026
Merged

yuyukosama2004 merged 2 commits into
mainfrom
codex/r3-changeset-core

Conversation

@yuyukosama2004

Copy link
Copy Markdown
Owner

Summary

  • add ChangeSet and ChangeOperation persistence with Alembic migration 20260718_0003
  • implement block-level insert_before, insert_after, replace_block, and delete_block
  • enforce baseline document hashes, stable node IDs, original hashes, orphan/conflict outcomes, partial decisions, and safe rebase
  • expose create/list/get/apply APIs with optimistic draft revision checks and one-transaction draft/status updates
  • keep SceneVersion and Canon history immutable; accepted operations only create/update the working draft

Verification

  • backend: Ruff, mypy, 96 pytest tests
  • frontend regression: ESLint, 62 Vitest tests, production build (unchanged frontend)
  • migration upgrade/downgrade/re-upgrade included in the full suite
  • API tests cover partial accept, stale revision rejection, safe rebase, all-reject no-op, and stale baseline hash rejection

@yuyukosama2004
yuyukosama2004 merged commit 94236f6 into main Jul 18, 2026
2 checks passed
@yuyukosama2004
yuyukosama2004 deleted the codex/r3-changeset-core branch July 18, 2026 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant