Repository navigation
Synapse merges changes to different parts of the same file (merge tier T1) - #115
Merged
Merged
Conversation
Adds MergeTier::T1Region (tier tag 1) to the B5 derivation rule. region_merge merges the versions of one file around anchors: base lines that every minimal alignment matches the same way in every version. A segment changed by more than one version is refused, so the rule never depends on which minimal diff is chosen. The merged blob is produced by the rule, written with the derived revision, and recomputed at admission and verification. Gate 4 conflict scenario: the 3 disjoint-hunk pairs merge, all 253 pairs agree with git merge-tree (0 merged Git conflicts, 0 differing trees), and every attestation records tier T1 and the canonical order. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…r T1 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Dependency audit: prerequisite #114 is already merged as All-PR merge desk: aien-dev/aien-architecture-mv#190. Existing implementation ownership is retained; this is not a merge approval. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
Merge tier T1 (region), ADR 0003 D1. When revisions change the same file in separate places, Synapse now merges them line by line instead of refusing the whole file (T0 refused any two revisions touching one path).
synapse-core::merge::region_merge: a base line becomes an anchor when every minimal alignment, in every version, matches it to the same line. The anchors cut the file into segments, and a segment changed by two versions is a conflict. Binary files, files without a final newline, and files whose alignment would exceed 2^22 cells are refused.Evidence
git merge-tree: 245 merged, 0 differing trees, and 0 merges where Git reports a conflict.git merge-file: 3,947 merged, all identical to Git, and 0 merged where Git conflicts.evidence/d1-merge-tier-t1/red-green/).cargo test --workspace --locked --no-fail-fast408 passed, 0 failed; fmt clean; crumbs recompiled with the pinned tool.Limits
Closes #39
🤖 Generated with Claude Code