Glossary
This glossary clarifies our domain language to ensure we all use the same terminology in code, discussion, and user documentation.
Core Terms
Project (not Tenant)
The top-level container for a newsletter workspace. A Project has settings, sources, team members, content, and an intake inbox. Never use the word “Tenant” in this codebase or user documentation. We use “Project” exclusively.
Content
The canonical record for ingested articles, posts, or extracted newsletter links. Everything the system curates or analyzes begins as a Content item.
Entity and Entity Candidate
An Entity is a person, organization, vendor, or open-source project tracked by the system to monitor authority and mention frequency. An Entity Candidate is a temporary object generated by the Entity Extraction skill, representing a potential new entity that needs human editor review before being merged into a tracked Entity.
Theme and Idea
A Theme Suggestion is a drafted topic or category generated from clustering accelerating trends (velocity). Editors can promote these into newsletter sections. An Original Content Idea is an angle the system suggests the editor write themselves, triangulated from current trends, accepted themes, and editor feedback.
Source / Plugin
A Source Plugin is the integration method (e.g., RSS, Reddit, Bluesky, Mastodon, LinkedIn). A Source Config is the specific project-level instance of that plugin (e.g., the specific RSS feed URL or Subreddit name).
Intake / Allowlist
Intake refers to the process of parsing forwarded email newsletters. The Intake Allowlist protects the project by ensuring only authorized sender email addresses can inject content into the ingestion pipeline.
Skill
A Skill is a discreet prompt-based operation using an LLM (e.g., Categorization, Relevance Scoring, Summarization, Deduplication). They live in the skills/ directory.
Run / Pipeline Run
A Pipeline Run represents the execution state of the AI pipeline for a piece or batch of content, orchestrating the sequence of Skills via LangGraph. An Ingestion Run is the execution of a Source Plugin fetching new data.
Internal vs Public URL
Due to our architecture running inside Docker Compose, there is a distinction:
- Internal API URL: Like
http://nginx, used for frontend-container-to-backend-container traffic. - Public URL: The externally resolvable URL used to generate links in confirmation emails or OAuth callbacks.