IngestionService.hasAnyTraceData() and ChunkAccumulator only checked for inputBody/outputBody when setting has_trace_data on executions. Headers and properties captured via deep tracing were not considered, causing the trace data indicator to be missing in the exchange list. DetailService already checked all six fields — this aligns the ingestion path to match. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>