v0.6 merged scattered messages into story lines. v0.7 answers the next question: with this many stories, what is hot right now? — and ships the first consumer-side skill.
New: ai-radar consumer skill
skills/radar/— install without forking (npx skills add LearnPrompt/ai-news-radar -s ai-radar -g), ask your agent "今天AI圈有什么", get a Chinese brief read directly from this site's public JSON. Zero API, zero key, zero server; the whole data pipeline is forkable.- Reproducible demo GIF (vhs tape + script included); two-skill split documented: radar reads, scout selects.
Bole picks v2 (伯乐精选)
- Hot view: ranks story clusters by multi-source mass × time decay; hides itself when there is no real multi-source heat. Timeline view unchanged.
- 宁缺毋滥 quality gate: brief slots are earned by multi-source confirmation or score ≥ 0.72; quiet days collapse the block entirely — no empty shell, no padding.
- Same-cluster suppression: an event reposted outside the 6h merge window now takes one slot instead of three; per-source decay stops one prolific source from filling the brief (live data: 15/20 → 5/20 max share).
Scoring accuracy
- URL-host-only matching: Google News base64 paths randomly containing
llm/gptno longer turn world news into "model_release" items — a 14-day replay shows 327 false-AI items dropped, 4A.I.-styled titles recovered, zero genuine losses. - Near-duplicate suppression: rewritten syndication (法案 vs 立法) collapses to the more authoritative copy.
New tool: scoring backtest
python scripts/backtest_scoring.py --days 14 --baseline-rev <rev>replays the archive through two scorer versions and reports flips, label moves, and per-site deltas. House rule going forward: scoring changes ship with a ≥14-day replay report.
UI & performance
- Per-group render cap with "展开剩余 N 条" (first paint: 806 → 523 cards, page height −30%)
- Mobile: stats stay in two compact columns — content is one swipe away instead of three screens
Reliability
- Fixed:
daily-brief.json/stories-merged.jsonhad been silently frozen for 8 days (workflow git-add whitelist omission); commit step hardened withgit add data/+ a loud unstaged-files check - Added MIT LICENSE (README had claimed it all along)
Tests: 80 passing (24 added this release).
🤖 Generated with Claude Code