Presence

Presence is what a desk UI shows. The model does not animate. The runtime picks a row from this table. The UI plays the clip.

Schema:presence.schema.json.

State

FieldValues
synth_idDescriptor id.
moodcalm · pleased · disappointed · angry · stuck · triumphant
workidle · read · write · wait · done
towardyou or another synth id.
intensityNumber from 0 to 1.
updatedISO-8601 timestamp.

Rules

  1. If it is not in the table, it does not happen.
  2. stuck means the job jammed. It does not mean she is sulking.
  3. There is no hunger, sleep, or dating layer.
  4. A client shall treat unknown mood or work values as calm / idle and must not crash.
  5. Presence is not a chat log. Receipts are artifacts. The conversation is one ongoing job.

Transport

Presence may be an MCP resource (synth://<id>/presence), a JSON GET on the synth host, or a local file the desktop shell already owns. The document does not require a cloud.