{
  "appeals": 1,
  "budgets": {
    "baseline_limit_s": 600,
    "verification_timeout_s": 600,
    "worker": {
      "max_completion_tokens": 96000,
      "max_turns": 60,
      "max_wall_seconds": 1500.0,
      "prompt_token_budget": 160000
    }
  },
  "issue": "Importing chord symbols from MusicXML with both bass and inversion tags results in the loss of the bass tag upon export to MusicXML\n<!-- Please note that Michael Cuthbert, creator of music21, is taking a sabbatical from\n     the project (after 17 years of continuous development, until at least January 2024. \n     The issues you raise here are unlikely to be addressed until then (unless you choose\n     paid support options).  Please see the music21list Google group for mure information\n     and assistance options.-->\n\n<!-- Version of music21:  print(music21.__version__) -->\n**music21 version**\n\n`9.5.0`   <!-- replace with actual version -->\n\n\n**Problem summary**\n<!-- Briefly: what undesired thing happens when what action is taken? -->\nWhen reading a chord symbol from MusicXML that contains both the `bass` tag and `inversion` tag, the bass is removed from `_overrides`. When writing it out as MusicXML again, the resulting XML file does not contain the `bass` tag but only the `inversion` tag, causing the slash chord to be lost.\n\nI am not sure if this is intentional. I've dug into decades of music21 commit history, issues, and PRs, but couldn't find anything that explicitly state this is intended behavior.\n\n**Steps to reproduce**\n\nBelow is a chord symbol in MusicXML that is triggering this problem:\n```\n      <harmony default-y=\"40\">\n        <root>\n          <root-step>A</root-step>\n        </root>\n        <kind text=\"m\">minor</kind>\n        <inversion>1</inversion>\n        <bass>\n          <bass-step>C</bass-step>\n        </bass>\n      </harmony>\n```\n\nJust simply parsing and writing it out will cause it to lost the bass:\n```\nscore = music21.converter.parse(\"cs_with_bass_and_inversion.musicxml\")\nscore.write(\"musicxml\", \"cs_with_only_inversion.musicxml\")\n```\n\n**Expected vs. actual behavior**\n<!-- Consider annotating the output produced by a function -->\nNot sure what the expected behavior should be. It looks like MusicXML spec doesn't say whether bass or inversion should take precedence. The chord symbol MusicXML in question was generated by Finale, and it does not always produce a slash chord MusicXML with both tags present.\n\n**More information**\n<!-- If relevant: OS, suggested fix, attempted workarounds -->\nOS: macOS, Linux\n\n<!-- Note: only Mac and Windows are directly supported by music21 staff.  \n     Bug reports that are specific to other OSes w/o a PR will be closed\n     unless the reporter is willing to contribute a fix.\n -->\n",
  "source": {
    "image": "docker.io/swerebenchv2/cuthbertlab-music21:1775-36b00ae",
    "platform": "linux/amd64",
    "python": "python",
    "setup": [
      "python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-cuthbertlab__music21-1775-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL211c2ljMjEvbXVzaWN4bWwvdGVzdF9tMjFUb1htbC5weSBiL211c2ljMjEvbXVzaWN4bWwvdGVzdF9tMjFUb1htbC5weQppbmRleCBiOWNiNDYxZTMuLjBjNTQ2NmM3MCAxMDA2NDQKLS0tIGEvbXVzaWMyMS9tdXNpY3htbC90ZXN0X20yMVRvWG1sLnB5CisrKyBiL211c2ljMjEvbXVzaWN4bWwvdGVzdF9tMjFUb1htbC5weQpAQCAtMzYsNiArMzYsNyBAQCBmcm9tIG11c2ljMjEubXVzaWN4bWwubTIxVG9YbWwgaW1wb3J0ICgKICAgICBHZW5lcmFsT2JqZWN0RXhwb3J0ZXIsIFNjb3JlRXhwb3J0ZXIsCiAgICAgTXVzaWNYTUxXYXJuaW5nLCBNdXNpY1hNTEV4cG9ydEV4Y2VwdGlvbgogKQorZnJvbSBtdXNpYzIxLm11c2ljeG1sLnhtbFRvTTIxIGltcG9ydCBNZWFzdXJlUGFyc2VyCiAKIGRlZiBzdHJpcElubmVyU3BhY2VzKHR4dDogc3RyKToKICAgICAnJycKQEAgLTMwNSw2ICszMDYsMzQgQEAgY2xhc3MgVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHkyLmZpbmRhbGwoJ3N5bGxhYmljJylbMV0udGV4dCwgJ2VuZCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHkyLmZpbmRhbGwoJ3RleHQnKVsxXS50ZXh0LCAnZScpCiAKKyAgICBkZWYgdGVzdEV4cG9ydENob3JkU3ltYm9sV2l0aEludmVyc2lvbnMoc2VsZik6CisgICAgICAgICcnJworICAgICAgICBUaGlzIHRlc3QgY2hlY2tzIGZvciB0aGUgaXNzdWUgaW4gMTc1NiB3aGVyZSBhIGNob3JkIHN5bWJvbCBpbXBvcnRlZAorICAgICAgICB3aXRoIGJvdGggaW52ZXJzaW9uIGFuZCBiYXNzIHdvdWxkIG5vdCBoYXZlIHRoZW0gYm90aCBzZXQuCisKKyAgICAgICAgVGhlcmUgd2VyZSBtdWx0aXBsZSBidWdzIGZpeGVkLCBzbyBpbXBvcnRhbnQgdG8gY2hlY2suCisgICAgICAgICcnJworICAgICAgICBleHBsaWNpdEZtNiA9IGhhcm1vbnkuQ2hvcmRTeW1ib2wocm9vdD0nRicsIGJhc3M9J0EtJywgaW52ZXJzaW9uPTEsIGtpbmQ9J21pbm9yJykKKyAgICAgICAgZXQgPSBzZWxmLmdldEVUKGV4cGxpY2l0Rm02KQorICAgICAgICBoYXJtb255RWxzID0gZXQuZmluZGFsbCgncGFydC9tZWFzdXJlL2hhcm1vbnknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihoYXJtb255RWxzKSwgMSkKKyAgICAgICAgaGFybW9ueUVsID0gaGFybW9ueUVsc1swXQorICAgICAgICAjIGhlbHBlcnMuZHVtcChoYXJtb255RWwpCisgICAgICAgIHJvb3QgPSBoYXJtb255RWwuZmluZCgncm9vdCcpCisgICAgICAgIHJvb3RTdGVwID0gcm9vdC5maW5kKCdyb290LXN0ZXAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJvb3RTdGVwLnRleHQsICdGJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXJtb255RWwuZmluZCgna2luZCcpLnRleHQsICdtaW5vcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFybW9ueUVsLmZpbmQoJ2ludmVyc2lvbicpLnRleHQsICcxJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXJtb255RWwuZmluZCgnYmFzcy9iYXNzLXN0ZXAnKS50ZXh0LCAnQScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFybW9ueUVsLmZpbmQoJ2Jhc3MvYmFzcy1hbHRlcicpLnRleHQsICctMScpCisKKyAgICAgICAgIyB0ZXN0IHJvdW5kIHRyaXAKKyAgICAgICAgbXAgPSBNZWFzdXJlUGFyc2VyKCkKKyAgICAgICAgY3MgPSBtcC54bWxUb0Nob3JkU3ltYm9sKGhhcm1vbnlFbCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBsaWNpdEZtNi5iYXNzKGZpbmQ9RmFsc2UpLCBjcy5iYXNzKGZpbmQ9RmFsc2UpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGxpY2l0Rm02LnJvb3QoZmluZD1GYWxzZSksIGNzLnJvb3QoZmluZD1GYWxzZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwbGljaXRGbTYuaW52ZXJzaW9uKCksIGNzLmludmVyc2lvbigpKQorCiAgICAgZGVmIHRlc3RFeHBvcnROQyhzZWxmKToKICAgICAgICAgcyA9IHN0cmVhbS5TY29yZSgpCiAgICAgICAgIHAgPSBzdHJlYW0uUGFydCgpCg=='\"'\"'))'",
      "git apply /tmp/receipts-cuthbertlab__music21-1775-test.patch"
    ],
    "workdir": "/music21"
  },
  "spec_paths": [
    "music21/musicxml/test_m21ToXml.py"
  ],
  "spec_tests": [
    "music21/musicxml/test_m21ToXml.py::Test::testExportChordSymbolWithInversions"
  ],
  "suite_scope": "--no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning music21/musicxml/test_m21ToXml.py"
}
