Newsfeed Generator is the data producer for the Microsoft Security Newsfeed on Trym Cloud.
Every six hours, the Mac mini pipeline:
- fetches configured RSS and Atom sources, including source-provided article images;
- deduplicates articles by stable ID;
- uses Hermes with OpenAI Codex (
gpt-5.6-sol) to write an English headline, summary, topic and relevance score; - validates and atomically merges the result into
data/articles.json; - publishes the English machine feed, including optional summaries and images, at
https://newsfeed.trym.cloud/feed.json.
The former standalone news website has been retired. Human routes on newsfeed.trym.cloud redirect to the native Trym Cloud page. The old domain remains only as the producer endpoint and a migration fallback.
/feed.json contains:
generated_atin UTC;- up to 500 source-linked articles;
- English
headlineand optional automatedsummary; - optional source-provided article
imageusing an absolute HTTP(S) URL; identity,security,endpointoraitopic;- relevance score and source identity.
Producer-only fields, legacy Norwegian copy and internal tags are not exposed by the public feed.
npm ci
npm test
npm run typecheck
npm run build
npm run pipeline:fetch
npm run pipeline:enrich
npm run pipeline
npm run probe:hermesnpm run pipeline:migrate is an idempotent one-time migration for the legacy Norwegian schema. It preserves article IDs, source URLs, dates, scores and tags. It uses each known English source title as the legacy headline and omits the unverified translated summary.
The production runner is ops/launchd/run-pipeline.sh, installed as com.hakanssonlabs.newsfeed.pipeline. It pins the enrichment child to:
provider: openai-codex
model: gpt-5.6-sol
mode: Hermes one-shot, safe mode
HERMES_BIN may override the executable path for tests or a future installation move. No Anthropic or Claude authentication is required or accepted by the enrichment child.
config/feeds.yaml Source registry and default topic
scripts/fetch-feeds.ts RSS/Atom fetch, normalization and dedupe
scripts/enrich.ts Hermes/OpenAI-Codex English enrichment
scripts/pipeline.ts Fetch -> enrich -> validated atomic merge
scripts/migrate-english.ts Fail-closed legacy schema migration
data/articles.json Canonical producer store
src/pages/feed.json.ts Public English machine feed
src/pages/index.astro English migration fallback
public/_redirects Old human route retirement
ops/launchd/ Scheduled Mac mini runner
ops/cloudflare/ Feed deployment and staleness monitor
schema/ Canonical JSON schemas
See AGENTS.md for the binding engineering contract and CUTOVER-RUNBOOK.md for deployment steps.