Surfaced by the reworked round-trip classifier (PR #225; part of #212).
What
When a source file has no <identification> (or no <encoding>), the api writer emits one anyway. add:encoding and add:identification are the two highest-yield blockers on the corpus.
Verified on ksuite/k007a_Notations_Dynamics.xml:
- expected: no
<identification>
- actual:
<identification><encoding /></identification> (an empty encoding)
lysuite/ly33c_Spanners_Slurs.xml differs from its source by only the injected empty <encoding /> (distance 1 — fixing this alone flips it to PASS).
Impact (reorder-free candidate files; 550 total)
add:encoding: 535 files (sole blocker of 3)
add:identification: 420 files
Stop emitting an empty <encoding/>, and do not synthesize an <identification> when the source had none.
Repro
make dump-api-roundtrip && make classify-api-roundtrip
# build/api/classified.json: signatures add:encoding / add:identification
References
Surfaced by the reworked round-trip classifier (PR #225; part of #212).
What
When a source file has no
<identification>(or no<encoding>), the api writer emits one anyway.add:encodingandadd:identificationare the two highest-yield blockers on the corpus.Verified on
ksuite/k007a_Notations_Dynamics.xml:<identification><identification><encoding /></identification>(an empty encoding)lysuite/ly33c_Spanners_Slurs.xmldiffers from its source by only the injected empty<encoding />(distance 1 — fixing this alone flips it to PASS).Impact (reorder-free candidate files; 550 total)
add:encoding: 535 files (sole blocker of 3)add:identification: 420 filesStop emitting an empty
<encoding/>, and do not synthesize an<identification>when the source had none.Repro
References