Skip to content

feat(editor): R-00363 M6-D rebase, conflict panel, and three-way merge - #13

Merged
Go1c merged 2 commits into
mainfrom
feat/R-00363-rebase
Sep 2, 2026
Merged

feat(editor): R-00363 M6-D rebase, conflict panel, and three-way merge#13
Go1c merged 2 commits into
mainfrom
feat/R-00363-rebase

Conversation

@Go1c

@Go1c Go1c commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

R-00363 M6-D rebase / ConflictPanel

Implements Host POST /api/drafts/{t}/rebase and the editor ConflictPanel. Session.rebase_draft calls patch.merge_cell against a frozen sourceFingerprint snapshot. Does not change patch.py merge semantics.

Acceptance

  1. AI edits a different table/cell: auto-merge, draft kept, submit keeps both sides (e2e different cell auto-merges and submit keeps both sides).
  2. AI edits the same cell: ConflictPanel shows 打开时 / 仓库当前 / 你的草稿; 采我的值 then validate+apply; no 强制覆盖 (e2e same cell opens the conflict panel).
  3. Warehouse delete of an edited row: DELETED_ROW_CONFLICT with 放弃我的改动 / 取消提交; rename still locates by stable id (Python tests).
  4. Schema change: SCHEMA_CHANGED only allows 刷新重放, including after Host restart via draft schemaFingerprint. Successful rebase advances baseFingerprint and increments draftVersion.

Closeout

  • python -m unittest discover -s tests: 122 OK (1 skipped)
  • python tools/lumio_config.py validate / format --check: OK
  • spec-lint: OK
  • git diff --check: OK
  • pnpm lint / pnpm test: 37
  • pnpm build + pnpm e2e: 24 passed

Do not merge until evaluator-authorized dispatcher merge.

Cui added 2 commits September 2, 2026 18:29
Session.rebase_draft calls patch.merge_cell against a frozen sourceFingerprint snapshot, then POST /api/drafts/{t}/rebase advances draftVersion. Auto-merge remounts warehouse as baseline so submit keeps both sides; same-cell STALE_BASELINE opens ConflictPanel without a force-overwrite action.
Return auto-merged sibling cells when one cell conflicts, keep dirty from tearing down Conflicted, allow panel writes through interceptors, filter SSE by table, and detect SCHEMA_CHANGED from the draft schema fingerprint after Host restart.
@Go1c
Go1c merged commit eb9bad3 into main Sep 2, 2026
1 check passed
@Go1c
Go1c deleted the feat/R-00363-rebase branch September 2, 2026 11:04
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