55dee38d22
M3 fix for BLOCKER #138: an end-of-stream `finalize` lifecycle on sinks lets reductions fold online into O(trades)+O(1) state, so full-history stage1-r sweeps run in bounded memory per member instead of OOM-killing. Grounding-check PASS; signed autonomously under /boss. refs #138