flag

Flag something as dangerous or fragile. Mneva records the warning (so the why is remembered) carrying a high caution weight. Later, assess reads that caution to fire the danger band.

Signature

flag({ text: string, caution?: number }) → { id: number, text: string, caution: number }
ParamTypeRequiredDescription
textstringyesWhat is dangerous, and why.
cautionnumber 0..1noHow dangerous. Default 0.85.

Example

MCP:

> flag — BillingService.refund() crashes if order has more than one line item, known bug, never call directly

REST:

curl -X POST https://mneva.dev/v1/flag \
  -H "x-mneva-key: $MNEVA_KEY" \
  -H "content-type: application/json" \
  -d '{
    "text": "BillingService.refund() crashes if order has more than one line item — known bug, never call directly",
    "caution": 0.9
  }'

Response:

{
  "id": 5,
  "text": "BillingService.refund() crashes if order has more than one line item — known bug, never call directly",
  "caution": 0.9
}

How flagged memories drive assess

A flag is just a memory with elevated caution. flag writes a row in the same memories table as remember, but with caution > 0.

When assess is called, it semantically searches memories for the topic, finds the highest-caution match relevant to the topic, and computes a risk score. Topics adjacent to flagged memories surface as caution or danger. The why field of the assess response returns the flagged memory's text verbatim — so the warning carries its own reason.

The default caution: 0.85 is high enough that a genuine topic match lands in the danger band. Lower values (0.4-0.6) read as caution for topics that are merely close.

See also

Was this page helpful?