> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kynasmith.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Runtime contract

> Pose-frame schema and detection event types.

# Runtime contract

The runtime contract defines the pose frame schema and detection event types used by the SDKs and the API.

## Pose frames

Detected poses use the full canonical 33-landmark MediaPipe world-landmark set.

Each pose frame includes:

* `timestamp_ms`
* `pose_schema`
* `landmarks`
* `confidence`

## Low-confidence frames

Low `visibility`, low `presence`, and low frame `confidence` are valid degraded signals. The SDKs preserve the full landmark set even when quality is low.

If the detector reports "no pose detected" for a given video frame, no pose frame is emitted and nothing is sent to Kynasmith.

## Detection events

During a session, Kynasmith emits typed detection events:

* `shape_enter` — A phase in the movement was entered
* `shape_exit` — A phase in the movement was exited
* `event_completed` — A full movement repetition was completed
* `event_interrupted` — A movement repetition was interrupted before completion
* `feedback` — A feedback cue defined in your MoveSpec was triggered

Use these event types to drive your application logic.
