Today, per-beat paths live on beat.Beat.Paths. The beat.Beat struct is only available at the top-level beater; deeper components receive beat.Info instead, which does not carry paths. This forces paths to be threaded as a separate argument through many layers.
Adding a Paths field to beat.Info would make paths available everywhere Info is already passed, reducing boilerplate. Paths are arguably beat metadata—they describe the filesystem locations the process is configured to use, in the same way Name, Version, or ID describe the running instance. They are set once at startup and do not change for the lifetime of the beat.
Today, per-beat paths live on
beat.Beat.Paths. Thebeat.Beatstruct is only available at the top-level beater; deeper components receivebeat.Infoinstead, which does not carry paths. This forces paths to be threaded as a separate argument through many layers.Adding a
Pathsfield tobeat.Infowould make paths available everywhereInfois already passed, reducing boilerplate. Paths are arguably beat metadata—they describe the filesystem locations the process is configured to use, in the same wayName,Version, orIDdescribe the running instance. They are set once at startup and do not change for the lifetime of the beat.