@d3mocide/sovereign-watch
BSovereign Watch — Cursor / Windsurf / Antigravity AI Context
Install
agr install @d3mocide/sovereign-watch --target cursorWrites 1 file into .cursor/rules/, pinned to git-8e83026c.
- .cursorrules
Document
Sovereign Watch — Cursor / Windsurf / Antigravity AI Context
This file is auto-loaded by Cursor, Windsurf, and compatible VS Code forks. For full development rules, see AGENTS.md.
Project Overview
Sovereign Watch is a self-hosted, distributed Multi-INT fusion platform that ingests and visualizes real-time aviation (ADS-B), maritime (AIS), orbital (TLE/SGP4), RF infrastructure, and internet infrastructure data on a WebGL tactical map.
Stack:
- Frontend: TypeScript · React 18.2 · Vite 7.3 · Deck.gl 9.0 · MapLibre/Mapbox
- Backend API: Python 3.11 · FastAPI · asyncpg · LiteLLM · Redis · aiokafka
- Database: TimescaleDB (PostgreSQL 16 + PostGIS + pgvector)
- Message bus: Redpanda (Kafka-compatible)
- Runtime: Docker Compose — all services containerised
Directory Map
frontend/src/
components/map/ — Deck.gl + MapLibre/Mapbox map components
components/layouts/ — HUD shell, sidebars, top bar
components/js8call/ — HF radio terminal UI
layers/ — Deck.gl layer definitions
hooks/ — Custom React hooks
workers/ — Web workers (compute-heavy tasks)
types.ts — Shared TypeScript types
backend/api/
routers/ — FastAPI route handlers (tracks, analysis, orbital, rf, infra, system)
services/ — Business logic (historian, tak, broadcast, schema_context)
models/schemas.py — Pydantic request/response models
core/config.py — Settings (env vars via pydantic-settings)
core/database.py — asyncpg pool + Redis client
backend/ingestion/
aviation_poller/ — ADS-B ingest (adsb.fi, adsb.lol, airplanes.live)
maritime_poller/ — AIS ingest (AISStream WebSocket)
space_pulse/ — Orbital, SatNOGS, Space Weather
rf_pulse/ — RF repeaters + NOAA weather radio
infra_poller/ — Internet outages + submarine cables
js8call/ — HF radio terminal + bridge (sovereign-js8call)
nginx/ — Reverse proxy configuration (sovereign-nginx)
Further Reading
- Full development rules:
AGENTS.md - Map layer ordering (required for map work):
agent_docs/z-ordering.md - Deployment:
Documentation/Deployment.md - API reference:
Documentation/API_Reference.md - Dev setup guide:
Documentation/Development.md
Trustgrade B
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- warnLicensecopyleft/unknown — index-and-link only
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-8e83026ccd6f2026-08-06