Formula (per story):
weight = 2.0 x min(coverage, 8) + 3.0 x authority + 10 x exp(-age_hours / 25) + substancesubstance = article read: min(8, words/250) + min(3, findings); feed summary only: 0.5 x findings
Authority per publisher domain (longest suffix match), unknown publishers score 1.2:
| openai.com | 3 |
| anthropic.com | 3 |
| blog.google | 3 |
| deepmind.google | 3 |
| mistral.ai | 3 |
| ai.meta.com | 3 |
| reuters.com | 2.5 |
| apnews.com | 2.5 |
| bloomberg.com | 2.5 |
| wsj.com | 2.5 |
| nytimes.com | 2.5 |
| ft.com | 2.5 |
| bbc.co.uk | 2.5 |
| bbc.com | 2.5 |
| nvidia.com | 2.5 |
| theguardian.com | 2 |
| theverge.com | 2 |
| techcrunch.com | 2 |
| arstechnica.com | 2 |
| wired.com | 2 |
| technologyreview.com | 2 |
| techmeme.com | 2 |
| huggingface.co | 2 |
| axios.com | 2 |
| the-decoder.com | 1.5 |
| 404media.co | 1.5 |
| news.ycombinator.com | 1 |
A story needs a resolvable publisher URL, a parseable publication date, a summary of at most 55 words (its own first paragraphs, trimmed) and at least 2 findings: sentences carrying a number, percent or currency, 40-240 characters, taken in document order, at most 3.
Summaries are the sources' own first paragraphs, trimmed to length; findings are the sources' own sentences. The wire ranks and points; it does not vouch. Carriers (Techmeme, HN discovery) count toward coverage only and never stand as a story's source.
19 of 40 candidates were excluded before ranking (openai.com: fewer than 2 findings; anthropic.com: fewer than 2 findings; openai.com: fewer than 2 findings; huggingface.co: no summary; reuters.com: no summary; theverge.com: fewer than 2 findings; …).
† Figures are counts stored in the edition file (content/ai-news/edition.json) that this page and its RSS feed render from; the edition is written by scripts/ai-news/daily.mjs on a daily schedule.