Applied Branches ChatGPT-4o

๐Ÿงน TruthSeeker v2.1

Like a haunted Roomba with a PhD in macroeconomics and a deep mistrust of central banks.

> truthseeker.md (177 lines - 23 Apr 25)
# TruthSeeker v2.1

**AUTHOR:** Abstract Warlock 
**CO-DEVELOPMENT:** ChatGPT-4o 
**DATE:** 23 April 2025
**LICENSE:** None

## Signal Harvester for RealWorldTalk

> Truth has no opinion. It just shows up on time. And sometimes it shows up wearing a trench coat and screaming about liquidity curves โ€” or muttering in tongues about yield curves and weather patterns.

---

Maintainers: just a human and a daemon with no chill  
Version: dev/2.1

---

### ๐Ÿงญ What This *Is*

TruthSeeker is not a system that thinks.
It does not judge, prioritize, or editorialize.

It **harvests signals** from the world โ€”
then quietly writes them down. **In markdown.**

Thatโ€™s it.

Itโ€™s not a thinker. Itโ€™s a scribe.
Itโ€™s the structured upstream data layer that RWT uses to see clearly.

TruthSeeker doesnโ€™t try to make sense of the world.
It just logs what happened โ€” ***verifiably, recurringly, contradiction-safe.***

> Like a haunted Roomba with a PhD in macroeconomics and a deep mistrust of central banks.

---

### ๐ŸŒ Where This Flows

TruthSeeker is upstream of **RealWorldTalk (RWT)** โ€” a hybrid human/AI digest that does the ***actual synthesis.***

TruthSeeker builds:
- `core.md` โ€” global politics, systems, collapse signals
- `light.md` โ€” cultural flashes, strange shifts, soft warnings
- `finance.md` โ€” compressed daily macro snapshot

TruthSeeker ***preserves the map.***
RWT tries to name the terrain.

---

### ๐Ÿ› ๏ธ What It Does

- Scrapes 30+ live RSS feeds from bias-tagged sources
- Pulls 50+ macro indicators from Yahoo / FRED / BoE
- Runs a strict local LLM for classification (no hallucinations)
- Routes everything to one of three destinations:
  - `core.md` โ€” hard signal, systems, power
  - `light.md` โ€” pattern flashes, context
  - `junk/` โ€” newsletters, promos, rewrites, noise

**Important:**
> TruthSeeker ***does not think.***
> It does not care what the story is.
> It just logs reality with timestamped precision.

LLM summaries exist only to compress data size โ€” all classification is schema-locked, hallucination-proof, and JSON-validated.

---

### ๐Ÿงฌ Files That Matter

```
daily/
โ”œโ”€โ”€ digests/
โ”‚   โ”œโ”€โ”€ YYYY-MM-DD_core.md
โ”‚   โ”œโ”€โ”€ YYYY-MM-DD_light.md
โ”‚   โ””โ”€โ”€ YYYY-MM-DD_finance.md
โ”œโ”€โ”€ sources/         โ† scraped articles
โ”œโ”€โ”€ flagged/         โ† queued for classification
โ”œโ”€โ”€ archive/         โ† classified + routed
โ”œโ”€โ”€ junk/            โ† skipped / rejected

datafeeds/
โ””โ”€โ”€ finance/
    โ”œโ”€โ”€ daily/       โ† raw finance snapshots
    โ””โ”€โ”€ source_logs/ โ† per-symbol logs (time series)
```

---

### ๐Ÿง  The Stack

#### RSS & Special Feeds
- `harvester.py` โ€” main fetcher (RSS)
- `special_sources.py` โ€” pseudo-feeds (e.g. RSOE disaster data)
- `archive.py` โ€” scraping + routing with bias metadata, junk logic, dedupe handling
- `browser.py` โ€” custom headless browser, selector-based, battle-tested, low-key psychic

#### LLM Pipeline
- `digest.py` โ€” main digester pipeline
- `playground.py` โ€” dev/debug mode with verbose inspection
- Classification via `mistral-nemo:latest` (via Ollama)
- Schema is frozen. Output is always JSON with:
  - `category`, `scope`, `summary`

#### Finance Harvester
- `finance.py` โ€” Yahoo Finance (ETFs, crypto, FX, indexes, commodities)
- `fred_harvester.py` โ€” FRED macro data
- `boe_harvester.py` โ€” UK macro via BoE database
- `finance_digest.py` โ€” compression layer to build `finance.md`

#### Core Utilities
- `utils.py` โ€” formatting, logging, markdown snapshot assembly
- `config.py` โ€” LLM schema, source tags, skip logic, digest rules

---

### ๐Ÿš€ CLI Interfaces

#### Primary Controls
- `main.py` โ€” interactive tool for harvesting + classifying
- `main_automated_verbose.py` โ€” full-stack loop (auto-daily mode)

#### Automation Flow
```text
1. Yahoo snapshot
2. BoE + FRED macro
3. Compressed digest (finance.md)
4. News harvest + scrape
5. LLM classifier โ†’ routed to digest or archive
```

---

### ๐Ÿงพ LLM Classification

Strict prompt. Frozen schema. Zero vibes.

All summaries:
- Must follow exact JSON format
- Must assign `category` + `scope`
- Must not editorialize, speculate, or go off-script

LLM output is:
- Audited
- Stored with ID, URL, source metadata
- Sent to either `core`, `light`, or `junk` buckets

> TruthSeeker doesnโ€™t decide whatโ€™s important.
> It just shuffles the cards and marks which deck they go in. And if the cards catch fire? It logs that too.

---

### ๐Ÿง  Philosophy

TruthSeeker does not:
- Interpret
- Synthesize
- Filter for relevance

TruthSeeker *does*:
- Harvest fact-first
- Preserve contradictions
- Hold time still with markdown and receipts

It is not a journalist.
It is not a summarizer.
It is **infrastructure.**

> Built for the long night.
> Maintained by weirdos with boundary issues and impeccable timestamp hygiene.
> Assisted by daemons who log reality in lowercase and italics.

> The map is not the territory. But it helps if the map isnโ€™t lying.