Skip to content

fix api round-trip crash on metronome/tempo marks #218

Description

@webern

Surfaced by the round-trip failure classifier (#211, PR #217).

What

16 corpus files fail the api pipeline outright — no output is produced at all (the worst failure mode: a total crash, not partial data loss). They split evenly:

  • 8 GETDATAFAIL (the failure is in getData, i.e. core → api reading)
  • 8 CREATEFAIL (the failure is in createFromScore, i.e. api → core writing)

Every one of them is a metronome / tempo file:

GETDATAFAIL  synthetic/metronome-arrows.3.1.xml, metronome-beam.3.0, metronome-dot.3.0,
             metronome-note.3.0, metronome-relation.3.0, metronome-tied.3.1,
             metronome-tuplet.3.0, metronome-type.3.0
CREATEFAIL   synthetic/metronome.3.0/.3.1/.4.0, per-minute.3.0, beat-unit-tied.3.1,
             lysuite/ly31c_MetronomeMarks.xml, musuite/testTempo1.xml,
             musetrainer/Erik_Satie_-_Gymnopedie_No.1.xml

The clean split (half on read, half on write) points at the metronome direction-type handling in the impl layer (DirectionReader/DirectionWriter and the metronome/beat-unit path).

Repro

make dump-api-roundtrip
ls build/api/roundtrip-dump/*.status   # each holds GETDATAFAIL or CREATEFAIL
make classify-api-roundtrip            # primary_category "F", pipeline_error_kind set

Severity

Highest. These produce no output, versus the drop/reorder modes which produce imperfect output. The cluster is also tightly scoped to one feature, so it should be a contained fix.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    aiIssues opened by, or through, a coding agent.area/mx::apiarea/mx::implbugsoftware defect

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions