Keep objective construction on CPU and evaluate cached detection features in source-sized chunks. Adam gradients now accumulate per chunk, avoiding a monolithic 2,500-image CUDA graph without changing the full-objective mean.
Constraint: Preserve 2,500-image objective and exact 41 Adam evaluations
Rejected: Reduce objective sample count | changes the sealed protocol
Confidence: high
Scope-risk: moderate
Not-tested: Full remote 2,500-image CUDA optimization