personal memory agent

feat(transcribe): additive on-device ced ambient sound tags master

Compute ranked ambient sound tags (ced-tiny-q8_0 AudioSet tagger, >0.1 floor, max-aggregated over 10s windows) once per segment inside the existing transcribe pass and store them in the audio.jsonl header as a self-describing sound_tags object. Purely additive: transcription, VAD, enrichment, embeddings, diarization, and the observe.transcribed event are unchanged, and any ced failure fails open to exactly today's behavior with a single warning. No-speech segments carrying salient non-silence sound (a non-silence-family label >= 0.2) now leave an empty-transcript header with sound_tags behind before the raw audio is deleted; the jsonl is written before the unlink so a failed write never orphans a deletion. Pure-silence and tags-unavailable segments remain byte-identical to today. Tags are stored but not rendered into transcript text. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>