Skip to content

Make mutation batches atomic - #479

Draft
JSv4 wants to merge 1 commit into
agent/issue-454-page-citationsfrom
agent/issue-445-atomic-batches
Draft

Make mutation batches atomic#479
JSv4 wants to merge 1 commit into
agent/issue-454-page-citationsfrom
agent/issue-445-atomic-batches

Conversation

@JSv4

@JSv4 JSv4 commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • add full-package, nested LIFO DocxSession transactions and atomic-by-default mutation batches
  • collapse successful atomic batches to one version/undo unit and restore package, history, configuration, revision generators, and relationship topology on failure
  • expose consistent atomic/best-effort contracts through JSON/Ops, WASM/npm, Python/stdio, and MCP; retain apply as an explicitly deprecated best-effort alias
  • add structured indexed failures, upfront MCP argument/precondition validation, docs, and regression coverage

Verification

  • dotnet test ... --filter "DocxSessionAtomicBatchTests|McpServerDispatcherTests|Precondition": 97/97
  • targeted atomic/precondition subset: 39/39
  • Python atomic/precondition tests: 4/4
  • Playwright Chromium atomic batch tests: 2/2
  • MCP and Python-host builds, npm typecheck, full WASM/npm build and 4 MiB size budget
  • package-byte/custom-XML/relationship rollback checks and git diff --check

Stack

Draft stacked on agent/issue-454-page-citations in the epic's dependency-correct linear chain. #445 still consumes the version/precondition primitive from #447; #454 is placed immediately after #447 so its renderer/page-map work is integrated before the transport-heavy mutation layers. Retarget to main as dependencies land.

Fixes #445

@JSv4
JSv4 force-pushed the agent/issue-447-preconditions branch from b05578b to e467c0d Compare August 14, 2026 09:49
@JSv4
JSv4 force-pushed the agent/issue-445-atomic-batches branch from 027418c to 502aba8 Compare August 14, 2026 09:49
@JSv4
JSv4 changed the base branch from agent/issue-447-preconditions to agent/issue-454-page-citations August 14, 2026 09:49
@JSv4
JSv4 force-pushed the agent/issue-454-page-citations branch from 2a6ae05 to 308f1df Compare August 14, 2026 10:04
@JSv4
JSv4 force-pushed the agent/issue-445-atomic-batches branch from 502aba8 to 503f0ed Compare August 14, 2026 10:04
@JSv4
JSv4 force-pushed the agent/issue-454-page-citations branch from 308f1df to dc888c7 Compare August 14, 2026 11:11
@JSv4
JSv4 force-pushed the agent/issue-445-atomic-batches branch from 503f0ed to 17b3efe Compare August 14, 2026 11:11
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