Skip to content

fix(oss-commit-sync): align-tree must align the full tree including excluded paths#187

Merged
sydorovdmytro merged 1 commit into
mainfrom
devops-1121/align-tree-strict
Jul 21, 2026
Merged

fix(oss-commit-sync): align-tree must align the full tree including excluded paths#187
sydorovdmytro merged 1 commit into
mainfrom
devops-1121/align-tree-strict

Conversation

@sydorovdmytro

Copy link
Copy Markdown
Contributor

Summary

  • Live rehearsal of the migration in the experiments org (fake monorepo + fake OSS repo, real workflows, oss-commit-sync/v1) caught a gap the offline suite missed: align-tree: true with seeds ran green but did nothing. The exclude-aware convergence assertion (added in feat(oss-commit-sync): per-commit diff-replay oss sync action replacing subtree-mirror #185's review round) also gated the alignment path, and since the only drift was the excluded producer workflow, no alignment commit was created — so the OSS-only workflow survived and, worse, no Monorepo-Commit trailer was seeded, leaving every subsequent push-triggered export failing and asking for seeds.
  • align-tree: true now branches on strict tree inequality and aligns everything including excluded paths: it is the explicit operator escape hatch, and at migration it is exactly what deletes the OSS-only producer workflows and seeds the first trailer. The failure path and the divergence guard stay exclude-aware.

Test plan

  • New bats test reproduces the exact rehearsal fixture (pre-migration OSS with excluded producer workflow, no trailers, seeded align-tree run) and asserts: workflow deleted, trailer seeded, trees converged, and the next run is self-sufficient without seeds. 28/28 pass; shellcheck clean.
  • Will re-run the live migration rehearsal after merge + re-pointing oss-commit-sync/v1.

References DEVOPS-1121

…xcluded paths

rehearsal in the experiments org caught this: with the assertion made
exclude-aware, the migration run (align-tree=true, seeds, excluded producer
workflow as the only drift) became a green no-op. it deleted nothing,
appended no alignment commit, and seeded no Monorepo-Commit trailer, so
every subsequent push-triggered export would fail asking for seeds.

align-tree now branches on strict tree inequality: it is the explicit
operator escape hatch and aligns everything, while the failure path and the
guard stay exclude-aware. regression-tested with the exact migration
fixture.
@sydorovdmytro
sydorovdmytro merged commit 1f13186 into main Jul 21, 2026
5 checks passed
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