• v0.1.4 508430e1e3

    v0.1.4 — Citizen.com as 5th detection source

    .leviathan released this 2026-04-29 01:48:54 +00:00

    Waze remains gated behind 2025/2026 reCAPTCHA on live-map; added Citizen
    as a working alternative for police-presence signal. Citizen pulls from
    911 + scanner traffic, returns rich incident data (lat/lon, timestamp,
    severity level, responding precinct, title), and has no auth or
    rate-limit gating.

    New scan/CitizenClient.kt:

    • GET /api/incident/trending (bbox query → list of incident ids)
    • GET /api/incident/{id} (full detail per id)
    • Sealed TrendingResult so the scanner can surface 4xx via SourceHealth.

    New scan/CitizenScanner.kt:

    • 60s poll interval, 30-min freshness window
    • Per-id detail cache for the lifetime of a start/stop cycle —
      incidents are immutable, so each is fetched at most once per session
    • Title regex filter: drops pure fire/medical events that don't imply
      police presence; retains them when the title also names police action
    • Submits to the shared DetectionStore as DetectionSource.CITIZEN

    ConfidenceEngine.scoreCitizen:

    • Base 55 (matches the old W_WAZE_POLICE weight)
    • +5 if level >= 2 (Citizen's own severity)
    • +5 if title contains police-action keyword (police/officer/arrest/
      swat/tactical/raid/pursuit/stop/search warrant)

    Settings: new citizenEnabled toggle (default on); UI row in
    SettingsScreen. SourceHealth has a new flow for CITIZEN. DetectionService
    starts the scanner alongside the others when location is available.

    Continued investigation of Waze / Google Maps police APIs:

    • Waze SDK (hewliyang/waze-traffic-api): wraps the same blocked endpoint
    • ddd/google_maps reverse-engineering: locations only, no incidents
    • Google Maps Platform: no public incidents API (just displays Waze data internally)
    • TomTom Traffic Incidents: traffic-only, no police presence
    • Waze for Cities partner feed: real but requires being a city/police agency

    versionCode 4 → 5, versionName 0.1.3 → 0.1.4.

    Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

    Downloads