humans can't practically do the ID or signature but all the rest we could... and an actual human friendly format is easy to make consistent, gofmt does that all day long for me, there is very little elbow room for how it's formatted, only really adding line breaks the rest is fixed, and the line breaks can easily be removed, and line breaks are perfect field separators, because they have no other purpose, unlike brackets and commas and semicolons and colons
having gone through the process of writing parser code for text formats the simple thing of comma separation and not the use of a terminal comma has huge implications not just for the fact you can't cut a line and move it without taking care of the comma positions, in the parsing logic it's an extra comparison and branch to check if it's the last field and omit the comma there
if i were to say what format the structure should take, it would be derived from Go's syntax, which is designed for consistency and easy human editing