diff --git a/data/substance_audit.json b/data/substance_audit.json new file mode 100644 index 0000000..add34fc --- /dev/null +++ b/data/substance_audit.json @@ -0,0 +1,1502 @@ +{ + "6320": { + "kind": "opinion", + "newsworthy": false, + "confidence": "medium", + "rationale": "The piece analyzes historical trends rather than reporting a specific new event or finding." + }, + "6321": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The IPO is a significant financial event with specific implications for Go's operations and Japan's market." + }, + "6314": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content lists wearable gadgets without reporting on a specific event or recent development." + }, + "6315": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content lists accessories for a vehicle, which is generic and not tied to a specific event or recent development." + }, + "6316": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The article announces specific new features for Apple Music with the release of iOS 27, a recent development tied to a credible source." + }, + "6318": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific human-interest story featuring a well-known writer discussing a personal reflection on a radio drama." + }, + "6319": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The announcement of a private company building NASA's next Mars orbiter is a specific, recent development tied to a credible space mission." + }, + "6312": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides general advice rather than reporting on a specific new event or finding." + }, + "6313": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "medium", + "rationale": "The article discusses a specific upgrade to a historic device, highlighting a recent development in retro computing." + }, + "6311": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The article provides general information rather than reporting on a specific recent event or development." + }, + "6310": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A study rewriting the history of the plague is a specific research finding with significant historical and scientific implications." + }, + "6309": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific scientific discovery with implications for evolutionary biology." + }, + "6308": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content focuses on product features and marketing rather than a newsworthy event or finding." + }, + "6306": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides a cooking technique that is generic and not tied to a specific recent event or development." + }, + "6307": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content promotes a recipe and cooking technique, which is evergreen advice rather than newsworthy information." + }, + "6301": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content explains a common traffic light feature without reporting a new event or finding." + }, + "6303": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The article discusses a specific issue with fitness trackers and tattoos, based on user experiences and manufacturer responses, making it a recent development with practical implications." + }, + "6305": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The article reports on a specific astronomical event with a defined timeline and scientific significance." + }, + "6298": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific, recent demonstration of a hands-on technique for creating PCBs using a magazine, which is a genuine event with practical implications for hobbyists." + }, + "6299": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific, recent project that demonstrates innovation and personal customization in computing." + }, + "6300": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "IEEE's launch of a virtual training course on LLMs is a specific, recent development with clear implications for engineering and AI adoption." + }, + "6297": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific, recent achievement by two individuals in Gaza with international recognition." + }, + "6296": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The research presents a specific, recent scientific advancement with clear implications for industry applications." + }, + "6295": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event with historical and conservation significance that recently occurred." + }, + "6293": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of a new 'whale graveyard' with unknown species is a recent scientific finding with ecological significance." + }, + "6290": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The announcement highlights specific award-winning products with real-world applications and relevance." + }, + "6291": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides a recipe, which is typically considered evergreen advice rather than newsworthy event." + }, + "6292": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content is a curated list of products based on personal experience, typical of a product round-up or listicle." + }, + "6287": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "Specific funding milestones and developments in fusion energy startups are recent and significant events." + }, + "6289": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "Reliance Industries' expansion of AI services represents a significant development in India's tech landscape." + }, + "6284": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event involving the Lincoln Memorial Reflecting Pool turning green due to algae growth after repainting is reported with details and expert analysis." + }, + "6285": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event involving a space telescope re-entering Earth's atmosphere and NASA's attempt to save it is a recent and credible development." + }, + "6286": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific research initiative is being undertaken for the first time in a unique environment." + }, + "6279": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content highlights ongoing community engagement and projects but lacks a specific new event or finding." + }, + "6280": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The article describes a specific, recent invention that uses soap films to create light shows, which is a novel and tangible event." + }, + "6278": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific proposal for a new mission with technological advancements and scientific goals." + }, + "6275": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific, recent environmental cleanup initiative using mushrooms in England, with immediate implementation by local authorities." + }, + "6276": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story covers a specific upcoming event with significant environmental implications tied to Colombia\u2019s election and its impact on climate goals and Indigenous rights." + }, + "6260": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content describes a general trend and strategy rather than a specific event or achievement." + }, + "6261": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content explains a general concept without specific recent events or findings." + }, + "6262": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides general advice on home maintenance rather than reporting a specific event or recent development." + }, + "6263": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The return of a historically significant statue after 26 years is a specific event with clear implications for cultural heritage and community interest." + }, + "6264": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific historical event and preservation effort in Luxembourg." + }, + "6265": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The article highlights a specific historical preservation effort in Braine-le-Ch\u00e2teau, Belgium, offering insight into past judicial practices and cultural heritage." + }, + "6266": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content describes a monument and its historical context but lacks a recent event or development." + }, + "6267": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of ancient human remains and genetic material in Grotte Scladina is a specific scientific finding with recent research implications." + }, + "6268": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The article highlights a specific historical event and cultural achievement related to the preservation of a significant historical fountain in Belgium." + }, + "6269": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific historical event with recent commemoration and community impact." + }, + "6271": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The opening of a new art exhibition with a specific focus on making contemporary art accessible to the public is a recent event with clear cultural significance." + }, + "6272": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific historical site and its connection to a significant historical figure, providing insight into Belgian heritage and industry." + }, + "6274": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The identification and marking of Luxembourg's geographical centre is a specific event with symbolic and geographical significance." + }, + "6259": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The partnership between two reputable universities represents a specific, recent development with clear implications for research and funding." + }, + "6257": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific initiative by a city official in Ann Arbor is reported with details on its goals and impact." + }, + "6258": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The article discusses climate fiction novels, which are creative works rather than actual events or findings." + }, + "6256": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The experiment presents a novel scientific finding with implications for understanding the nature of time." + }, + "6253": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "Specific events in the space industry with clear implications for commercial space exploration." + }, + "6255": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on new analysis from the UK Department for Transport that significantly revises the economic impact of Heathrow's third runway, challenging previous estimates and raising important p" + }, + "6252": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study presents a specific research finding with implications for public health and dietary guidelines." + }, + "6251": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The piece discusses a specific event and reflection tied to Juneteenth, highlighting real experiences and ongoing struggles of Black women seeking freedom abroad." + }, + "6237": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study presents a significant scientific discovery with implications for cosmology and quantum physics." + }, + "6239": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific research finding with measurable results and implications for problem-solving strategies." + }, + "6240": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific scientific discovery with potential therapeutic implications for Alzheimer\u2019s disease." + }, + "6241": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific scientific research finding with implications for crop genetics and evolution." + }, + "6242": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific scientific research finding with potential medical implications." + }, + "6244": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The article reports on specific award-winning design projects that were recognized in 2026, highlighting recent developments in the field of design and architecture." + }, + "6245": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "Announces specific award winners and their innovative designs in consumer technology." + }, + "6246": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The announcement highlights specific, recent award winners and their innovative technologies." + }, + "6248": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content is a listicle of frozen foods, which is a common evergreen format for product recommendations." + }, + "6249": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content appears to be a recipe or cooking-related article, which is typically evergreen and not newsworthy." + }, + "6250": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content focuses on product promotion and consumer behavior rather than a specific news event or finding." + }, + "6235": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific medical breakthrough involving the first human use of exosome treatment for third-degree burns." + }, + "6226": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event (viral video of a rescue helicopter landing) with implications for emergency services and technology." + }, + "6227": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content discusses a trend but lacks specific recent events or data." + }, + "6228": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content discusses a fictional film's themes rather than reporting on a real-world event or development." + }, + "6231": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The article highlights specific recent films with LGBTQ representation during Pride month, indicating a current event with cultural significance." + }, + "6232": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The article highlights a specific historical figure being honored with a space photo, tied to a real event and her significant contributions to NASA and STEM." + }, + "6233": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content is general advice rather than a specific event or recent development." + }, + "6222": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific development in robotics and UX design with real-world implications." + }, + "6223": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific team and their role in real-time communication with astronauts, providing a recent development tied to an actual event." + }, + "6224": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The ESA's release of images covering specific events like the first Ariane 6 launch and Mars Express observations represents a recent, specific development in space exploration." + }, + "6225": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The story promotes an ongoing contest without specific new developments or achievements." + }, + "6219": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The article discusses a specific technological development with potential real-world impact on infrastructure safety." + }, + "6217": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific scientific innovation with measurable environmental benefits and recent development." + }, + "6216": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific public health initiative being explored in response to worsening tick season." + }, + "6185": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides general advice on using solar-powered pumps for water features without specific newsworthy events or findings." + }, + "6187": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The review presents a recent research finding on interspecies communication and cooperation." + }, + "6188": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of a significant Roman bathhouse challenges previous assumptions about Nijmegen's importance during the Roman era." + }, + "6189": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific scientific finding from a 2011 earthquake's seismic waves affecting Earth's core and causing a measurable shift in Japan's landmass." + }, + "6190": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports a specific, recent scientific discovery with implications for biodiversity research." + }, + "6191": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study presents a specific, recent research finding with implications for conservation strategies." + }, + "6192": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event involving Australian primary school principals advocating for increased male representation in teaching." + }, + "6193": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of microbial activity in a 100-million-year-old pterosaur wingbone is a specific scientific finding with implications for understanding fossil preservation and ancient ecosystems." + }, + "6194": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific, recent achievement by New Zealand scientists who developed the 'R' programming language winning a major global award." + }, + "6197": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific scientific research finding published in a reputable journal." + }, + "6198": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "NASA's selection of a mission to study space weather impacts is a specific, recent development with clear implications for technology and astronaut safety." + }, + "6201": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery provides new insights into nanoscale water behavior with potential technological applications." + }, + "6203": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "Involves a specific conservation effort with a clear event and recent action." + }, + "6204": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a recent observation of an Arabian Sea humpback whale's long-distance travel, providing new insights into the species' unique ecology and conservation needs." + }, + "6206": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on recent scientific research with potential implications for disease treatment." + }, + "6207": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of a brain enzyme's self-regulating mechanism through polysialic acid formation is a specific, recent scientific finding with implications for neuroscience." + }, + "6208": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The research presents a specific finding about the causes of Australia's housing crisis and policy implications." + }, + "6209": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study presents a specific research finding with implications for cattle breeding and genetic diversity management." + }, + "6210": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study reveals a significant mismatch between probiotic microbes and their marketed health benefits, impacting consumer trust and regulatory standards." + }, + "6211": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study presents a specific scientific finding with implications for evolutionary biology and data analysis methods." + }, + "6212": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific scientific advancement with clear implications for multiple research fields." + }, + "6213": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific research finding about the effectiveness of Canada's national parks in preventing landscape fragmentation." + }, + "6214": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The research presents a significant shift in understanding the origins of long gamma-ray bursts, based on new scientific findings." + }, + "6215": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides general advice on decision-making rather than reporting a specific event or recent development." + }, + "6182": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The article reports on a specific challenge faced by small farmers and a call for reform from a trade group, based on recent developments and credible sources." + }, + "6183": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The summary presents specific, recent developments in global solar energy production with measurable impacts." + }, + "6176": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on recent scientific research identifying resilient coral reefs in response to global warming." + }, + "6167": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides general advice on refrigerator maintenance rather than reporting a specific event or new development." + }, + "6169": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "Valve's announcement about significant delays in delivering Steam Controllers due to high demand and production constraints is a specific, recent development affecting customers." + }, + "6171": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story discusses a specific historical event with ongoing implications for current economic disparities." + }, + "6172": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific historical recreation with tangible cultural and educational significance." + }, + "6164": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study presents a specific, recent research finding with potential implications for early Alzheimer's detection." + }, + "6165": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of a 100-million-year-old pterosaur wing bone with preserved microscopic structures and molecular traces is a specific scientific finding tied to a recent research development." + }, + "6166": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The return of the WEEDINATOR robot in 2026 with functional improvements represents a specific, recent development in agricultural technology." + }, + "6160": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "medium", + "rationale": "The story highlights a personal experience tied to a specific location and cultural activity, suggesting potential broader implications for mental health and community engagement." + }, + "6157": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The article highlights a specific global initiative and real-world example (India's Women-Led Climate Resilient Farming model) tied to recent developments in climate literacy and justice." + }, + "6153": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The death of a notable environmental journalist is a specific event with significant impact on the field of climate reporting." + }, + "6154": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The report provides specific data on the green economy's market value and growth." + }, + "6156": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The article describes a general natural phenomenon without a specific recent event or finding." + }, + "6151": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on the death of a notable individual and highlights their impact on global music." + }, + "6152": { + "kind": "opinion", + "newsworthy": false, + "confidence": "medium", + "rationale": "The article presents a philosophical perspective rather than reporting on a specific event or development." + }, + "6148": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "high", + "rationale": "The article discusses a general topic with tips and does not report on a specific recent event or finding." + }, + "6147": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of a rare Roman sarcophagus panel used as a flowerpot for 200 years is a specific historical finding with clear significance." + }, + "6144": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content is an evergreen resource sharing educational materials about Juneteenth and Black history, not a specific event or recent development." + }, + "6142": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "high", + "rationale": "This is an evergreen historical feature, not a recent event or development." + }, + "6143": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific conservation effort involving a critically endangered species in C\u00f4te d\u2019Ivoire, tied to a recent development and credible scientific work." + }, + "6140": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific legislative action in California regarding peptides is a recent development with clear implications for regulation and healthcare." + }, + "6133": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The deployment of a new signal component by the European Space Agency represents a specific, recent technological advancement with clear implications for IoT and smart city applications." + }, + "6134": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The milestone of 1000 images by ESA\u2019s Earth from Space series is a specific, recent achievement tied to actual satellite imagery and environmental monitoring advancements." + }, + "6135": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content is a personal reflection rather than a specific event or recent development." + }, + "6136": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The article discusses a specific historical fact about automotive engineering milestones." + }, + "6137": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content promotes specific product deals rather than reporting on a new event or finding." + }, + "6139": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "Mercedes-Benz has officially unveiled a specific, future-model electric vehicle with notable features and specifications." + }, + "6132": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific technical achievement involving running modern Linux on vintage hardware is a recent and credible event." + }, + "6130": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "high", + "rationale": "The story provides historical context rather than a recent event or development." + }, + "6131": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The passage of a law entrenching free education in Zambia is a specific, recent development with clear implications for the country's education system." + }, + "6129": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The rediscovery and online availability of a classic science show with historical and educational significance is a specific event tied to a real development." + }, + "6127": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific, recent initiative by Black women farmers reconnecting with ancestral practices through Soul Fire Farm, emphasizing cultural and environmental impact." + }, + "6128": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific individual's impactful work with measurable outcomes (100 million viewers) and ties to real-world ecological efforts." + }, + "6125": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event involving a notable individual raising funds for a research station." + }, + "6126": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "low", + "rationale": "The content appears to be a collection of wildlife photographs without specific newsworthy events or findings." + }, + "6124": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific, recent development involving displaced families leading successful conservation efforts in the DRC." + }, + "6123": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific conservation project addressing the decline of an endangered species with recent actions and outcomes." + }, + "6122": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story details a specific event involving the revival of a rare classic car after 30 years of storage, highlighting unique preservation efforts and restoration challenges." + }, + "6119": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The FDA advisory panel's recommendation of a new mRNA-based flu vaccine represents a specific, recent development with significant public health implications." + }, + "6120": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific technical achievement involving retro computing and hardware repurposing has occurred." + }, + "6117": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study presents a specific scientific discovery with potential implications for Alzheimer\u2019s research and treatment." + }, + "6114": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study reveals new species through DNA analysis, a specific scientific finding with implications for conservation." + }, + "6113": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on specific, recent developments with credible sources and measurable outcomes." + }, + "6111": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event with a recent development in satellite technology and scientific preservation." + }, + "6112": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific, recent, and unique human-wildlife interaction involving Tasmanian devils in Tasmania." + }, + "6110": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The acquisition of a specific startup by a major tech company with a clear financial figure and context is a newsworthy event." + }, + "6106": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The development of a depolymerizable 3D printing resin represents a specific scientific achievement with clear environmental and industrial implications." + }, + "6107": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The summary details a specific scientific activity by NASA's Curiosity rover that contributes to understanding Mars' geological history and potential for past water activity." + }, + "6103": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The settlement addresses a specific legal resolution to community complaints about a limestone quarry's environmental and quality-of-life impacts." + }, + "6104": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific regulatory action by federal energy regulators addressing grid strain from data centers." + }, + "6102": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of crystal grains in a meteorite provides new insights into a previously hidden era of intense asteroid activity in the Solar System." + }, + "6101": { + "kind": "opinion", + "newsworthy": false, + "confidence": "high", + "rationale": "The content is a commentary and not a specific event or finding." + }, + "6100": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The FDA committee's unanimous recommendation of a new mRNA flu vaccine is a specific, recent development with clear public health implications." + }, + "6098": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content is a recipe sharing and cooking advice, which is evergreen and not tied to a specific recent event or development." + }, + "6099": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content is a recipe that falls under evergreen advice and is not tied to a specific recent event or development." + }, + "6090": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific product development with a clear timeline and company involvement." + }, + "6093": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event with measurable achievements in automotive performance." + }, + "6094": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event with a clear outcome based on a poll involving poets and language enthusiasts." + }, + "6095": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights Motown's cultural and historical significance in Detroit, tying it to real events and ongoing identity." + }, + "6096": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific scientific discovery with implications for understanding cosmic events and particle origins." + }, + "6087": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of plutonium-244 in a deep-sea rock sample provides specific, recent scientific insight into an ancient cosmic event." + }, + "6088": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content describes a maker's project but lacks specific recent developments or credible announcements." + }, + "6083": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific recent event involving a significant historical discovery by a child." + }, + "6085": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "high", + "rationale": "The content is general and evergreen, focusing on animal behavior rather than a specific recent event or finding." + }, + "6082": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific cultural event with ecological significance and scientific interest." + }, + "6077": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The University of Washington's recent global university rankings are specific, recent, and reflect credible academic achievements." + }, + "6078": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "Specific achievement in medical innovation with measurable impact on prostate cancer detection." + }, + "6080": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "It discusses a specific historical event with implications for modern weather forecasting." + }, + "6081": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story discusses a specific research topic involving geomythology and historical meteorite impacts, based on a real event and expert discussion." + }, + "6074": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific event involving public school students participating in a major celebration, which is newsworthy and tied to a recent achievement." + }, + "6075": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The article reports on a specific, recent election event with notable candidates and implications for school governance." + }, + "6072": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event with notable artists was highlighted during Black Music Month." + }, + "6070": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The reversal of a decision to dismantle a major ocean monitoring system by the Trump administration is a specific recent event with significant implications for climate research and environmental poli" + }, + "6067": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides general cooking tips rather than reporting on a specific event or new development." + }, + "6068": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content is a recipe sharing and cooking advice, which is not a newsworthy event." + }, + "6063": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "Specific startups and their achievements are highlighted with concrete details and valuations from a credible source." + }, + "6066": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "Amazon's potential sale of AI chips represents a significant market development with clear implications for competition and industry dynamics." + }, + "6050": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event involving a military aircraft test flight in Texas tied to a recent defense contract for Taiwan." + }, + "6053": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific feature update with clear user impact and recent implementation." + }, + "6054": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides how-to guidance rather than reporting on a new event or development." + }, + "6056": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content discusses a fictional film and its themes rather than reporting on a real-world event or development." + }, + "6057": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights the death of a notable author and her significant contributions to literature and education." + }, + "6058": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The remastering and re-release of a significant film with historical and cultural impact is a specific recent event." + }, + "6045": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "NASA's contract award is a specific, recent development involving a partnership with a commercial company for satellite data acquisition." + }, + "6046": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific individual's journey to NASA, showcasing real-life achievement and inspiration in STEM fields." + }, + "6047": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "NASA's field test of an advanced rover prototype in a desert environment is a specific, recent event with direct implications for future space exploration." + }, + "6049": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of a wobbling, peanut-shaped asteroid by NASA\u2019s Lucy spacecraft provides new insights into asteroid dynamics and contributes to ongoing research about the formation and evolution of aste" + }, + "6042": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content is speculative and hypothetical, not based on a recent event or finding." + }, + "6043": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific technological development involving a new web app for a battery tester device." + }, + "6044": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific technical achievement with a tangible application in a DIY project." + }, + "6040": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The article highlights a specific event involving the preservation and public display of a historically significant photographic archive." + }, + "6041": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific scientific discovery based on a veteran's fossil collection challenges existing evolutionary theories." + }, + "6037": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific international agreement with measurable impact on combating illegal fishing." + }, + "6036": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific scientific finding related to seismic wave interactions with Earth's core and measurable surface effects from the 2011 T\u014dhoku earthquake." + }, + "6035": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event involving a reversal of a policy decision by the Trump administration due to legislative action." + }, + "6033": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The birth of Sumatran tiger cubs in the UK represents a specific, recent event tied to conservation efforts and the critically endangered status of the species." + }, + "6034": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The article reports on a specific international development involving the stalled global plastic treaty and the appointment of a new negotiator, highlighting ongoing diplomatic efforts and challenges." + }, + "6032": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The story reports on a specific recent event tied to SpaceX's stock market performance and its impact on employees' wealth." + }, + "6030": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides a recipe, which is typically considered evergreen advice rather than newsworthy content." + }, + "6031": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content is a recipe sharing and does not report on a specific event or recent development." + }, + "6021": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The launch of a new app with a specific approach to screen time management is a recent development." + }, + "6025": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The launch of a new AI-powered wellness app by a well-known celebrity represents a recent development with specific event and achievement aspects." + }, + "6026": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "Apple's policy change in Brazil is a specific, recent regulatory development with clear implications for competition and app distribution." + }, + "6027": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "MapTap's emergence as a popular alternative to Wordle with educational value represents a recent development in the gaming and learning space." + }, + "6028": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The article reports on a specific fundraising event by a startup, including valuation and key investors, which is a recent and credible development." + }, + "6011": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "Apple's introduction of a standalone Siri app in iOS 27 is a specific, recent development tied to a credible source and technological advancement." + }, + "6013": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "Apple TV's free broadcast of a major Formula 1 event is a specific, recent development with clear implications for sports streaming accessibility." + }, + "6014": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific product update with a clear impact on user experience." + }, + "6015": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific event (the comedy special) and personal journey of Ali Siddiq, making it a genuine human-interest feature tied to a recent development." + }, + "6016": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event with clear implications for national security and space technology." + }, + "6018": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific astronomical discovery with implications for planetary system evolution." + }, + "6019": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The article highlights a specific achievement by an astrophotographer capturing detailed images of the Cosmic Lagoon, contributing to both scientific study and public interest in astronomy." + }, + "6006": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The tool provides an accessible and innovative way for the public to explore GPS satellite data in real time." + }, + "6007": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The discovery of potential sibling supernova remnants by NASA's Fermi mission is a specific scientific finding with recent implications for understanding star formation and cosmic processes." + }, + "6008": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific event involving an ESA astronaut's mid-mission achievements and public engagement." + }, + "6001": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The article discusses a recent scientific finding about the complexity of the human genome challenging AI models." + }, + "5995": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The episode discusses a specific policy proposal and features expert analysis on a current social issue." + }, + "5996": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific astronomical discovery with recent observations and scientific significance." + }, + "5997": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific historical event and achievement tied to a real person and recent exhibition." + }, + "5998": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific scientific discovery with implications for biology and urban design." + }, + "5999": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The exhibition is a specific, recent event with tangible items and significance tied to the Smithsonian's 250th anniversary." + }, + "5988": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific event with a measurable outcome involving a social media influencer raising a significant amount of money for a senior in need." + }, + "5989": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific event involving the exploration of a rare bird's nesting site in a protected rainforest, emphasizing conservation efforts and the significance of the ecosystem." + }, + "5990": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The death of an activist in Ecuador, linked to her work on environmental and anti-corruption issues, is a specific recent event with significant implications." + }, + "5994": { + "kind": "evergreen_advice", + "newsworthy": false, + "confidence": "high", + "rationale": "The content provides general skincare advice rather than reporting on a specific new event or finding." + }, + "5987": { + "kind": "feature_human_interest", + "newsworthy": false, + "confidence": "medium", + "rationale": "The content highlights a recognition and discussion rather than a specific event or achievement." + }, + "5984": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The NSF's decision to halt equipment removal and continue operations is a specific, recent development with implications for ocean research." + }, + "5983": { + "kind": "feature_human_interest", + "newsworthy": true, + "confidence": "high", + "rationale": "The story highlights a specific event involving teenagers participating in a civic education program in Philadelphia, which is a recent and specific development." + }, + "5982": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "Specific event involving HOAs blocking heat pumps with real-world examples and policy implications." + }, + "5977": { + "kind": "finding", + "newsworthy": true, + "confidence": "high", + "rationale": "The study presents a specific, recent research finding with significant economic and environmental implications." + }, + "5967": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The announcement of winners for the 2026 Core77 Design Awards Lifestyle Accessories category highlights specific, recent achievements in product design." + }, + "5968": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "Announces specific award winners and their innovative design projects." + }, + "5970": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The announcement highlights specific award-winning packaging designs with clear environmental and artistic impact." + }, + "5971": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The article announces the winners of a specific design award, highlighting recent achievements in visual communication." + }, + "5972": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The article announces specific award winners and their innovative designs in transportation and mobility." + }, + "5973": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "The announcement highlights specific award-winning products and their impact on creativity and inclusivity in toys." + }, + "5975": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content promotes a product sale without reporting a specific event or new development." + }, + "5976": { + "kind": "product_listicle", + "newsworthy": false, + "confidence": "high", + "rationale": "The content compares frozen breakfast sandwiches in a listicle format, which is not a newsworthy event." + }, + "5963": { + "kind": "news_event", + "newsworthy": true, + "confidence": "high", + "rationale": "The rejection of a coal mining application by a Welsh council is a specific recent event with environmental and policy implications." + }, + "5965": { + "kind": "announcement", + "newsworthy": true, + "confidence": "high", + "rationale": "A specific international agreement with measurable goals to combat illegal fishing." + } +} \ No newline at end of file diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte index 50f74c4..6ad0975 100644 --- a/frontend/src/routes/+page.svelte +++ b/frontend/src/routes/+page.svelte @@ -69,7 +69,8 @@ let homeValue = $state(''); let homePromptDismissed = $state(false); let feedNextOffset = $state(null); - const homeActive = () => selected === 'browse' && !!homeValue; + let showGlobalBrief = $state(false); // toggle: see the global brief even with a home set + const homeActive = () => selected === 'latest' && !!homeValue; let showSignIn = $state(false); let showSaved = $state(false); // Saved flyout let loading = $state(true); @@ -248,15 +249,17 @@ // Instant-paint and the merge only reuse a saved brief when this still matches, // so a boundary change can never briefly resurface content it should now hide. function briefSig() { - return P.param(prefs.data) + '|' + Array.from(dismissed).sort().join(','); + const h = homeValue && !showGlobalBrief ? homeValue : ''; + return P.param(prefs.data) + '|' + Array.from(dismissed).sort().join(',') + '|h:' + h; } async function loadToday(fresh) { const q = P.param(prefs.data); const ex = Array.from(dismissed).join(','); let fetched; + const homeq = homeValue && !showGlobalBrief ? `&home=${encodeURIComponent(homeValue)}` : ''; try { - fetched = await getJSON(`/api/brief?limit=7${q ? '&' + q : ''}${ex ? '&exclude=' + ex : ''}`); + fetched = await getJSON(`/api/brief?limit=7${homeq}${q ? '&' + q : ''}${ex ? '&exclude=' + ex : ''}`); } catch (e) { if (brief) return; // already showing a saved brief β a failed background refresh stays invisible throw e; // true first load with nothing painted β let the caller surface the error @@ -295,7 +298,9 @@ } if (key === 'latest') { const q = P.param(prefs.data); - return `/api/feed?sort=latest&limit=${PAGE}&offset=${offset}${q ? '&' + q : ''}${exq}`; + // Closer to Home lives on the all-news browse lane (Latest). + const homeq = homeValue ? `&home=${encodeURIComponent(homeValue)}` : ''; + return `/api/feed?sort=latest&limit=${PAGE}&offset=${offset}${homeq}${q ? '&' + q : ''}${exq}`; } if (key === 'following') { const q = P.param(prefs.data); @@ -312,8 +317,7 @@ return `/api/feed?source_id=${encodeURIComponent(key.slice(7))}&sort=latest&limit=${PAGE}&offset=${offset}${q ? '&' + q : ''}${exq}`; } const q = P.param(P.merge(prefs.data, viewFilter(key))); - const homeq = homeValue ? `&home=${encodeURIComponent(homeValue)}` : ''; - return `/api/feed?limit=${PAGE}&offset=${offset}${homeq}${q ? '&' + q : ''}${exq}`; + return `/api/feed?limit=${PAGE}&offset=${offset}${q ? '&' + q : ''}${exq}`; } // All navigation goes through the URL (goto), so browser Back/Forward and the @@ -354,7 +358,7 @@ feed = items; feedNextOffset = resp.next_offset ?? null; // Home lane pages by the API's world cursor; other lanes by simple length. - feedDone = (key === 'browse' && homeValue) ? feedNextOffset == null : items.length < PAGE; + feedDone = (key === 'latest' && homeValue) ? feedNextOffset == null : items.length < PAGE; markDisplayed(feed); if (key.startsWith('source:') && items[0]) { sourceNames = { ...sourceNames, [key.slice(7)]: items[0].source }; @@ -499,8 +503,15 @@ // --- Closer to Home: opt-in, localStorage-only, easy to clear --- function setHome(v) { homeValue = v || ''; + showGlobalBrief = false; // a fresh home choice leads with local try { v ? localStorage.setItem('goodnews:home', v) : localStorage.removeItem('goodnews:home'); } catch { /* ignore */ } - if (selected === 'browse') loadView('browse', true); // re-section the feed now + if (selected === 'today') loadToday(true); // re-lead the landing with local + else if (selected === 'latest') loadView('latest', true); + } + // The landing's Local β· Global toggle (only meaningful with a home set). + function setBriefScope(global) { + showGlobalBrief = global; + if (selected === 'today') loadToday(true); } function clearHome() { setHome(''); } function dismissHomePrompt() { @@ -675,6 +686,32 @@ {/if} {/if} {#if brief?.items?.length} + {#if homeEditing || (!homeValue && !homePromptDismissed)} +
Want your good news closer to home?
{/if} +No highlights yet today β try a calmer filter, or check back soon.
{/if} {:else if feed.length} - {#if selected === 'browse'} + {#if selected === 'latest'} {#if homeEditing || (!homeValue && !homePromptDismissed)}Want good news closer to home?
@@ -971,6 +1008,11 @@ .linkish { background: none; border: none; color: var(--accent-deep); font: inherit; font-size: 0.86rem; cursor: pointer; text-decoration: underline; padding: 0; } .homebar { font-size: 0.86rem; color: var(--muted); margin: 0 0 16px; } + .briefscope { display: flex; gap: 8px; align-items: center; margin: 0 0 16px; } + .bs-btn { font: inherit; font-size: 0.88rem; font-weight: 600; padding: 7px 16px; border: 1px solid var(--line); + border-radius: 999px; background: var(--bg); color: var(--ink); cursor: pointer; } + .bs-btn.on { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-deep); } + .bs-change { margin-left: auto; } .feed-section { grid-column: 1 / -1; margin: 8px 0 2px; font-family: var(--label); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); } .grid > .feed-section:first-child { margin-top: 0; } diff --git a/goodnews/api.py b/goodnews/api.py index 7a4c525..7740827 100644 --- a/goodnews/api.py +++ b/goodnews/api.py @@ -2186,25 +2186,42 @@ def create_app() -> FastAPI: limit: int = Query(10, ge=1, le=50), prefs: str | None = Query(None), exclude: str = Query("", description="comma-separated article ids the reader has dismissed"), + home: str | None = Query(None, max_length=8, description="local-first highlights: 'US' or 'US-NY'"), ) -> BriefResponse: # The default highlights are global (date-keyed, no session) β edge-cacheable # so a new visitor's "Gathering the good newsβ¦" resolves from their POP, not - # a pull to the residential origin. Personal filters stay private. - shareable = not prefs and not exclude.strip() + # a pull to the residential origin. Personal filters (incl. a home) stay private. + home_country = home_state = None + if home: + parts = home.upper().split("-", 1) + home_country = parts[0][:2] or None + if home_country == "US" and len(parts) > 1: + home_state = parts[1][:2] or None + shareable = not prefs and not exclude.strip() and not home_country response.headers["Cache-Control"] = _EDGE_FEED if shareable else _PRIVATE fp = prefs_from_json(prefs) now = datetime.now(timezone.utc) excl = {int(x) for x in exclude.split(",") if x.strip().lstrip("-").isdigit()} with get_conn() as conn: - data = queries.brief(conn, brief_date=date, limit=limit) + if home_country: + # The reader's home leads the landing: local good news first, blended out + # to country/world so it's always a full, sexy set. Over-fetch to survive + # dismissal/boundary filtering, then cap to limit. + meta = queries.brief(conn, brief_date=date, limit=1) + data = {"brief_date": meta["brief_date"], "title": "Close to home", "created_at": meta.get("created_at")} + pool = queries.home_brief(conn, home_country, home_state, limit=limit + 12) + else: + data = queries.brief(conn, brief_date=date, limit=limit) + pool = data["items"] # Drop dismissed (replaced-away) items and anything the reader's # boundaries hide; avoid-terms take precedence over curation. - items = [a for a in data["items"] if a["id"] not in excl] + items = [a for a in pool if a["id"] not in excl] if not fp.is_empty(): items = filter_articles(items, fp, now) + items = items[:limit] # home mode over-fetches to survive filtering; cap here # Keep the highlights full: if a boundary or a dismissal removed a # story, top up with other readable, boundary-respecting good news - # rather than show fewer. + # rather than show fewer. (Home mode's home_brief already blends to world.) if len(items) < limit: have = {a["id"] for a in items} | excl pool = queries.feed( diff --git a/goodnews/geo.py b/goodnews/geo.py index 71dbe88..0cbbfc2 100644 --- a/goodnews/geo.py +++ b/goodnews/geo.py @@ -213,10 +213,16 @@ def tag_articles(conn: sqlite3.Connection, client: LocalModelClient, limit: int for r in rows: try: store_geo(conn, r["id"], classify_geo(client, r)) + # Keep live auth/admin writes healthy while the scheduled cycle runs. + # Geo classification calls the LLM per article; if we batch commits, the + # first stored article opens a write transaction that can stay open while + # the next several LLM calls run. That starves login/session writes long + # enough to trip SQLite's busy timeout. Commit each successful article so + # the writer lock is held for milliseconds, not minutes. + conn.commit() tagged += 1 except Exception: # noqa: BLE001 β non-fatal, like other cycle steps + conn.rollback() errors += 1 - if (tagged + errors) % 25 == 0: - conn.commit() conn.commit() return {"candidates": len(rows), "tagged": tagged, "errors": errors} diff --git a/goodnews/queries.py b/goodnews/queries.py index a0a39ce..630b460 100644 --- a/goodnews/queries.py +++ b/goodnews/queries.py @@ -259,6 +259,51 @@ def reindex_search(conn: sqlite3.Connection) -> int: return conn.execute("SELECT COUNT(*) FROM article_search").fetchone()[0] +def home_brief(conn: sqlite3.Connection, home_country: str, home_state: str | None = None, + limit: int = 7, window_days: int = 3) -> list[dict]: + """Local-first landing highlights. Leads with high/medium-confidence local good news, + then blends out to your country and the world so the set is always full (never the + sad thin-local look), and prefers already-summarized stories so the calm read stays + rich. Brief-shaped rows (incl. summary) tagged with a section, best-first within tier. + """ + if home_state: + near = ("(g.confidence IN ('high','medium') AND EXISTS (SELECT 1 FROM article_places p " + "WHERE p.article_id = a.id AND p.country_code = ? AND p.state_code = ?))") + country = "EXISTS (SELECT 1 FROM article_places p WHERE p.article_id = a.id AND p.country_code = ?)" + section_case = f"CASE WHEN {near} THEN 0 WHEN {country} THEN 1 ELSE 2 END" + section_params = [home_country, home_state, home_country] + else: + near = ("(g.confidence IN ('high','medium') AND EXISTS (SELECT 1 FROM article_places p " + "WHERE p.article_id = a.id AND p.country_code = ?))") + section_case = f"CASE WHEN {near} THEN 0 ELSE 2 END" # no "country" tier without a state + section_params = [home_country] + rows = conn.execute( + f""" + SELECT {_ARTICLE_COLUMNS}, + sm.summary AS summary, + {section_case} AS section_rank, + (sm.summary IS NOT NULL) AS has_summary + FROM articles a + JOIN sources src ON src.id = a.source_id + JOIN article_scores s ON s.article_id = a.id + LEFT JOIN article_geo g ON g.article_id = a.id + LEFT JOIN article_summaries sm ON sm.article_id = a.id + WHERE a.duplicate_of IS NULL AND src.content_visible = 1 AND s.accepted = 1 + AND a.discovered_at >= datetime('now', ?) + ORDER BY section_rank ASC, has_summary DESC, rank_score DESC, + COALESCE(a.published_at, a.discovered_at) DESC + LIMIT ? + """, + section_params + [f"-{window_days} days", limit], + ).fetchall() + out = [] + for r in rows: + d = dict(r) + d["__section"] = {0: "near", 1: "country", 2: "world"}.get(d.pop("section_rank", 2), "world") + out.append(d) + return out + + def brief(conn: sqlite3.Connection, brief_date: str | None = None, limit: int = 10) -> dict: """Return a stored daily brief (latest if no date) with its ranked items.""" target_date = brief_date or _latest_brief_date(conn) diff --git a/scripts/substance_audit.py b/scripts/substance_audit.py new file mode 100644 index 0000000..b2cb226 --- /dev/null +++ b/scripts/substance_audit.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python3 +"""PROTOTYPE substance audit (not production). + +The classifier scores emotional TONE (cortisol/ragebait/constructive) but not +SUBSTANCE, so pleasant-but-empty filler (evergreen how-tos, B2B SEO, product +listicles, recipes) slips through. Before adding a `not_newsworthy` rejection +dimension to the live classifier, measure whether the model can reliably tell +genuine news from filler against Codex's rubric, and what the reject rate would be. + +Read-only over a sample; writes a scratch JSON + prints a report. Does NOT change +the classifier or reject anything. + + .venv/bin/python scripts/substance_audit.py --limit 250 --base-url http://127.0.0.1:8080/v1 +""" +from __future__ import annotations + +import argparse +import json +from collections import Counter +from pathlib import Path + +from goodnews.cli import _default_db +from goodnews.db import connect +from goodnews.llm import LocalModelClient, parse_classifier_json + +# Codex's rubric. KEEP = real news; the rest are "positive but not news" filler. +KINDS = ("news_event", "finding", "announcement", "feature_human_interest", + "evergreen_advice", "marketing", "product_listicle", "opinion", "other") +FILLER = {"evergreen_advice", "marketing", "product_listicle"} + +SYSTEM = ( + "You judge whether a story is genuine NEWS or content-mill filler for a calm " + "good-news site. GOOD (keep): a specific event or achievement, a recent " + "development, a research finding, a credible announcement, or human/community/" + "science/environmental uplift tied to something that actually happened. FILLER " + "(not news): evergreen how-to/advice, marketing or B2B service explainers, generic " + "'why X matters' SEO pieces, product round-ups/listicles, recipes. Judge SUBSTANCE, " + "not tone β pleasant and non-negative is NOT the same as newsworthy. When genuinely " + "unsure, lean KEEP (don't reject real good news). Reply with ONLY a JSON object." +) +INSTRUCT = ( + "Return JSON exactly like:\n" + '{"kind": "