San Francisco Holds 92.3% of All Litigation-Risk Scores Nationwide. The Signal Never Reaches the Composite Cell Score.
The Setup
364 civic records nationwide carry a litigation_risk_score or hostility_index — scores an NLP classifier assigns after reading city council meeting transcripts. 336 of those 364, 92.3%, belong to San Francisco. San Francisco itself holds 1,159 civic transcripts, more than any other tracked metro, so it's not surprising it leads — but only 336 of its own 1,159 transcripts, 29%, have ever been scored. Even in the metro where this classifier runs most, most of its own source material hasn't been touched.
The Chain
Everywhere else, the classifier has barely run at all. Boston holds 986 civic transcripts — 85% of San Francisco's volume — and zero are scored. Nashville: 571 transcripts, zero scored. Phoenix: 248, zero. Miami: 150, zero. Atlanta: 37, zero. New York: 1, zero. Chicago is the only other metro with meaningful coverage — 197 records, 25 scored, 12.7%. Houston: 14 records, 3 scored, 21.4%. Of the 9 metros holding any civic records at all, exactly 3 have ever had a single record scored.
The scores that do exist aren't degenerate — this isn't a broken pipeline stuck at zero. San Francisco's litigation_risk_score ranges from 0.0 to 0.88, averaging 0.206, with 14 records crossing 0.7. hostility_index averages 0.219. It's a working, differentiated classifier that has simply run on a narrow slice of one metro.
The more consequential question is whether any of it reaches the number a Locus user actually sees. Pulling groups_json for a scored San Francisco cell shows the eight named groups that build its composite score — demographics, accessibility, amenity demand, business vitality, economic strength, safety/environment, population momentum, development pipeline — each listing the specific sources it drew on and, where relevant, the sources it's missing. None of the eight reference civic_records, litigation_risk_score, or hostility_index at all — not as a used source, not even flagged as a missing one. The developmentPipeline group draws only from building-permit sources.
The Implication
A San Francisco cell with a hostility_index of 0.88 and one three blocks over at 0.0 currently produce a composite score with no visibility into that difference — the civic-transcript signal, real as it is, isn't wired into the scorer at all. Both fields sit in the same product as cell_scores, which makes it a reasonable assumption that one feeds the other. It doesn't. They're two systems that happen to share a database.
What to Watch
Whether scoring coverage extends past San Francisco, Chicago, and Houston into the six metros that already hold raw transcripts and simply haven't been scored. Whether a future scoring version adds a civic/legal group to groups_json. Whether San Francisco's own 71% unscored backlog — 823 of 1,159 transcripts — closes before coverage expands elsewhere.
Limitations
The groups_json inspection reflects one representative San Francisco cell, not an exhaustive scan of all 318 tracked SF cells — a differently-shaped payload elsewhere can't be ruled out. This says nothing about whether litigation_risk_score or hostility_index are well-calibrated, only about their coverage and whether they're integrated downstream. The 9-metro civic-records footprint reflects what's currently ingested, not the full metro roster Locus tracks.
--- Data as of 2026-08-14. Source: `civic_records` (litigation_risk_score, hostility_index), `cell_scores` (groups_json), Axiom Locus.