eaf0dd0970
Only PUT /api/config took the span lock; model.set, moa, custom-endpoint create/activate/delete, memory-provider saves, and the profile-dir model write ran load→mutate→save unlocked in worker threads. The desktop fires these concurrently with its debounced autosave — whichever save landed second silently dropped the other's mutation (#88913/#89184 lost-write flavor). Race test with slowed save proves both writes now survive.