a8ba019d4d
Generalises the family-member trace key (#105 foot-gun): derive it from the axes that actually vary (not two hardcoded axis names), and render it as a filesystem-conformant directory name on every major OS — charset [A-Za-z0-9._-], case-less values (no case-insensitive-FS collision), length-bounded with an FNV-1a fallback for the unbounded-grid edge. Adds the first bool *param* node (LongOnly) and a momentum demo strategy (Ema -> Sub -> Exposure -> LongOnly -> SimBroker) swept via a new `aura sweep --strategy <sma|momentum>` selector — the empirical proof the generic key works for a strategy whose params (incl. a bool) differ entirely from the SMA-cross demo. Boss-signed on the Step-5 grounding-check PASS (an independent fresh-context agent): all 9 load-bearing current-behaviour assumptions ratified by green tests; the end-to-end bool-param sweep path is correctly scoped as new behaviour proven by new tests, not assumed. Workspace type-checks clean. refs #105