> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gildea.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Signals

> Events and expert analysis, decomposed into verified text units

A **signal** is a structured takeaway drawn from the most strategically relevant parts of a source. It may be a whole short article, a five-minute exchange from a two-hour podcast, or one exchange from a quarterly earnings call. Gildea processes signals daily, prioritizing what materially changes the strategic picture.

## Signal scope

The `title`, `url`, and `published_at` fields point to the full source, but the decomposition (central statement, arguments, and claims) reflects only the extracted segment. So when a podcast signal's statement reads narrowly, that is expected: treat the decomposition as authoritative for what the signal covers, and the source metadata as a pointer to where it came from.

## What gets ingested

Gildea ingests from a curated set of 500+ sources across these formats:

| Format              | Examples                                                          |
| ------------------- | ----------------------------------------------------------------- |
| **Essays**          | Blog posts, newsletters, long-form analysis                       |
| **News articles**   | Industry reporting, first-party announcements                     |
| **Podcasts**        | Transcribed and decomposed                                        |
| **Research papers** | Academic and industry research                                    |
| **Social media**    | Expert discourse and announcements                                |
| **Earnings calls**  | Quarterly calls from the companies that anchor the AI value chain |
| **Press releases**  | Product launches, partnerships, policy announcements              |

## Two types of signals

Every signal is classified by `content_type` into one of two kinds:

### Event signals (`content_type: "event"`)

Key events sourced from global reporting and first-party announcements.

| Role       | Description                                                                  |
| ---------- | ---------------------------------------------------------------------------- |
| `synopsis` | The central factual recap of what happened, as individual verified sentences |
| `claim`    | Specific factual assertions extracted from the source                        |

### Expert analysis signals (`content_type: "analysis"`)

Expert analysis from leading researchers, operators, investors, and analysts who explain what the events mean.

| Role       | Description                                                                           |
| ---------- | ------------------------------------------------------------------------------------- |
| `thesis`   | The author's central argued position, as individual verified sentences                |
| `argument` | Supporting reasoning lines; group by `argument_id` to reconstruct each as a paragraph |
| `claim`    | Specific verifiable facts extracted from the article                                  |

## The unit model

Signal detail is a flat list of verified **units**, the fundamental atom of Gildea's data model. Every unit shares one shape, whether it comes back from signal detail or from [search](/concepts/search):

```json theme={null}
{
  "id": "0004c6d0e2f1",
  "role": "claim",
  "text": "Roughly a third of the Fortune 500 run production AI.",
  "entities": ["gld:/e52b6fd2c6e6"],
  "evidence": { "snippets": [{ "text": "…30% of the Fortune 500…", "truncated": true }] }
}
```

`role` is the single axis that says what a unit is:

| `role`     | Appears in | Meaning                                                |
| ---------- | ---------- | ------------------------------------------------------ |
| `thesis`   | analysis   | a sentence of the author's central argued position     |
| `synopsis` | events     | a sentence of the central factual recap                |
| `argument` | analysis   | a supporting-argument sentence (carries `argument_id`) |
| `claim`    | both       | an atomic verifiable fact                              |

Reconstruct prose by role: concatenate the `thesis` (or `synopsis`) units in order for the central statement; group `argument` units by `argument_id`, in order, to rebuild each argument as a paragraph. Units come back grouped by role (thesis/synopsis → arguments → claims) in document order. **List position is the order**; there is no separate index field.

Every unit:

* Has **passed verification**: only verified units are served (see [Verification](/concepts/verification)).
* Carries its cited **`evidence`** snippets by default.
* May carry `verification: { "human_reviewed": true }` when a human reviewer signed off (omitted otherwise).
* Is retrievable through semantic search (see [Search](/concepts/search)).

## Decomposition structure

### Expert analysis signals

```mermaid theme={null}
graph TD
    S["Signal · units[]"] --> T["role: thesis"]
    S --> A["role: argument · grouped by argument_id"]
    S --> C["role: claim"]

    T -.- V[all verified · evidence by default]
    A -.- V
    C -.- V

    style S fill:#000,color:#fff,stroke:#333
    style T fill:#1a1a1a,color:#fff,stroke:#444
    style A fill:#1a1a1a,color:#fff,stroke:#444
    style C fill:#1a1a1a,color:#fff,stroke:#444
    style V fill:none,stroke:none,color:#666,font-size:11px
```

### Event signals

```mermaid theme={null}
graph TD
    S["Signal · units[]"] --> Su["role: synopsis"]
    S --> C["role: claim"]

    Su -.- V[all verified · evidence by default]
    C -.- V

    style S fill:#000,color:#fff,stroke:#333
    style Su fill:#1a1a1a,color:#fff,stroke:#444
    style C fill:#1a1a1a,color:#fff,stroke:#444
    style V fill:none,stroke:none,color:#666,font-size:11px
```

## Signal card vs. signal detail

The **list endpoint** returns lightweight signal cards: identity, classification, a depth signal (`verified_unit_count`), and the central statement served whole: a `thesis` field on analysis signals, a `synopsis` field on event signals.

The **detail endpoint** returns the full flat `units[]`: every verified unit with its evidence (included by default). Concatenating the `thesis`/`synopsis` units reproduces the card's statement, so the two never disagree. Pull cards from the list endpoint for discovery; fetch detail when you need the verified atoms.
