TEXXR CLI Reference
The TEXXR CLI (cli/texxr.py) queries the production API at texxr.com. All commands hit remote endpoints — no local database access required.
python3 cli/texxr.py <command> [options]
Signal Detection: day
The most powerful research command. Analyzes a single date and returns statistically scored signals.
python3 cli/texxr.py day 2026-02-09
Output sections:
CLUSTERS
Entity clusters with statistical scoring. Each entity that appears in 2+ articles gets:
| Field | Meaning |
|---|---|
z_score |
Coverage anomaly vs 30-day baseline. z >= 3.0 = strong spike, z >= 2.0 = moderate spike, z <= -2.0 = unusual silence |
source_count |
Number of distinct publications covering this entity |
convergence_score |
articles × (distinct_sources / articles). High = many outlets converging on the story |
SPIKE |
z >= 3.0 — entity is getting far more coverage than its 30-day average |
NOVEL |
Entity has no 30-day baseline (first appearance or very rare) |
~ |
Provisional — fewer than 7 days of baseline data |
How to read it: Sort by z-score. The top z-scores are entities experiencing statistically unusual coverage. A high z-score + high convergence_score = many outlets covering an entity that doesn't usually get this much attention. That's almost always a signal.
SILENCES
Entities that are active in the 30-day window but absent today. Sorted by expected daily rate.
How to read it: An entity averaging 2+ articles/day that goes to zero is notable. Ask: is there a reason they're quiet? Is everyone else talking about something that affects them?
CO-OCCURRENCE SPIKES
Entity pairs appearing together more than their 90-day baseline predicts. Uses Poisson variance for sparse count data.
| Field | Meaning |
|---|---|
today |
Co-occurrences today |
daily_rate |
Average co-occurrences per day over 90 days |
z_score |
Anomaly score (z >= 2.0 shown) |
NOVEL |
Pair has never co-occurred in 90 days |
How to read it: Novel co-occurrences between major entities are often the most interesting signal. If Anthropic and OpenAI suddenly appear together at z=4.9 when their baseline is 0.14/day, something is connecting them today.
EDGE PROFILE
Distribution of relationship types from the knowledge graph for today's articles. Uses canonical labels: financial, launch, controversy, regulatory, personnel, legal, partnership, acquisition, competitor.
How to read it: Unusual distributions suggest the day's news has a particular character. A day heavy on controversy + legal is different from one heavy on launch + financial.
JUXTAPOSITIONS
Entities appearing in contradictory relationship types on the same day (e.g., launch + controversy, partnership + competitor). These are often the seed of a constellation.
How to read it: An entity in both financial and controversy edges on the same day has a tension worth investigating.
Research Workflow
Starting a day's research
# 1. Get the signal overview
python3 cli/texxr.py day 2026-02-09
# 2. Read the top articles
python3 cli/texxr.py articles --date=2026-02-09 --limit=50
# 3. Investigate the top z-score entity
python3 cli/texxr.py edges "Anthropic" -v --limit=20
python3 cli/texxr.py entity "Anthropic" --limit=20
Investigating a signal
# A co-occurrence spike between A and B — what connects them?
python3 cli/texxr.py edges-between "Anthropic" "OpenAI" -v
# A silence — what was this entity doing recently?
python3 cli/texxr.py entity "Microsoft" --limit=15
python3 cli/texxr.py timeline "Microsoft" --since=2026-01-15 --edges
# A juxtaposition — what's the tension?
python3 cli/texxr.py edges "OpenAI" -v --limit=30
Building historical context
# How has an entity's coverage evolved?
python3 cli/texxr.py momentum "OpenAI" --year=2026
python3 cli/texxr.py arc "AI regulation"
# Find similar stories across time
python3 cli/texxr.py similar <article_id> --limit=15
# Semantic search for a concept
python3 cli/texxr.py triangulate "AI companies selling advertising"
# What happened around a specific article?
python3 cli/texxr.py context <article_id> --window=5
All Commands
Browsing
| Command | Usage | Purpose |
|---|---|---|
today |
today --limit=35 |
Today's articles sorted by position |
articles |
articles --date=2026-02-09 --limit=50 |
Articles for a specific date |
article |
article 1162353 or article 1162353,1162354 |
Full details for specific article(s) |
Search
| Command | Usage | Purpose |
|---|---|---|
search |
search "DeepSeek" --limit=10 |
Text search across headlines and descriptions |
entity |
entity "OpenAI" --limit=30 |
Articles mentioning a specific entity |
similar |
similar 1162353 --limit=15 |
Vector similarity search from an article |
triangulate |
triangulate "AI companies selling ads" |
Semantic search (embedding-based) |
Knowledge Graph
| Command | Usage | Purpose |
|---|---|---|
edges |
edges "OpenAI" -v --limit=20 |
Relationship edges involving an entity |
edges-between |
edges-between "Google" "Apple" -v |
Edges connecting two specific entities |
article-edges |
article-edges 1162353 |
All edges extracted from a specific article |
edge-profile |
edge-profile "OpenAI" --since=2025-01-01 |
Predicate distribution (narrative fingerprint) |
edge-search |
edge-search "company launches ads" --limit=10 |
Semantic search on edge summaries |
Arc Discovery
| Command | Usage | Purpose |
|---|---|---|
edge-arc |
edge-arc "Microsoft" --granularity=quarter |
Predicate evolution over time with centroid drift and co-entity shifts |
regime |
regime "Microsoft" --threshold=0.25 |
Multi-dimensional break detection (JSD + semantic drift + network Jaccard) |
thread |
thread "Microsoft" --with=Anthropic |
Chronological edge timeline with event flags (FIRST_EDGE, STATUS_CHANGE, CONVERGENCE, ENTERED) |
status-flow |
status-flow --entity="OpenAI" -v |
Edge status lifecycle: distribution, long-pending, confirmed, failed/denied |
web |
web Microsoft OpenAI Anthropic |
Entity constellation: connections, tensions, disconnected entities |
Analysis
| Command | Usage | Purpose |
|---|---|---|
day |
day 2026-02-09 |
Signal detection — z-scores, silences, co-occurrence spikes, edge profile, juxtapositions |
momentum |
momentum "OpenAI" --year=2026 |
Coverage velocity and acceleration |
arc |
arc "AI regulation" |
Topic evolution over time |
discover |
discover |
Auto-discover patterns (drift, correlations, collisions, silences) |
timeline |
timeline "xAI" --since=2024-06-01 --edges |
Chronological articles + edge phases |
compare |
compare 2026-01-15 2026-01-20 --entity "OpenAI" |
Coverage comparison between two dates |
context |
context 1162353 --window=5 |
Articles before/after a specific article |
sources |
sources "AI safety" --date-range=2025-01-01:2025-12-31 |
Which outlets cover a topic |
Flags
| Flag | Effect |
|---|---|
-c / --compact |
One line per article (saves context window) |
-v / --verbose |
Show edge summaries and descriptions |
--limit=N |
Limit number of results |
--date-range=START:END |
Filter by date range (YYYY-MM-DD:YYYY-MM-DD) |
Tips for Agents
-
Start with
daywhen researching a specific date. It surfaces the statistically interesting signals so you don't have to manually scan articles. -
Use
-c(compact) for browsing commands (today,articles,search,entity). It saves context window by printing one line per article. -
Use
-v(verbose) for edge commands. Without it, edge summaries are hidden and you only see predicate/entity names. -
Article IDs are sequential integers. Jan 2026 starts around 1154xxx. You can batch-lookup with comma-separated IDs:
article 1162353,1162354,1162355 -c. -
triangulateis the most powerful search — it uses vector embeddings, not keywords. Use it when keyword search misses semantically related articles. -
edges-betweenis essential for investigating co-occurrence spikes. It shows the actual relationship edges between two entities. -
edge-profilegives an entity's "narrative fingerprint" — the distribution of relationship types. An entity that's 40% controversy + 30% legal has a very different profile from one that's 50% launch + 30% financial. -
Z-score interpretation:
- z >= 3.0: Almost certainly a real signal — investigate
- z 2.0-3.0: Probably real, worth a quick look
- z 1.0-2.0: Could be noise
- z <= -2.0: Notable absence — why is this entity quiet?