$ cat system.info
─────────────────────────────────────────────────────────────────
system systemOS · the inbox
frontend astro 6.x (static)
fetcher node 22 + rss-parser + cheerio
storage markdown · src/content/links/YYYY-MM-DD
page size 30 items / page
cadence fetch 4× / day (06 / 12 / 18 / 00 europe/tirane)
hosting laravel forge · static deploy on push to main
source visibility private repo · read-only access on request
─────────────────────────────────────────────────────────────────
total items 237
total sources 68
always-include 14
last fetch fri 22 may, 00:57
build 22 may 2026, 01:02
─────────────────────────────────────────────────────────────────
$ cat pipeline.log
─────────────────────────────────────────────────────────────────
stage step
───── ────────────────────────────────────────────────────
1 fetch ────── parallel · 8 adapters · 68 feeds
2 recency ──── drop items older than 48 hours
3 reject ───── drop empty/[link]/discussion-only bodies
4 seen-dedup ─ state/seen.json prevents reposts
5 topic ────── keyword lexicon + source-label fallback
6 gate ─────── drop items still uncategorized
7 score ────── weight × keywords × freshness × penalties
8 diversify ── dampen repeat sources (X-style)
9 near-dup ─── jaccard ≥ 0.7 on titles
10 threshold ── score ≥ 10 (normal) · ≥ 1 (always)
11 top N ────── 18 per fetch (always-include first)
12 enrich ───── og:image + meta description
13 write ────── markdown file in content collection
14 commit ───── andi-bot push · forge auto-deploys
─────────────────────────────────────────────────────────────────
$ cat schedule.cron
─────────────────────────────────────────────────────────────────
# .github/workflows/fetch.yml
on:
schedule:
- cron: '0 4 * * *' # 06:00 europe/tirane (summer)
- cron: '0 10 * * *' # 12:00
- cron: '0 16 * * *' # 18:00
- cron: '0 22 * * *' # 00:00
─────────────────────────────────────────────────────────────────
last fetch resolved at: fri 22 may, 00:57