Profile v2: split conflict from statecraft, add space, expand vetoes
Second elicitation round. The significant correction is Connor's own framing:
"my actual war interest is low, but unfortunately all wars are important." The
click history looked war-heavy only because world-news feeds are war-heavy, so
geopolitics-at-weight-1.0 was reading the corpus, not the reader. Statecraft is
now its own block and armed conflict is five weighted bands (anti-imperial,
US-involved, Mideast/Israel, undercovered, general) routed mainly by importance.
New: space-aerospace at 0.95, the highest-weighted block -- Connor is an
aerospace engineer. Plus science-discovery, environment-ecology,
ohio-state-politics, left-movements, anticolonial-sovereignty, far-right-watch,
political-theory. Linux/ricing/neovim folded into software-systems.
Introduces `demote` blocks, distinct from hard vetoes, for categories adjacent to
real interests: crypto/AI hype sits next to AI regulation, culture-war outrage
next to far-right-watch, true crime next to criminal-justice policy. Hard-vetoing
those would take real stories with them -- the lesson from the Europa League
story that both a substring blocklist and a cosine threshold wrongly killed.
Sources 39 -> 56, all fetched and verified: space (SpaceNews, Spaceflight Now,
NASASpaceflight, NASA, ESA, Phys.org), Linux (Phoronix, LWN, It's FOSS,
r/unixporn), left/anticolonial (Intercept, Drop Site, Tribune, African
Arguments). Rejected on inspection: nature.rss is journal metadata ("Author
Correction: ...") and sciencedaily is a press-release mill.
Embedding stays English-only, measured rather than assumed: the same story in
Spanish and English scored 0.758 and 0.600 cosine against a random-pair p99 of
0.634, so one pair was indistinguishable from an unrelated article. Italy and
Mexico are covered by English-language sources instead.
Also fixes clustering performance: centroids are held in memory across a batch
instead of one SELECT plus a numpy rebuild per item, which had taken ~15 minutes
for 1,258 items.
This commit is contained in:
1 parent
64690ecfe0
commit
6dc3694260
4 files changed
+572
-193
No files matched your search
@@ -6,6 +6,10 @@
|
||||
# confirmations. Getting this wrong is what made the old system fire priority-5
|
||||
# pushes on anything two feeds happened to carry.
|
||||
#
|
||||
# `weight` is editorial trust, carried over from Connor's old config where he
|
||||
# had deliberately set Al Jazeera highest (1.2) and NYT lowest (0.8). It affects
|
||||
# importance and tie-breaking, never whether an item is visible at all.
|
||||
#
|
||||
# `prominence = 1` marks a publisher's front-page/top-stories feed. Subscribing
|
||||
# to both it and the section feed is a free editorial-promotion signal; the old
|
||||
# config dropped BBC's top-news feed and threw that away.
|
||||
@@ -42,6 +46,7 @@ bucket = "guardian"
|
||||
name = "NYT World"
|
||||
url = "https://rss.nytimes.com/services/xml/rss/nyt/World.xml"
|
||||
bucket = "nyt"
|
||||
weight = 0.8
|
||||
|
||||
[[source]]
|
||||
name = "NPR News"
|
||||
@@ -75,11 +80,13 @@ poll_interval_secs = 1800
|
||||
# --------------------------------------------------------------- mideast ----
|
||||
[[source]]
|
||||
name = "Middle East Eye"
|
||||
weight = 1.1
|
||||
url = "https://www.middleeasteye.net/rss"
|
||||
bucket = "middle-east-eye"
|
||||
|
||||
[[source]]
|
||||
name = "+972 Magazine"
|
||||
weight = 1.1
|
||||
url = "https://www.972mag.com/feed/"
|
||||
bucket = "972mag"
|
||||
poll_interval_secs = 3600
|
||||
@@ -266,3 +273,121 @@ name = "Mexico News Daily"
|
||||
url = "https://mexiconewsdaily.com/feed/"
|
||||
bucket = "mexico-news-daily"
|
||||
poll_interval_secs = 3600
|
||||
|
||||
# ============================================================ space / aerospace
|
||||
# Connor is an aerospace engineer and asked for launches and missions, deep
|
||||
# technical coverage, and astronomy/planetary science. All verified 2026-09-08.
|
||||
|
||||
[[source]]
|
||||
name = "SpaceNews"
|
||||
url = "https://spacenews.com/feed/"
|
||||
bucket = "spacenews"
|
||||
poll_interval_secs = 3600
|
||||
|
||||
[[source]]
|
||||
name = "Spaceflight Now"
|
||||
url = "https://spaceflightnow.com/feed/"
|
||||
bucket = "spaceflight-now"
|
||||
poll_interval_secs = 3600
|
||||
|
||||
[[source]]
|
||||
name = "NASASpaceflight"
|
||||
url = "https://www.nasaspaceflight.com/feed/"
|
||||
bucket = "nasaspaceflight"
|
||||
poll_interval_secs = 3600
|
||||
|
||||
[[source]]
|
||||
name = "NASA Breaking"
|
||||
url = "https://www.nasa.gov/rss/dyn/breaking_news.rss"
|
||||
bucket = "nasa"
|
||||
poll_interval_secs = 3600
|
||||
|
||||
[[source]]
|
||||
name = "ESA"
|
||||
url = "https://www.esa.int/rssfeed/Our_Activities/Space_News"
|
||||
bucket = "esa"
|
||||
poll_interval_secs = 7200
|
||||
|
||||
[[source]]
|
||||
name = "Ars Technica Science"
|
||||
url = "https://feeds.arstechnica.com/arstechnica/science"
|
||||
bucket = "ars-technica"
|
||||
poll_interval_secs = 3600
|
||||
|
||||
[[source]]
|
||||
name = "Phys.org Space"
|
||||
url = "https://phys.org/rss-feed/space-news/"
|
||||
bucket = "phys-org"
|
||||
poll_interval_secs = 7200
|
||||
|
||||
# Deliberately NOT added: nature.rss (mostly "Author Correction:" journal
|
||||
# metadata, not news) and sciencedaily.com (a university press-release mill,
|
||||
# 60 items a poll). Both were probed and rejected on the content they returned.
|
||||
[[source]]
|
||||
name = "Quanta Magazine"
|
||||
url = "https://www.quantamagazine.org/feed/"
|
||||
bucket = "quanta"
|
||||
poll_interval_secs = 21600
|
||||
|
||||
# ================================================================ linux / ricing
|
||||
# Connor: "Linux news in general. The ricing world/neovim configs/etc"
|
||||
|
||||
[[source]]
|
||||
name = "Phoronix"
|
||||
url = "https://www.phoronix.com/rss.php"
|
||||
bucket = "phoronix"
|
||||
poll_interval_secs = 3600
|
||||
|
||||
[[source]]
|
||||
name = "LWN"
|
||||
url = "https://lwn.net/headlines/newrss"
|
||||
bucket = "lwn"
|
||||
poll_interval_secs = 7200
|
||||
|
||||
[[source]]
|
||||
name = "It's FOSS"
|
||||
url = "https://news.itsfoss.com/rss/"
|
||||
bucket = "its-foss"
|
||||
poll_interval_secs = 7200
|
||||
|
||||
[[source]]
|
||||
name = "r/unixporn"
|
||||
url = "https://www.reddit.com/r/unixporn/top/.rss"
|
||||
bucket = "reddit"
|
||||
poll_interval_secs = 10800
|
||||
|
||||
[[source]]
|
||||
name = "Neovim releases"
|
||||
url = "https://github.com/neovim/neovim/releases.atom"
|
||||
bucket = "github-releases"
|
||||
poll_interval_secs = 21600
|
||||
|
||||
# ==================================================== left / anti-colonial =====
|
||||
|
||||
[[source]]
|
||||
name = "African Arguments"
|
||||
weight = 1.1
|
||||
url = "https://africanarguments.org/feed/"
|
||||
bucket = "african-arguments"
|
||||
poll_interval_secs = 21600
|
||||
|
||||
[[source]]
|
||||
name = "Tribune"
|
||||
weight = 1.1
|
||||
url = "https://tribunemag.co.uk/feed"
|
||||
bucket = "tribune"
|
||||
poll_interval_secs = 21600
|
||||
|
||||
[[source]]
|
||||
name = "The Intercept"
|
||||
weight = 1.1
|
||||
url = "https://theintercept.com/feed/?rss"
|
||||
bucket = "the-intercept"
|
||||
poll_interval_secs = 7200
|
||||
|
||||
[[source]]
|
||||
name = "Drop Site News"
|
||||
weight = 1.1
|
||||
url = "https://www.dropsitenews.com/feed"
|
||||
bucket = "drop-site"
|
||||
poll_interval_secs = 7200
|
||||
Reference in new issue
Block a user