Skip to content

feat(tests): fork sync merges a change declaring Fork-merge: ours as a fork must - #1971

Merged
braboj merged 1 commit into
mainfrom
feat/fork-sync-ours-trailer
Oct 18, 2026
Merged

braboj merged 1 commit into
mainfrom
feat/fork-sync-ours-trailer

Conversation

@braboj

@braboj braboj commented Oct 18, 2026

Copy link
Copy Markdown
Collaborator

Part of #1944 (the last prerequisite before the split).

The split conflicts on a plain merge by design: ADR-049 rule 8 has a fork take it with git merge -s ours. Without this PR, FS-03 fails the split PR with conflicts outside the fork's own documents: ['templates/manifest.yaml'].

Change. When a commit in base..upstream carries the trailer Fork-merge: ours, FS-03:

  1. merges with -s ours, keeping the fork's tree
  2. moves every entry upstream dropped from base:, backend: and frontend: into the fork's own fork: key, and every dropped core ID into fork_core (feat(tools): read a fork's own manifest keys and its fork_core additions #1970). This is the migration a fork makes, and Write the v3.0 migration guide for consuming projects and forks #1292's guide will describe it
  3. runs the merged tree's smoke with SAIT_UPSTREAM_REF at upstream, so SYS-20 checks that the fork now leaves upstream's keys alone

Without the trailer, nothing changes.

Measured on the real split (scratch worktree: the local split branch with main merged in and this runner, trailer committed):

  • FS-03 PASS: 17 entries moved to fork:, base-readme moved to fork_core, nested smoke 36/36
  • Control, the same run with the migration skipped: FS-03 FAIL on SYS-20, so the move is what makes the fork legal

Test changes: a new FS-03 path, and spec MNF-06 gains Execution step 4 and the assertion for it. The existing paths are unchanged (main: 3/3, nested smoke 36/36).

Local (Git Bash): smoke 36/36, conformance 24 / 0 failed, fork sync 3/3. No CHANGELOG entry: this changes this repository's own tests.

🤖 Generated with Claude Code

…a fork must

Part of #1944.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@braboj
braboj merged commit 1bb0915 into main Oct 18, 2026
1 check passed
@braboj
braboj deleted the feat/fork-sync-ours-trailer branch October 18, 2026 06:51
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