fix(modelwatch,fetch): param-count fallback + browser-shaped feed headers
Two fixes surfaced by the live feed. modelwatch: some repos report a bogus tiny `safetensors.total` (e.g. deepreinforce-ai/Ornith-1.0-35B came through as "1M params"), which both misrendered and — worse — let an oversized model slip past the size cap. Add `params_from_name` (parse the first <num>B|M token from the repo id, which by convention is the total size) and `effective_params` (trust safetensors.total only when it's >= 100M, else fall back to the name). Use it for the size filter and the summary. New unit tests cover the name parser, the fallback, and that a 70B reporting a 1M total is still rejected as too large. (Forward-looking: the idempotent ingest won't re-render items already in the feed.) fetch: feed requests now send browser-shaped `Accept` / `Accept-Language` headers. reqwest sends no Accept by default, which some anti-bot filters 403. NB this is hygiene, not a Reddit fix — Reddit fingerprints the TLS/HTTP client (rustls) and hard-403s it where curl only gets rate-limited (429); headers don't change the fingerprint. The control path (github releases.atom, etc.) is unaffected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016fKZzDpvjiJ9eYbPGgJvUP
This commit is contained in:
@@ -24,6 +24,7 @@ reqwest.workspace = true
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
chrono.workspace = true
|
||||
regex.workspace = true
|
||||
|
||||
anyhow.workspace = true
|
||||
tracing.workspace = true
|
||||
|
||||
Reference in New Issue
Block a user