' + html.escape(str(q.get('explain_sql', ''))[:2000]) + '',
+ '' + html.escape(excerpt) + '', '', '
' + html.escape(json.dumps(detail, indent=2, ensure_ascii=False)) + '', ''] + lines += ['## Load and physical evidence', '', table(['DB', 'Write transport', 'Batches', 'Load smoke rows'], load_rows), '', + f'Raw JSONL size: **{size(raw_bytes)}**. Ratio = raw JSONL / engine bytes at collection time; ' + 'not a settled-storage guarantee. CPU/memory are post-load snapshots, not peaks. ' + 'Missing artifacts remain blank; pre-cleanup stats are not substituted.', '', + table(['DB', 'Engine size', 'Size ratio', 'Materialization', 'SSTs / active parts', + 'Post-load CPU', 'Post-load memory / limit'], physical_rows), '', *details, '