Enforce health raw retention decisions
The approval artifact's raw-retention decision is now operative. The validated PreSaveGateDecision is the sole authority, and save paths do not re-read the artifact after the gate passes.
Apple Health discard writes no raw/ at all. retain_parsed retains only raw/export.xml, streamed from the ZIP member so GPX workout routes, ECG CSVs, and clinical CDA records are not copied along, for both ZIP and directory inputs. retain_complete is the only branch that may copy the original archive or full export tree.
Oura discard writes no raw page JSONL, while retain_parsed writes pages as before. Under discard, normalized rows and manifests claim no raw path and newly inserted dedupe rows carry a null raw_ref; updates preserve an earlier still-valid raw_ref so historic provenance is never erased and never dangles into the current no-raw bundle.
Manifests and returned save metadata name the applied choice. The window-independent raw_ref ordinal contract, the Oura quiet-run cursor-only contract, and catalog-writes-nothing behavior are preserved.
(cherry picked from commit f80534d202a128f0a50932c6e521071e51461098)