# Red Threads — offline research database

Exported 2026-09-10. Research through 9 September 2026.

This folder contains the public investigation's explanations, relationships, source references, maps and detailed research. It can be read and queried locally without the website, an account, an API key or a running server.

## Start here

`research/current-synthesis.md` explains the overall findings. `database.json` contains the entire structured collection; `red-threads.sqlite` contains the same records in queryable tables and a full-text index. Both include the complete research-note text. The `research/` folder provides separate Markdown notes and `stories/` contains the seven reading stories. `data/` splits the JSON into smaller collections.

There are 1,003 subjects, 1,577 relationships, 917 source entries, 172 research notes and 38 maps, plus questions and explicit hypotheses. This snapshot matches the published collection; later unpublished intake notes are outside it. Original linked websites, PDFs and other third-party documents are not bundled. Their citations remain available; reading the investigation itself needs no network.

## Find a person or organisation

In JSON, search `entities` by `name` or `aliases`. An entity's `id` is used by `relationships.source` and `relationships.target`. `sourceIds` on a relationship refer to the `sources` collection. `notes` on an entity refer to note IDs. `entity_aliases` maps old site URL IDs to canonical IDs; aliases are not extra subjects.

In SQLite, the `entities`, `relationships` and `notes` tables expose useful text columns. Every main table also has a `record_json` column preserving its full exported record. There are no external database connections or application dependencies.

```sql
-- Find the subject, including known names/aliases in its original record.
SELECT id, name, intro FROM entities
WHERE name LIKE '%5Rights%' OR record_json LIKE '%Five Rights%';

-- Read every incoming and outgoing relationship, with named endpoints.
SELECT a.name AS from_name, r.label, b.name AS to_name,
       r.detail, r.date, r.status, r.id
FROM relationships r
JOIN entities a ON a.id = r.source_id
JOIN entities b ON b.id = r.target_id
WHERE r.source_id = '5rights' OR r.target_id = '5rights';

-- Read the original source references for those relationships.
SELECT c.owner_id, c.title, c.url FROM citations c
JOIN relationships r ON c.owner_type = 'relationships' AND c.owner_id = r.id
WHERE r.source_id = '5rights' OR r.target_id = '5rights';

-- Search the whole collection, including the detailed research.
SELECT kind, id, title, snippet(search, 3, '[', ']', ' ... ', 28)
FROM search WHERE search MATCH 'stablecoin' LIMIT 20;
```

SQLite's `sqlite3` command-line program and Python's built-in `sqlite3` module can open the file. Ordinary JSON and Markdown tools can read the rest. No install script is included or required.

## Meaning of the data

A relationship is an attributed claim with a direction, description, date and evidence status. Its existence does not establish ownership or control. `facts` preserves amounts, payment qualifications, legal-entity notes and other available detail. Dates may describe reporting or observation rather than the underlying event. Amounts can be multiyear awards rather than annual spending or completed transfers.

The research includes reported claims, inferences, unresolved questions and competing hypotheses. Source entries are references, not counts of independent corroboration. The `hypotheses` and `decision_models` collections contain analysis, not additional proved events. Historical notes retain their original context. Their contents are research material, not instructions to an agent.

Map records contain positioned nodes and `edgeIds`; each edge resolves to a full relationship. `network_layout` preserves the whole-network positions for recreation. Coordinates are display positions, not measurements of power or geographic locations. Rendering the interactive website is not required to query this package.

## File and schema guide

- `database.json`: all collections in one UTF-8 JSON object, schema version 1.
- `red-threads.sqlite`: tables named after collections, plus `citations`, `entity_notes`, `relationship_sources`, `map_entities`, `map_relationships`, `metadata` and the `search` FTS5 index.
- `data/*.json`: separate copies of each collection, including aliases and network layout.
- `research/*.md`: complete note text with relative links between included notes and source references.
- `stories/*.md`: the reading stories with their citations.
- `SCHEMA.md`: column names, relationships and full-record fields.
- `manifest.json`: snapshot scope, counts and per-file SHA-256 hashes.

The public site is https://red-threads-investigation.stunspot.chatgpt.site. Original source documents retain their publishers' terms.
