MARS · Status Rollup

Verticals status — the fleet at a glance

Eleven verticals share one substrate, one canonical entity model, one integrity contract. Six are live in production; five are scaffolded and waiting on either an owner, an external dependency, or a demand pull.

Generated 2026-07-27  ·  substrate: mars.*_v2
11
Verticals
6
Live
5
Scaffolded
4.4M
Canonical rows

The doctrine why the fleet works

MARS is not one product with sub-modules — it is a platform whose surface is a canonical entity graph (companies_v2, persons_v2, investors_v2, institutions_v2, advisors_v2) plus deal/event tables that reference it. A new vertical spins up not by rebuilding infrastructure but by writing direct-to-v2 under its own methodology tag, borrowing the shared minting doctrine, the tier chain, the merge_entities executor, the audit health checks, the reversible identity ledger. The cost of a new vertical is small; the marginal value compounds because every consumer query can traverse the graph.

Every vertical below writes to the same substrate under a distinct methodology prefix (reit-*, credit-*, flare-*, bios-*, lp-*…). Merges, cleanups, and rollbacks land as ledgered decisions on identity_decisions_v2. Nothing is destructive.

Substrate snapshot by ingest freshness

TableTotal rowsLast 7dLatestState
thermal_observations_v2 (flare)641,32693,3652026-07-27healthy
person_bios_v2 (bios)582,79954,8942026-07-27healthy
private_credit_deals_v2 (credit)98,30915,4702026-07-27healthy
fund_commitments_v2 (lp)1,0331,0332026-07-27healthy · phase 2 seeded
form_d_filings_v2 (SEC)765,9226962026-07-24healthy
funding_deals_v2 (core)79,6433832026-07-27healthy
merger_deals_v2 (core)37,0753362026-07-26healthy
form_144_v2 (SEC)115,5611682026-07-24healthy
real_estate_deals_v2 (reit)19,253472026-07-26healthy

Freshness column varies by vertical: news-ingest verticals use first_seen_at (earliest article mention, can predate ingest), operational verticals use ingested_at (when we wrote it). A row from 2015 landing today counts as fresh under ingested_at, which is the intent for backfill-heavy pipelines.

Live verticals shipping now

MARS core — feed + spider

MARS · LIVE

Owner: kee · Consumer: argos-mcp-server, hedge-fund pilots, editorial

Funding & M&A canonical from GDELT + Benzinga + PR wires + SEC. Phase G hourly delta canonicalization; five-layer quality controls; verified/vouched/warn integrity tiers; legacy_grouped_id parity vs Raul's mergers canonical (98.0% match).

This week: extractor drop-fix on valuation_pre/post_money_usd (10-day silent-zero bug), franken-division guard for Harmonic-class divestitures (421 new entities minted + 466 articles re-attributed), deal_stage ladder + is_definitive coverage now 94.9%.

funding_deals
79,643
merger_deals
37,075
article_meta
2.49M

reit — real estate

LIVE

Owner: kee/Claude · Consumer: futures (demand-gated) · Slug: reit

First test case of the platform-verticals pattern. GDELT metadata + Form D re-surface + selective news extraction covers ~1,684 distinct news domains at ~$0.28/mo BQ + $0 AI. Self-maintaining via three timers (ingest / weekly maintenance / daily health).

Proved the Qwen-vs-Grok line the hard way: when disambiguation requires world knowledge (which fund, which region, opco vs propco), Qwen fails fluently. The fix is a deterministic guard as the precision layer, Qwen as recall.

deals
19,253
last 7d
47
news domains
1,684

private_credit — direct lending + BDCs

LIVE

Owner: kee/Claude · Consumer: crown (Kalshi + BDC panel), futures (Hercules) · Slug: credit

Private credit deals aggregated to canonical via mars_private_credit_flow MCP tool. 98K rows and growing; ~15K in the last 7 days. Second-largest deal vertical after core funding.

Consumers: crown builds Kalshi ACQ signals off it; futures uses the BDC panel for Hercules valuation work.

deals
98,309
last 7d
15,470
mcp tool
shipped

bios — ADV person graph

LIVE

Owner: kee/Claude · Consumer: Robin (advisor / RIA queries) · Slug: bios

SEC ADV Part 2B brochure extraction: name/title/prior employers/education/CRD into persons_v2. ~30,890 unique persons across 75K bios, 117K work-history rows, 49K education entries. Firm-fee extraction (Part 2A Item 5) added this month.

Killer query: 109 ex-Merrill advisors now at $1B+ RIAs. All served < 50ms from the bios_current_firm_v2 serving MV. MCP specs shipped; consumers query SQL directly today (donor MCP family planned).

bios
582,799
last 7d
54,894
work history
164,286

flare — thermal assets registry

LIVE

Owner: kee/Claude · Consumer: crown (industrial-activity nowcast) · Slug: flare

