File: //tmp/bm_compact_reports.cjs
const fs = require('fs');
for (const file of ['storage/reports/growth-distribution-latest.json','storage/reports/social-preview-latest.json','storage/reports/growth-analytics-traffic-quality-latest.json']) {
const j = JSON.parse(fs.readFileSync(file, 'utf8'));
console.log('\n## ' + file);
if (file.includes('distribution')) {
console.log(JSON.stringify({ ok:j.ok, issues:j.issues, queueSize:j.queueSize, planSize:j.plan?.length, today:j.today?.slice?.(0,5), topChannels:Object.fromEntries(Object.entries(j.queues||{}).map(([k,v])=>[k,v.slice(0,3).map(x=>({route:x.route,priority:x.priority,title:x.title,url:x.url}))])) }, null, 2));
} else if (file.includes('social-preview')) {
const issueRoutes = (j.routes || []).filter(r => r.issues?.length || r.shareKit && (!r.shareKit.linkedin || !r.shareKit.reddit || !r.shareKit.utm));
console.log(JSON.stringify({ ok:j.ok, issues:j.issues, totalRoutes:j.routes?.length, issueRoutes:issueRoutes.slice(0,12).map(r=>({route:r.route, issues:r.issues, shareKit:r.shareKit, title:r.og?.title})) }, null, 2));
} else {
console.log(JSON.stringify({ ok:j.ok, issues:j.issues, windows:j.windows?.map(w=>({days:w.days, sessions:w.totals?.sessions, visitors:w.totals?.visitors, photosCreated:w.totals?.photosCreated, votesCreated:w.totals?.votesCreated, seoLandingViews:w.acquisition?.seoLandingViews, seoFlowRateClicks:w.acquisition?.seoFlowRateClicks, uploadPageViews:w.uploadFunnel?.uploadPageViews, pickerClicks:w.uploadFunnel?.pickerClicks, fileSelections:w.uploadFunnel?.fileSelections})) }, null, 2));
}
}