Specifications
link-spec reads specs strictly, as typed TOML, and the paths in
them, written so a spec means the same on any machine. An unknown key
is refused, never ignored
(Specs and Command Lines).
parse
Parses a spec into its type, refusing unknown fields and empty tables.
An empty table is named with its line: line 3: [network] is empty: give it its key, or leave it out.
path
A path as a spec writes it, made absolute: ~/ is the home folder,
and anything else relative is from the spec's folder. .. is refused,
so a spec saved anywhere can't climb out of where it says: write it
from ~/ or in full.
print
A spec as TOML, by the serializer, never by hand, so a name from elsewhere can't add a line.
duration_ms
A duration as milliseconds: a number and a unit, ms, s, m, h
or d ("10m"). Anything else isn't a duration, and says so.