Judge after.
A two-pass way to triage a large entity set. Wave 1 screens everyone to keep the cases worth a closer look; Wave 2 checks each flagged entity against its live graph before anything is shown to an analyst.
Wave 1 reviews every entity in token-sized chunks and flags only the High/Critical cases. It is tuned for precision over recall - fewer false leads is the point.
Each flagged entity gets its own read-only research pass with tool access to the graph: entity, relationships, cases and alerts. The verdict has to be traced to evidence it actually reads.
The analyst keeps the final word: confirm, reject, or hold, then apply. Nothing is written to an entity until a person applies it, and a rejected flag needs an explicit override to go through.
No verdicts on their own. Screens and verifications are leads for triage, read-only, and budget-bounded (token cap per run, single active run). A rejected flag can't be applied without an explicit override.
Tauri desktop shell. Tabbed workspace, LOD Explorer, globe with heat/replay, QSearch spotlight. No Electron.
Rust (Axum) API. Workflow graphs, alerts, scoring, PZZ3m agent loop. Fast and typed.
Postgres 16 at the core, with the entity store partitioned by shard. Events and source documents live in a columnar archive, graph traversal in an in-memory index, and face vectors in a dedicated store, all rebuilt from Postgres. PBAC, full audit, air-gapped licensing.
TO WORK.
Madar is built and running. Access is limited while we ship betas to early teams.
MADAR.