personal memory agent

observe/transcribe: schema-constrain + drop shape tolerance master

Add a Draft 2020-12 JSON schema for Gemini's transcribe response and pass it via json_schema on generate(). Tighten _extract_segments to accept only the documented {"segments": [...]} wrapper; bare-list, array-wrapped-dict, and {"transcript": ...} fallbacks now raise. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>