For exit lists we are considering using a free-form text field with some suggested formats, e.g. something like "ExitScanner 55.5 using Tor 1.0.0 on Windows 10". If there is later something that affects the specific implementation we can adjust that string without a spec change to report library details.
Unstructured text is a nightmare to parse. Just look at the browser user-agent. Or the Tor ContactInfo field.
If we need something, let's specify it as a separate header.
If we're not sure, then let's leave it out.
juga:
teor:
we have asked authority operators about operating systems before
"system" is a confusing name, please use "operating_system"
platform.platform(aliased=True, terse=True) uses platform.system_alias() to produce names that are better known than platform.system()
you added tor_version in two places, but system in one place. Please refactor EXTRA_ARG_KEYVALUES and BANDWIDTH_HEADER_KEY_VALUES_INIT so the headers are consistent.
please submit a bandwidth-file-spec patch, so the reviewer knows what your code should do
does the "chg: v3bwfile: !refactor, obtain headers from state" commit belong in a separate pull request? It's quite large.
please submit each feature in a separate pull request