The bet: nobody has an entity-resolved map of which company owns which thermal asset. VIIRS satellite data becomes a JOIN against the MARS graph, not the product. Registry pattern — 16,132 US plants / 1.32TW capacity / 641K observations back to 2012.

Weekly Parquet delivery to crown at s3://kscope-team-mail/crown/data/. Confounder gate (winter/summer) ran and passed at 0.79 vs raw 0.28. Steel-idle detector shipped; catches Dearborn 2020 (80.3% drop) — the exact deep idle presence-detector missed.

assets
16,132
observations
641,326
MW resolved
608,264

lp_data — LP commitments & performance

LIVE · phase 2

Owner: kee/Claude · Consumer: TBD · Slug: lp

Public pension PE disclosures → canonical LP graph. Phase 2 batch shipped 2026-07-25/26/27: CalPERS + CalSTRS + WSIB + Oregon PERS + PSERS = $217.2B commitments across 1,033 rows, 5 LPs. Fund substrate 157,472 canonical funds from Form D. Cost: $0 (Qwen where in-the-text).

Fuzzy linker generalized with three gates (first-word + Roman numeral + vintage ±2y) and two thresholds (0.90 auto / 0.70 review). Adding a new pension = 1 config entry + 1 ingest module.

commitments
1,033
pensions live
5
funds canonical
157,472

Scaffolded verticals substrate live, driver pending

insurance

SCAFFOLD

Awaiting owner · Slug: insurance

Directory + SOURCES.md + SCHEMA.md scaffolded 2026-07-05. First fire can populate thousands of rows by filtering Adrian's SEC substrate to SIC 6300-6499 (insurance carriers). Do-not-ingest list codified (A.M. Best, S&P Insurance, Moody's, Preqin).

international

SCAFFOLD

Awaiting owner · Slug: intl

Umbrella for region-specific sub-verticals (europe / india / sea / china / latam / mena / africa). GDELT source lists per region already ship in mars_feed.

signals

SCAFFOLD

Awaiting owner · Slug: signals

Structured extraction from the 8 categories mars core classify.py scores but skips (lawsuit / appointment / contract / product_announcement / financial_report / license_agreement / government_issues / dividend / auditor_change). Qwen at $0 marginal makes what was $32K/mo per category free. Superseded by v3 rewrite plan for these categories — may retire the scaffold in favor of inline v3 extractors.

prospects

SCAFFOLD

Owner: kee/Claude · Consumer: Raul (wealth-score ranking) · Slug: prospects

Person-liquidity ranking for outreach targeting. Waiting on insider's form_4_transactions_v2 classified layer (adrian owns). Schema + contracts committed; MVP score sanity check ready.

v3 (feed + spider rewrite)

PLANNED · phase 0a done

Owner: kee · Slug: mars_v3 · Plan: 6mo, 5 phases

Parallel rewrite in a NEW codebase (/home/kee/code/mars_v3/); v1 stays untouched until Phase 4 cutover. Writes to same mars.*_v2 substrate under distinct mars-v3-* methodology tag alongside v1.

Target: v1 ~$1,400/mo → v3 ~$140/mo (−90%). Enabled by (a) v2 canonical entity substrate replacing domain-md5 discovery, (b) Qwen at ~25× lower cost than Grok for extraction, (c) Brave + requests beating Playwright + Bright Data on 95% of sites (bios team proof: ~$40 for 15.7K sites, 0 OOM, ~14× faster). Phase 0a Brave pilot shipped 2026-07-27.

What ties the fleet together shared substrate

Every vertical above has a company_id FK into the same companies_v2. A flare thermal asset's owner is the same company_id as a funding_deals_v2 row, a merger_deals_v2 acquirer, a form_d_filings_v2 issuer, an insider Form 4 owner CIK. That is the leverage — a query on "companies with recent Form 4 selling AND thermal activity down 30% AND private credit maturity within 90 days" is a plain JOIN across three verticals, not an integration project.

Ledgered decisions

Every mint, merge, cleanup, and Qwen verdict lands on identity_decisions_v2 under a methodology tag (mars-*, reit-*, credit-*, bios-*, flare-*, lp-*, insider-*). This makes every substrate change reversible — a bad Qwen prompt or a misfired guard can be un-decided without collateral damage.

The consumer contract

Non-negotiable across all deal verticals: integrity_tier IN ('verified','vouched') filter on every consumer query; amount_usd_converted for FX-normalized amounts; is_placeholder=FALSE on entity queries. The warn tier catches anomalies (a $1.75 trillion SpaceX "IPO" got auto-flagged with extract_guard + range_sanity failures) — skipping the filter eventually surfaces a garbage row to a user.

The gaps we're honest about followups

MARS — 2026-07-27  ·  substrate mars.*_v2 Generated for internal fleet-status readers