Skip to main content

A HUMAN's call on an object.

POST 

/api/threats/designate

This is an ROE-relevant act, not a UI toggle. Our doctrine says kinematics alone may never reach hostile (a fast, inbound, unidentified contact maxes out at suspect); operator designation is the sanctioned path there. The runtime installs it on the ThreatManager on the next tick, and the resulting state change is persisted as threat.v1 (the change-signature includes designation + affiliation, so a declaration on an already-confirmed threat is recorded rather than silently vanishing — it previously did).

by is a claim, not a proven identity

The route is authenticated and workspace-scoped like everything else — this note used to say the whole /api scope was open, which stopped being true with PR #325. What is still true is narrower and worth keeping in view: by is supplied in the body and never checked against the credential, so the audit trail records who the caller said decided. The caller's own identity is on the session; by is a label beside it.

Reconciling the two is its own piece of work. Until it lands, read by as annotation rather than attribution.

Request​

Responses​

the recorded declaration; attribution is the caller's unverified claim