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
- 200
- 400
the recorded declaration; attribution is the caller's unverified claim
no object id supplied