Stage 2 of the long-term TRACE vision (see `docs/ROADMAP.md`): simultaneous multi-witness alignment producing a canonical variant graph plus a derived aligned table view.
Goal
Implement `tracealign.align_multi(witnesses, lang, config) -> MultiAlignmentResult`, building on the v0.1 pairwise aligner. Three-phase pipeline:
- Pairwise distance matrix via v0.1 `align()`.
- UPGMA guide tree built from the distance matrix; deterministic tie-breaking on sorted witness IDs.
- POA-based progressive merge: walk the guide tree in post-order, align each new witness against the current variant graph via partial-order alignment, merge the result.
Phase issues
Reference documents
Branch and release strategy
- Feature branch: `feature/v0.2-multi-witness` off `develop`
- PR target: `develop`
- Release branch for cutting 0.2.0: `release/0.2.0` off `main`
Acceptance criteria (from spec §8)
Stage 2 of the long-term TRACE vision (see `docs/ROADMAP.md`): simultaneous multi-witness alignment producing a canonical variant graph plus a derived aligned table view.
Goal
Implement `tracealign.align_multi(witnesses, lang, config) -> MultiAlignmentResult`, building on the v0.1 pairwise aligner. Three-phase pipeline:
Phase issues
Reference documents
Branch and release strategy
Acceptance criteria (from spec §8)