FRONT PAGE TIME MACHINE

a memory of what the public web cared about  
Divergence — how much the front pages disagreed about the lead story at each hour (Shannon entropy). Tall bars are where to scrub to. Click a bar to jump.

Repairs — the collector fleet, healing on the same clock as the news

🔧 CNN 19:27 UTC DEGRADED 29 stories at detection

Prompt sent (generated from the health report):

The homepage scraper for https://edition.cnn.com is returning bad data: 42/71 rows had an empty headline (59%). Fix the extraction so every story card on the page yields all of these fields, with these exact names: headline, article_url, section, summary, image_url, published_at, story_type, position. Do not rename, add or drop output fields. Still working: story_count, url_extraction, duplicate_urls, position_integrity. Locate stories by their semantic role on the page — a prominent link introducing a news item — not by CSS class names or style hashes, which change on every redesign.

a repair is already running on this collector — wait for it rather than retrying (Command failed: C:\Program Files\nodejs\node.exe ~\AppData\Roaming\npm\node_modules\@brightdata\cli\dist\…)

🔧 Fox News 06:53 UTC DEGRADED 673 stories at detection

Prompt sent (generated from the health report):

The homepage scraper for https://www.foxnews.com is extracting too much: 1156/1836 rows duplicated an earlier URL (63%); 673 stories — no front page has more than ~300; navigation, rails or footer links are being extracted as news. Restrict extraction to editorial story promos on the front page only — exclude navigation menus, section rails, footers, tickers and recirculation links. Keep these exact output fields: headline, article_url, section, summary, image_url, published_at, story_type, position. Do not rename, add or drop output fields. Still working: headline_extraction, url_extraction, position_integrity. Locate stories by their semantic role on the page — a prominent link introducing a news item — not by CSS class names or style hashes, which change on every redesign.

ai_generation_finished 19.1m stopped_at_approval_gate 0m approve_failed 159.5m

Command failed: C:\Program Files\nodejs\node.exe ~\AppData\Roaming\npm\node_modules\@brightdata\cli\dist\index.js scraper approve c_msx9zyim6j7c97zp4 --url https://www.foxnews.com --json Approving self-healing... Failed to approve self-healing for collector c_msx9zyim6j7c97zp4: Error: sprintf invalid format %j (ide_automation %s (status=%s): %j) Status: 500 Note: the heal did not complete, but scraper c_msx9zyim6j7c97zp4 is unchanged and still works as it did before. Open https://brightdata.com/cp/scrapers/c_msx9zyim6j7c97zp4 to inspect it, or re-run `bdata scraper heal` with a sharper prompt.

🔧 Al Jazeera 07:16 UTC HEALING 0 stories at detection

Prompt sent (generated from the health report):

The homepage scraper for https://www.aljazeera.com is returning bad data: collector returned 42 rows, none of which survived normalization; 22/42 rows carried an upstream error, not a story — the collector is not at fault and healing will not help; 20/42 rows had an empty headline (48%). Fix the extraction so every story card on the page yields all of these fields, with these exact names: headline, article_url, section, summary, image_url, published_at, story_type, position. Do not rename, add or drop output fields. Still working: url_extraction, duplicate_urls, position_integrity. Locate stories by their semantic role on the page — a prominent link introducing a news item — not by CSS class names or style hashes, which change on every redesign.

ai_generation_finished 9.4m stopped_at_approval_gate 0m

🔧 BBC News 08:50 UTC DEGRADED 167 stories at detection

Prompt sent (generated from the health report):

The homepage scraper for https://www.bbc.com/news is returning bad data: 76/243 rows duplicated an earlier URL (31%). Fix the extraction so every story card on the page yields all of these fields, with these exact names: headline, article_url, section, summary, image_url, published_at, story_type, position. Do not rename, add or drop output fields. Still working: story_count, headline_extraction, url_extraction, position_integrity. Locate stories by their semantic role on the page — a prominent link introducing a news item — not by CSS class names or style hashes, which change on every redesign.

ai_generation_finished 2.9m stopped_at_approval_gate 0m approve_failed 59.1m

Command failed: C:\Program Files\nodejs\node.exe ~\AppData\Roaming\npm\node_modules\@brightdata\cli\dist\index.js scraper approve c_msx92bd12pt6jc6ulk --url https://www.bbc.com/news --json Approving self-healing... Failed to approve self-healing for collector c_msx92bd12pt6jc6ulk: Error: sprintf invalid format %j (ide_automation %s (status=%s): %j) Status: 500 Note: the heal did not complete, but scraper c_msx92bd12pt6jc6ulk is unchanged and still works as it did before. Open https://brightdata.com/cp/scrapers/c_msx92bd12pt6jc6ulk to inspect it, or re-run `bdata scraper heal` with a sharper prompt.

🔧 CNN 09:04 UTC DEGRADED 31 stories at detection

Prompt sent (generated from the health report):

The homepage scraper for https://edition.cnn.com is returning bad data: 39/70 rows had an empty headline (56%). Fix the extraction so every story card on the page yields all of these fields, with these exact names: headline, article_url, section, summary, image_url, published_at, story_type, position. Do not rename, add or drop output fields. Still working: story_count, url_extraction, duplicate_urls, position_integrity. Locate stories by their semantic role on the page — a prominent link introducing a news item — not by CSS class names or style hashes, which change on every redesign.

a repair is already running on this collector — wait for it rather than retrying (Command failed: C:\Program Files\nodejs\node.exe ~\AppData\Roaming\npm\node_modules\@brightdata\cli\dist\…)

🔧 Fox News 09:36 UTC DEGRADED 667 stories at detection

Prompt sent (generated from the health report):

The homepage scraper for https://www.foxnews.com is extracting too much: 1160/1834 rows duplicated an earlier URL (63%); 667 stories — no front page has more than ~300; navigation, rails or footer links are being extracted as news. Restrict extraction to editorial story promos on the front page only — exclude navigation menus, section rails, footers, tickers and recirculation links. Keep these exact output fields: headline, article_url, section, summary, image_url, published_at, story_type, position. Do not rename, add or drop output fields. Still working: headline_extraction, url_extraction, position_integrity. Locate stories by their semantic role on the page — a prominent link introducing a news item — not by CSS class names or style hashes, which change on every redesign.

a repair is already running on this collector — wait for it rather than retrying (Command failed: C:\Program Files\nodejs\node.exe ~\AppData\Roaming\npm\node_modules\@brightdata\cli\dist\…)

🔧 Al Jazeera 09:40 UTC DEGRADED 0 stories at detection

Prompt sent (generated from the health report):

The homepage scraper for https://www.aljazeera.com is returning bad data: collector returned 45 rows, none of which survived normalization; 25/45 rows carried an upstream error, not a story — the collector is not at fault and healing will not help; 20/45 rows had an empty headline (44%). Fix the extraction so every story card on the page yields all of these fields, with these exact names: headline, article_url, section, summary, image_url, published_at, story_type, position. Do not rename, add or drop output fields. Still working: url_extraction, duplicate_urls, position_integrity. Locate stories by their semantic role on the page — a prominent link introducing a news item — not by CSS class names or style hashes, which change on every redesign.

a repair is already running on this collector — wait for it rather than retrying (Command failed: C:\Program Files\nodejs\node.exe ~\AppData\Roaming\npm\node_modules\@brightdata\cli\dist\…)