VeriQuill — systems that refuse to overclaim under uncertainty

Threat prioritization under uncertainty

A decision-support prototype. Given tracks with incomplete and unequally trustworthy information, it answers two different questions from one belief state.

The house position. VeriQuill's compliance product drafts every answer from an approved library — cited, confidence-graded, and never invented — and flags what it cannot support instead of filling the gap. This is the same commitment applied to threat prioritization: report ties as ties, label an estimate a lower bound when it is one, and stay silent rather than invent a task.

Fully simulated data. Every constant is a synthetic placeholder and represents no real system.

Two minutes eleven seconds. Guided mode pauses at each beat with a note on what to watch.

The two questions

What to act on now

Ranked by expected consequence, computed per sampled world and then aggregated — so a rank is a distribution, not a number. Uncertainty is the width of the band, never a bonus added to the score.

Where to look next

Ranked by expected regret: how much worse the committed set becomes if this track's uncertainty resolves badly. A dangerous track we are certain about scores exactly zero — there is nothing left to learn.

Conflating those is the standard failure mode. A track that is dangerous and well characterised belongs at the top of the first list and the bottom of the second.

Try it

The demo runs entirely in the browser — no backend, no network calls, nothing is collected. Press Play, or use the controls to inject tracks, degrade confidence, and override the ranking by hand.

Three things a reviewer usually asks

Scope

Deliberately excluded: multi-source fusion, asset or interceptor assignment, geospatial views, learned models. Every weight lives in one documented file because the goal is a prioritization core that can be argued with, not one that hides its reasoning. The engine directory imports nothing outside itself and can be run and challenged on its own.

81 tests. The full scenario runs headless with no browser and produces byte-identical output across runs; that dump is in the package.