Skip to content

experiments: reproducible merge for issue #1 (does Live open a Wit merge?) - #31

Merged
sepehrsadri merged 1 commit into
mainfrom
tooling/issue1-merge-repro
Aug 8, 2026
Merged

experiments: reproducible merge for issue #1 (does Live open a Wit merge?)#31
sepehrsadri merged 1 commit into
mainfrom
tooling/issue1-merge-repro

Conversation

@sepehrsadri

Copy link
Copy Markdown
Contributor

Progress on #1, not a close — the last step (actually opening the file in Ableton Live)
is a one-time human act this intentionally does not automate.

What this adds

experiments/reproduce_merge_daw_acceptance.py: reproduces the EXPERIMENTS.md §5
3-way merge against your own real project's Backup/ chain instead of a
hardcoded/fabricated example. Given two adjacent real saves (ancestor + "Alice"'s real
edit), it synthesizes a single, disjoint volume-value edit ("Bob") on a track Alice's
edit didn't touch, 3-way merges via git merge-file, and also emits a round-trip-only
file (gunzip → gzip, zero edits) to isolate repack corruption from merge corruption —
straight from the issue's own reasoning ("if round-tripping alone corrupts a set, that
is a much more fundamental problem than merge semantics").

Verified this session, against a real local Ableton backup chain

  • git merge-file exit 0 (clean merge, no conflict markers)
  • Output diffs from Alice's real save by exactly the one synthesized line — both
    edits present, nothing else touched
  • Both merged.als and roundtrip.als parse as valid XML
  • ruff check clean, no personal paths leaked (check_personal_paths.py clean)

Not verified here, and can't be: whether Ableton Live actually opens either file.
No DAW automation exists in this repo on purpose (SECURITY.md's scope) — that's a
one-time manual check for whoever has Live installed, per the issue's own 4-item
checklist. The generated .als files are derived from real personal project data and
are correctly not committed — only the tool is.

🤖 Generated with Claude Code

Everything in this project is downstream of one unverified assumption:
that a file Wit produces (merged, or just decompressed/recompressed)
is a file Ableton Live will actually open. EXPERIMENTS.md §5 produced a
clean 3-way merge but never launched a DAW to check that.

This script reproduces that merge from a real project's Backup/ chain
(two adjacent real saves for the "ancestor" and "Alice", a synthesized
single-value volume edit on a disjoint track for "Bob"), plus a
round-trip-only file (gunzip/gzip, no edits) to isolate repack
corruption from merge corruption per the issue's own reasoning.

Verified end-to-end against a real local Ableton backup chain in this
session: merge exit 0, output diffs from Alice's real save by exactly
the one synthesized line, both outputs parse as valid XML. Opening the
result in actual Ableton Live is a one-time human step this script
deliberately does not automate (no DAW automation, per SECURITY.md's
scope) — the generated .als files are not committed, only the tool.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@sepehrsadri
sepehrsadri merged commit ec6bdb2 into main Aug 8, 2026
8 of 14 checks passed
@sepehrsadri
sepehrsadri deleted the tooling/issue1-merge-repro branch August 8, 2026 08:36
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