journalism // primary record
Track one politician.
Only what they say and do.
A terminal agent that keeps a cited file on one political person of interest. Their own posts, their own speeches, their votes, their money. No news. No aggregators. No summaries of summaries.
30+ model providers9 primary sources0 news outlets1 person of interest
+--------------------------------------------------------------------------------+
| JOURNALISM // PRIMARY RECORD AGENT ON | 412 RECORDS | 08:14 PT |
| [ FILES ] POI TALK SETTINGS TAB / SHIFT-TAB TO SWITCH |
+--------------------------------------------------------------------------------+
| + Briefings | # Alexandria Ocasio-Cortez |
| + Timeline | |
| + Topics | > Living file. Every factual line tied to a record.|
| + Transcripts | |
| Profile.md | ## What they say |
| Connections.md | - Posted, "Healthcare is a right for every |
| Open Questions.md | American." [4](bsky.app/...) |
| | - Voted Yea, HR 9500, roll 305. [7](clerk.house...) |
| | |
| | ## Money |
| | - $12,400 to [payee], 2026-09-14. [9](fec.gov/...) |
+--------------------------------------------------------------------------------+
| TAB SWITCH ARROWS MOVE ENTER OPEN Q QUIT |
| AGENT ON | NEXT POLL BLUESKY 30M |
+--------------------------------------------------------------------------------+
The dashboard: files, person of interest, a chat that cites records, and settings. Keyboard only.
The rule
Their words
X, Truth Social, Bluesky, their YouTube channel, their official feeds. Verbatim, with the URL kept.
Their record
Congress.gov bills, House and Senate roll-call XML, FEC disbursements. Official data, not reporting.
Their speeches
Captions first. If there are none, audio is transcribed with Whisper, Deepgram, Gemini or Voxtral.
No outside facts
The model gets numbered records only. A sentence that cannot cite one is dropped before it reaches the vault.
Run it
npm install -g github:kkaleb-w/journalism
journalism
First run walks through the vault location, provider and key, transcription, the person of interest, and auto-start. Then the dashboard opens.
- journalism — dashboard: files, PoI, talk, settings
- journalism onboard — run onboarding again, keep the vault and records
- journalism digest — one-page briefing from the last 24 hours
- journalism ask "..." — question the record from the shell
- journalism ingest <url> — add an official document, speech or transcript
What it is not
It does not fact-check the person and it does not add context from reporting. It records what they said and did, links every line to the source, and leaves the reporting judgment to you. The vault is plain Markdown and opens in Obsidian.