To help future analysis software decide whether a feature was present at the time data was written, various components of the stack should insert their own software and hardware versions as metadata that will eventually make it to Nexus file.
For example:
- Borzoi should stream it's own version (maybe as part of metadata of RunStart)
- When borzoi connects to VXI boards and/or FPGAs it should attempt to pull back some kind of version identifier/build date and stream those as part of a runstart too
- How do we get this from UDP -> Kafka and similar programs?
- Filewriter should self-describe:
- e.g.
/raw_data_1/program_name = <name_of_filewriter>
- Attach a version attribute to that dataset to describe revision/build date etc
- Maybe something in the forwarder / forwarder-configurer to describe that version number
- If possible also pull back IBEX server version.