#1
·
2026-05-19
·main@HEAD (pushed 2026-05-18) · docker latest 2026-05-11
WeRSS (we-mp-rss)
rachelos/we-mp-rss
🛠
68 / 100Available
📝
⚛
→
⚗
→
🧬
🛑
0–29
⚠️
30–49
🛠
50–79
🏭
80–100
▼
68
🛠· 68 / 100
- ✓7 claims passed, no critical failures
- ✓MIT / Apache / etc., installable per deployment.install_methods
- ✓release_pipeline_score=2 + pushed in 90-day window
- ✓multilingual_readme=true
- ⚪static-only eval; live e2e pending
#2
#3
#4
docker run … ghcr.io/rachelos/we-mp-rss:latest | any (Docker) | easy |
docker run … rachelos/we-mp-rss:latest (Docker Hub) | any (Docker) | easy |
docker run … docker.1ms.run/rachelos/we-mp-rss:latest (China mirror) | any (Docker, CN) | easy |
python main.py (from source) | Python 3.13.1+ | moderate |
WeChat / WeRead login
Auth source — service scrapes content via a logged-in WeChat / WeRead account (QR-code login flow)
Free WeChat account works; recommend a throwaway, not main account
SQLite or MySQL
Persistence — accounts, subscriptions, articles, schedule state
Self-hosted; SQLite is default
Redis / Memcached (optional)
Config cache for read perf — fallback to in-memory
Optional
ghcr.io / Docker Hub
Image registry
Public pulls, rate-limited on Docker Hub for anonymous
· 8
7 1
| +40 | |
| +8 | |
| +12 | |
| +3 | |
| +5 | |
| 0 |
8 / 8
passed claim-001
passed claim-003
failed claim-004
passed claim-006
input_contract | |
|---|---|
output_contract | |
determinism | |
idempotence | |
no_skill_callouts | |
failure_mode_clarity |
- evidence_completeness='partial' (not portable) → capped at 'usable'
archetype: api-service→core_layer_tested? True→evidence: partial→recommended: usable→final: usable
ceiling 1 · evidence_completeness='partial' (not portable) → capped at 'usable'
| claim-001 | rachelos/we-mp-rss Docker 镜像存在且 1 周内有推送 | critical | shipped-artifacts | ● passed | |
| claim-002 | 项目主页 werss.csol.store 当前可达 | medium | dependency-liveness | ● passed | |
| claim-003 | LICENSE 实质 MIT,自动分类器误判 NOASSERTION | high | maintainer | ● passed | |
| claim-004 | README 徽章引用 RSSNext/Folo 而非本项目 | high | marketing-vs-reality | ✕ failed | |
| claim-005 | 根目录有 10+ ad-hoc 修复 / 调试脚本而无测试套件 | medium | maintainer | ● passed | |
| claim-006 | archived=false 且 pushed_at 在 48 小时内 | critical | maintainer | ● passed | |
| claim-007 | 仓库根目录同时存在英文和中文 README | low | ecosystem | ● passed | |
| claim-008 | 仓库 description / topics 呈现关键词堆砌 | low | marketing-vs-reality | ● passed |
0%
0.00s
0
# Final Verdict ## Repo - **Name**: - **Version tested**: - **Date**: - **Archetype**: - **Layer**: (atom | molecule | compound) - **Score**: /100 (from `verdict_calculator.py`, not judgement) - **Category**: (🏭 Production-ready / 🛠 Available / ⚠️ Risky / 🛑 Don't use) - **Tier**: (recommend ≥90 / team ≥80 / self ≥65 / try ≥50 / risky ≥30 / broken <30) ## Plain English Two sentences max. What does the user get if they adopt this repo today, and what would make them regret it? - Outcome if adopted: - Regret scenario: ## Why This Score State the user-visible outcome first, mechanism second. Lead with what the repo *does* for the user, then the evidence. ### Top 3 score drivers What earned or cost the most points. Reference `breakdown` from the calculator output. - +/- : - +/- : - +/- : ### Core outcome What observably works end-to-end? What observably does not? ### Scenario breadth How many real inputs has it been tested against? Which dimensions vary (platform, data shape, scale)? ### Repeatability Same input twice → same result? Filesystem-level or only log-level? ### Failure transparency When it fails, do you learn something actionable, or does it swallow the error? ## What Would Move The Score Up Concrete, testable next actions in score-impact order. Not "be better" — "add X test against Y fixture showing Z (lifts ~+N)". 1. (~+N) 2. (~+N) 3. (~+N) ## Remaining Risks Ranked. Each risk with severity + impact + mitigation if known. | Risk | Severity | Impact | Mitigation | |---|---|---|---| ## Related Artifacts - Claim map: - Plan: - Runs: - Verdict calculator input: - Rendered HTML dossier: