Small follow-ups to #23.
Trailing spaces. Some are needed: focus_messages, chord_detail_accuracy_message, chord_detail_missing_pitches_suffix and note_detail_extra_message get concatenated, so stripping them gives "…70% accurate.Missing note(s): C.". Others do nothing — chord_summary_messages["needs_practice"] and completeness_level_messages["needs_more_practice"] are joined with "\n". Comment the first group, strip the second. These sit inside string literals, so the formatter pass in #16 won't reach them.
Thresholds aren't visible here. Nothing in the file says "excellent" means >= 0.90. One comment per dict.
Two headers left behind. "Note Detail:" and "Chord Detail:" (lines 1109, 1116) are still hardcoded, though the docstring says they shouldn't be.
focus_messages keys read backwards. focus_messages["pitch"] praises rhythm. Rename to focus_preamble_messages, keyed by what's praised. Skip if #24 lands first.
Pin messages in tests. Following 6121639, assert on report_section_titles["summary"] rather than a substring.
Small follow-ups to #23.
Trailing spaces. Some are needed:
focus_messages,chord_detail_accuracy_message,chord_detail_missing_pitches_suffixandnote_detail_extra_messageget concatenated, so stripping them gives"…70% accurate.Missing note(s): C.". Others do nothing —chord_summary_messages["needs_practice"]andcompleteness_level_messages["needs_more_practice"]are joined with"\n". Comment the first group, strip the second. These sit inside string literals, so the formatter pass in #16 won't reach them.Thresholds aren't visible here. Nothing in the file says
"excellent"means >= 0.90. One comment per dict.Two headers left behind.
"Note Detail:"and"Chord Detail:"(lines 1109, 1116) are still hardcoded, though the docstring says they shouldn't be.focus_messageskeys read backwards.focus_messages["pitch"]praises rhythm. Rename tofocus_preamble_messages, keyed by what's praised. Skip if #24 lands first.Pin messages in tests. Following 6121639, assert on
report_section_titles["summary"]rather than a substring.