Overview
Feeds are thematic groupings of documents within a space. While sources organise documents by where they came from, feeds organise documents by what they are about. A feed titled "Competitive Landscape" might pull documents from multiple sources — uploaded reports, API-connected news feeds, and webhook-delivered alerts — into a single analytical context.
Feeds are the primary unit that agents operate on. Each agent is assigned to one or more feeds, and its analysis is scoped to the documents within those feeds. The platform can also suggest feeds automatically by analysing the content of documents in a space.
Key Concepts
- Feed types —
source_default(auto-created per source, tracks all its documents) andai_generated(created by the AI feed suggestion system based on content analysis). - Suggested queries — Each feed carries a
suggestedQueriesarray of pre-seeded discovery prompts that agents can use as starting points for analysis. - Purpose field — A natural-language description of what the feed is for, used by agents to decide whether a feed is relevant to their task.
- Document M:M — The same document can belong to multiple feeds via the
feed_documentsjunction table, without duplication. - Enable/disable — Feeds can be toggled on and off. Disabled feeds are excluded from agent analysis and report generation.
Data Model
feeds
| Column | Type | Notes |
|---|---|---|
id | uuid (PK) | |
spaceId | uuid (FK → spaces) | Owning space |
name | text | Display name |
description | text | Human-readable description |
purpose | text | What this feed is for (used by agents) |
suggestedQueries | jsonb | Default []. Pre-seeded discovery prompts |
agentGenerated | boolean | Whether this feed was created by AI |
agentNotes | text | AI's reasoning for creating this feed |
enabled | boolean | Whether the feed is active |
sourceId | uuid (FK → sources) | Optional — linked source for source_default feeds |
feedType | text | Default "ai_generated". One of: source_default, ai_generated |
hint | text | Guidance for feed suggestion system |
createdAt | timestamp | |
updatedAt | timestamp |
feed_documents
| Column | Type | Notes |
|---|---|---|
feedId | uuid (FK → feeds) | |
documentId | uuid (FK → documents) |
Primary key: (feedId, documentId)
How It Works
- Source-default feeds — When a source is created, a corresponding
source_defaultfeed is automatically created. It tracks all documents added to that source. - AI feed suggestion — The feed suggestion service analyses document content across the space and proposes thematic feeds. It sets
agentGenerated: trueand populatesagentNoteswith its reasoning. - Documents assigned — Documents are linked to feeds via
feed_documents. A document can belong to any number of feeds. - Suggested queries seeded — The AI populates
suggestedQuerieswith questions that would be productive to ask about the feed's content. These serve as starting points for agent analysis. - Agents assigned — Agents are assigned to feeds via
agent_feed_assignments. When an agent runs, it analyses documents within its assigned feeds.
Why It Works This Way
Pre-Seeded Discovery Prompts
The suggestedQueries field gives agents a head start. Instead of an agent needing to infer what questions are worth asking about a collection of documents, the feed suggestion system has already identified productive lines of inquiry. This reduces wasted LLM tokens on exploratory prompting and improves the quality of first-run analysis.
Feed-Document M:M Over Copying
The same document can appear in multiple feeds without physical duplication. A regulatory filing might belong to both a "Compliance" feed and an "Industry Trends" feed. This keeps storage efficient while allowing the same content to be analysed from different angles by different agents.
Source-Default Feeds as a Baseline
Every source gets a source_default feed automatically. This ensures that no document is ever "orphaned" — even if no thematic feeds have been created yet, agents can still access all documents through the source-default feed.
Code Reference
| File | Description |
|---|---|
packages/db/src/schema/feeds.ts | Feeds and feed_documents table definitions |
apps/data-plane/src/services/feed-suggestion.ts | AI feed suggestion service |
apps/api/src/services/feed-suggestion.ts | Feed suggestion API integration |
Relationships
- Spaces — Every feed belongs to a space
- Sources — Source-default feeds are linked to a source via
sourceId - Agents — Agents are assigned to feeds and analyse their documents
- Inferences & Signals — Inferences are scoped to the feed that produced them