- the header's trailing meta is labelled instead of bare numbers:
"ADF/EF_IMSI (6F07) — READ BINARY · APDU #490 · 0251.199 sec" (the record
part already read "Record 2 / 5")
- the summary counts only what happened: "{c} bytes changed · {n} bytes newly
observed" drops whichever part is zero ("4 bytes changed" alone when nothing
was first observed) and an empty diff reads "No changes" instead of
"0 bytes changed, 0 bytes newly observed"
- i18n: the combined key splits into '{c} bytes changed' / '{n} bytes newly
observed' plus 'No changes', 'APDU' and 'sec' ('{c}','{n}' placeholders keep
the existing replace-based substitution; the Russian keeps the established
wording: «Изменено байт: {c}», «Впервые наблюдается байт: {n}», «с»)
- tests: the header and summary assertions follow the labels, a short-file
case pins the omitted zero, and an empty-diff case pins 'No changes';
527 Python + 76 Node tests
- PWA_VERSION/pyproject/version.py 2.7.4, SW cache simtrace-analyser-v84