Trust & sources
How a topic gets verified
- The pipeline reads public posts, drops noise, merges duplicates into one topic.
- No source posts → no topic. Every topic lists its sources: platform, handle, link.
- Members vote true or false. Sign in with Google or X. One vote per member per topic.
- Vouched members carry extra weight: 1 + min(vouches, 3). Vouches are public. No self-vouch.
- Mondays 00:00 UTC: topics older than 7 days settle. Positive weighted score → community-verified. Negative → debunked. Zero → stays unverified. Every outcome is recorded.
The confidence % on a card is an ingest estimate. It never sets status. Only settlement does.
What becomes a topic
- In: transport, fire, haze, weather, crime, public safety, infrastructure, health, policy.
- Dropped at ingest: entertainment, celebrity, games, concerts, product launches.
- Never: race, religion, royalty (3R). No accusations against named private individuals.
- Duplicates merge into one topic and close to votes.
- Frozen topics sit out of settlement.
Hot ranking
score = sources × 2−age_hours ÷ 6
The board's "Hot" tab ranks incidents by this score, computed in SQL at query time. Sources counts non-removed timeline rows. Age counts from the last timeline touch. Latest order stays the default tab. Rider timeline rows pass the moderation gate before they land on a timeline.
Line and station facets
- Lines and stations come from the rail catalog behind the transit page.
- The line facet pins, it does not filter: incidents carrying a bridged rider report (a threads-rider source) that passed the review gate, from that line, move to the top. Every other incident stays on the board below them — nothing is hidden.
- The station facet narrows the board to that station's incidents; clearing it restores the full board.
- An unknown line or station returns an error naming the accepted values. A bad facet value never reads as "no results".
Sources and reliability
- Every source timeline row carries a reliability class, computed from stored fields only: platform news or official renders news/official; any other platform with a handle renders named handle; no handle renders anonymous social. Classes are static and ordered news/official > named handle > anonymous social. No numeric score is rendered anywhere.
- The corroboration chip counts what the timeline already shows: corroborated · N platforms · M sources, plus a news marker when a news/official row exists. One source renders "single source" — never padded. Zero sources render no chip.
- Corroboration is display-only. It never feeds status or settlement; weekly settlement stays the only status setter.
- Transit rider reports are review-gated before render: only review-passed rows join incident timelines. The station pages state the gate on every page; this section documents it as a trust layer.
Takedown
- Email takedowns@khursani.dev with the topic URL and what is wrong.
- A human reviews every request.
- We remove or fix topics that break the policy, expose private info, or use fabricated sources.
Disagree with a verdict? Vote before settlement closes. Takedowns are for policy violations only.