DR. ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
> muck
A COMMAND LINE INTERFACE FOR AGENTIC JOURNALISM
COMPUTATION + JOURNALISM SYMPOSIUM · OCT 2026
WHAT MUCK IS
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
02 / 15
Muck is a set of tools
that enable AI agents
to find stories in data.
MISSION · CONSTRAINTS
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
03 / 15
Uncover stories
Run on a laptop
HOW IT WORKS · THREE LAYERS
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
04 / 15
BUILD
index once
peek
ingest
map
parse
index
INVESTIGATE
ask it questions
search
grep
entity
relations
aggregate
anomalies
VERIFY
check every claim
cite
verify
audit
finding
trace
BUILD · WHAT GETS BUILT
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
05 / 15
From raw records to searchable data
Step | What it produces | Count | Time |
peek | A field map: which fields become text, names, dates, amounts | setup | — |
ingest | Source files registered, deduplicated by content hash | 61 | 1 s |
map | Documents, one per record | 715,191 | 77 s |
parse | Pages from PDFs and Word files (none in this corpus) | 0 | 16 s |
index | Chunks, each embedded and keyword-indexed | 2,041,925 | ~4.5 min |
index | Resolved entities and their mentions | 73,680 / 6.6M | ~33 min |
index | Typed relations: donated_to, lobbied_for | 280,107 | |
| | Total | 39.6 min |
WHAT THE AGENT DOES · EXAMPLES OF MUCK COMMANDS
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
06 / 15
muck status # what's in the index
muck fields # which fields can be searched or counted
muck relations --predicate donated_to -k 12 # who gives money to whom
muck grep "conviction|convicted|pleaded|sentenced|debarred" --all
muck aggregate --by covered_position --agg count -k 12 # revolving-door pool
muck entity "OpenAI" # one entity across all sources
muck verify --token "f6de82d891e.27778@0-1962#5db333c0" --quote "client.name: FRED DAIBES"
muck audit # re-check every recorded finding
TRIAL RUNS · FOUND FACTS, NOT LEADS
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
07 / 15
$ muck finding list # the first finding recorded, before the playbooks
registrant.name: CHECKMATE GOVERNMENT RELATIONS
client.name: INNOVAIRRS & CO.
income: 1000000.00
activity_desc: Issues regarding finances.
A big number. Not a story.
Statistically significant
≠ socially significant
PLAYBOOKS · TELLING THE AGENT WHAT A STORY LOOKS LIKE
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
08 / 15
Muck comes with 12 playbooks that point agents toward stories
Revolving door
Red-flag disclosures
Foreign influence
Peer-relative anomaly
One-shot whale
Say-vs-pay
Undisclosed relationship
Timing anomaly
Concentration / targeting
Follow-the-money
Boilerplate & filing mills
The slip-up
Each one is a hypothesis with the muck commands that test it.
44 FINDINGS · EXAMPLES OF FINDINGS FROM ONE PROMPT
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
09 / 15
9
Foreign influence
state-owned owners, from 2,276 foreign-owned filings
9
Red-flag disclosures
pardoned operatives, from 868 conviction disclosures
9
Revolving door
ex-committee counsel lobbying their old committees
4
Follow-the-money
400 reports fund both parties’ Senate committees
6
Peer anomalies
a $1.1M quarter, 22× the firm’s own median
7
Boilerplate & the slip-up
78% copies; one filer’s time sheet
FINDING 1 · FOREIGN INFLUENCE
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
10 / 15
Foreign governments and state-owned entities are the disclosed principals behind U.S. lobbying on national-security-sensitive issues
$ muck grep "foreign_entities" --all # 3,108 matches
client.name: HIKVISION USA, INC.
foreign_entities: CHINA ELECTRONICS TECHNOLOGY GROUP CO., LTD
(A WHOLLY STATE-OWNED CHINESE COMPANY) 41.55% CN
description: Prohibitions on certain video surveillance equipment
in the National Defense Authorization Act
Hikvision USA, whose filing lists “a wholly state-owned Chinese company” as an owner, hired lobbyists to influence the NDAA ban on its own cameras.
FINDING 2 · RED-FLAG DISCLOSURES
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
11 / 15
Convicted and pardoned political operatives are active in the registered lobbying corps — often paired with notable clients
$ muck grep "convicted|pleaded guilty|sentenced|debarred|felony" --all # 868 filings
registrant.name: RRB STRATEGIES LLC
client.name: ANNE PRAMAGGIORE
conviction_disclosures: In February 2025, Mr. Blagojevich received a full
Presidential Pardon from President Trump
description: Client is seeking Presidential Clemency.
Rod Blagojevich, pardoned in February 2025, registered as a lobbyist to seek presidential clemency for Anne Pramaggiore, the former ComEd CEO.
PROMPT 2, “WHO LOBBIES ON AI?” · REVOLVING DOOR
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
12 / 15
The revolving door runs into the committees that write AI law — and into the Pentagon’s AI office
$ muck entity "Bobby Cornett" # 20 filings, all Q1 2026
covered_position: Head of Legislative Affairs, Chief Digital and
Artificial Intelligence Office, Department of Defense
registrant.name: ATLAS CROSSING LLC
client.name: AIR SPACE INTELLIGENCE Q1 2026
Bobby Cornett ran legislative affairs for the Pentagon’s AI office, then appeared on 20 Atlas Crossing lobbying filings in the first quarter of 2026.
VERIFY · HOW A CLAIM IS CHECKED
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
13 / 15
Claims are all checked against their sources
token
A result from a document carries a fingerprint that can be used to check the text is really in the document
muck finding add
A claim is recorded with its quote and token, and verified on the spot
muck verify
Re-reads the span, recomputes the hash, checks the quote is inside it
muck audit
Re-runs verify on every finding in the ledger: 58 of 58 passed
WHAT COMES NEXT · THIS IS JUST THE BEGINNING
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
14 / 15
For AI agents
For journalists
ULYSSES PASCAL · LARGE LANGUAGE LAB, UCLA
15 / 15
> muck
github.com/upascal/muck
two runs ≈ $30 · 52 min each · runs on a laptop