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
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:
getData, i.e. core → api reading)createFromScore, i.e. api → core writing)Every one of them is a metronome / tempo file:
The clean split (half on read, half on write) points at the metronome direction-type handling in the impl layer (
DirectionReader/DirectionWriterand the metronome/beat-unit path).Repro
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