Skip to content

fix: serialize patch file mutations - #28

Merged
code-yeongyu merged 1 commit into
code-yeongyu:mainfrom
alexei-ciobanu:fix/mutation-queue-and-failure-wording
Jul 30, 2026
Merged

fix: serialize patch file mutations#28
code-yeongyu merged 1 commit into
code-yeongyu:mainfrom
alexei-ciobanu:fix/mutation-queue-and-failure-wording

Conversation

@alexei-ciobanu

@alexei-ciobanu alexei-ciobanu commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • wrap each patch hunk's full mutation window in Pi's withFileMutationQueue
  • lock move source and destination paths in deterministic order
  • canonicalize and deduplicate queue paths to avoid alias deadlocks
  • distinguish complete failures from partial failures in tool output
  • add coverage for complete-failure wording and concurrent update/move behavior

Validation

  • npm test (57 tests)
  • npm run check
  • concurrent tests repeated 20 times

Review in cubic

@code-yeongyu
code-yeongyu merged commit 9eb7b58 into code-yeongyu:main Jul 30, 2026
2 checks passed
code-yeongyu added a commit that referenced this pull request Jul 30, 2026
PR #22 removed the realpath import when it deleted the containment
guard. PR #28 added canonicalMutationPath which uses realpath. The
merge of #28 onto main-with-#22 left realpath undefined, breaking
27 tests. Restore it.
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.

2 participants