Skip to content

feat: add ChangeSet review workflow - #18

Merged
yuyukosama2004 merged 1 commit into
mainfrom
codex/r3-changeset-review
Jul 20, 2026
Merged

yuyukosama2004 merged 1 commit into
mainfrom
codex/r3-changeset-review

Conversation

@yuyukosama2004

Copy link
Copy Markdown
Owner

What changed

  • add typed ChangeSet and ChangeOperation frontend contracts plus API client methods
  • add a dedicated 改动审阅 workspace panel with original/proposed previews
  • support per-operation and batch accept/reject decisions
  • submit the current working-draft revision for optimistic concurrency and refresh on revision conflicts
  • block ChangeSet application while the editor has unsaved content
  • safely load an accepted server draft back into the Tiptap editor without creating a version
  • add focused tests for decisions, batch rejection, revision conflicts, dirty-state protection, and editor draft handoff

Why

R3 requires AI output to remain a reviewable proposal. This closes the first author-control loop on top of the atomic ChangeSet API from #17: no suggested body change reaches the working draft until the author explicitly accepts it.

Impact

Authors can inspect and resolve proposed block edits from the workspace. Accepted edits update only the mutable working draft; they do not create or approve a canonical scene version.

Validation

  • npm run format
  • npm run lint
  • npm test -- --run — 67 passed
  • npm run build
  • python -m ruff check .
  • python -m ruff format --check .
  • python -m mypy app
  • python scripts/verify_migrations.py
  • python -m pytest tests -q — 96 passed

@yuyukosama2004
yuyukosama2004 marked this pull request as ready for review July 20, 2026 09:23
@yuyukosama2004
yuyukosama2004 merged commit 3ff90a3 into main Jul 20, 2026
2 checks passed
@yuyukosama2004
yuyukosama2004 deleted the codex/r3-changeset-review branch July 20, 2026 09:28
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