# LOC-016 Learner Lab

Implement `evaluate(case)` in `starter.py` using only the visible synthetic evidence.

Return these fields: `desired_binding`, `observation_state`, `drift_state`, `action_state`, `convergence_status`, `decision`, `audit_event`, and `reason`.

Do not infer convergence from heartbeat or command success. Preserve operator-owned fields, stale observations, conflicting writers, and retry limits explicitly.
