Pipeline steps
1
Fetch
Retrieves articles from your configured sources for the date range defined in the branch’s
fetch_config. Articles are deduplicated by URL within a branch — re-fetching the same date range is safe.2
Extract
Scores each unscored article for relevance (1–10) and extracts structured fields:
event_type, primary_entity, and a short event_summary. Articles that meet the relevance threshold go into the relevant bucket; the rest go to discard.3
Cluster
Groups relevant articles into events based on semantic similarity. New articles are matched against events from the last 72 hours so that ongoing stories accumulate articles across daily runs rather than creating duplicate events.
4
Summarize
Generates a headline label and a structured intelligence brief for each event that does not yet have one. The brief includes sections for “The news”, “Why it matters”, and “Context”.
Running the pipeline
Run the full pipeline
Run all four steps against the production branch:Run specific steps
Pass asteps list to run only certain steps. This is useful when you want to re-score or re-cluster without re-fetching.
Valid step names are
fetch, extract, cluster, and summarize. When you run a subset of steps, each step operates on whatever data is already in the branch — for example, running extract without fetch scores articles already stored from a prior fetch.Backfills with date ranges
Usedate_from and date_to to fetch articles for a specific date range. This overrides the branch’s days_back setting.
date_to defaults to today if omitted. Both values use YYYY-MM-DD format.
Checking run status
pending, running, completed, or failed), the current step if still running, and counts for articles fetched, articles scored, and events created.
Managing branches
List all branches
[PRODUCTION] in the output.
Get branch details
fetch_config.
Create a branch
config dict with any branch fields:
Clone the production branch
Cloning copies the production branch’s full configuration — including itsfetch_config, prompts, and clustering settings — into a new branch. This is the recommended way to start a new experiment.
Update a branch
name directly:
Enable a schedule
Custom branches can run on their own schedule using standard cron syntax. Theschedule_timezone field defaults to America/New_York.
Delete a branch
Branch config reference
Viewing events
Events are clusters of related articles that the pipeline has grouped around a single real-world occurrence. Each event has a label, a structured summary, and an article count.List events
Viewing articles
Articles are individual news items with a relevance score and bucket classification.List articles
[8]), bucket, title, source name, and URL.
Production schedule
The production branch runs automatically on its configured schedule. You do not need to trigger it manually. After each scheduled run, ifnewsletter_audience_ids are configured on the branch, Soria automatically sends a newsletter with the latest events.
To check when the production branch last ran: