Milestone 8 (phases 1-4): - Shard-aware WAL segment naming, BatchHeader v2, ShardRouter - Transport trait, InProcessTransport, WalShipper, FollowerDb - HLC, PNCounter, LWWRegister, CrdtSignalState, ReconciliationEngine - Session replication bridge with SeqNo/HWM, idempotency store Forage application: - Multi-source discovery engine with MAB exploration - Embedding-based label system, server handlers, UI refresh Other: - QUICKSTART.md, README.md, milestone-8 planning docs - Hard negative union semantics, RLHF export enhancements - Recovery benchmark and visibility test expansions - Split 8 oversized source files per CODING_GUIDELINES §9 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
62 lines
1.5 KiB
Rust
62 lines
1.5 KiB
Rust
/// Per-category seed URLs for the autonomous discovery agent.
|
|
/// Each entry is (category_name, &[source_urls]).
|
|
/// Source URLs are front pages or list pages where article links are prominent.
|
|
pub const SOURCES: &[(&str, &[&str])] = &[
|
|
(
|
|
"technology",
|
|
&["https://news.ycombinator.com", "https://lobste.rs"],
|
|
),
|
|
(
|
|
"science",
|
|
&["https://phys.org", "https://news.ycombinator.com?q=science"],
|
|
),
|
|
(
|
|
"jazz",
|
|
&[
|
|
"https://pitchfork.com/reviews/albums",
|
|
"https://www.allaboutjazz.com/news",
|
|
],
|
|
),
|
|
(
|
|
"travel",
|
|
&[
|
|
"https://www.theguardian.com/travel",
|
|
"https://www.cntraveler.com/latest-news",
|
|
],
|
|
),
|
|
(
|
|
"cooking",
|
|
&[
|
|
"https://www.seriouseats.com",
|
|
"https://www.bonappetit.com/recipes",
|
|
],
|
|
),
|
|
(
|
|
"design",
|
|
&["https://www.dezeen.com/news", "https://designobserver.com"],
|
|
),
|
|
(
|
|
"history",
|
|
&[
|
|
"https://www.historytoday.com",
|
|
"https://www.smithsonianmag.com/history",
|
|
],
|
|
),
|
|
(
|
|
"health",
|
|
&[
|
|
"https://www.health.harvard.edu/blog",
|
|
"https://www.theatlantic.com/health",
|
|
],
|
|
),
|
|
];
|
|
|
|
/// Return the source URLs for a given category, or an empty slice if unknown.
|
|
pub fn sources_for(category: &str) -> &'static [&'static str] {
|
|
SOURCES
|
|
.iter()
|
|
.find(|(cat, _)| *cat == category)
|
|
.map(|(_, srcs)| *srcs)
|
|
.unwrap_or(&[])
|
|
}
|