cd7811a7a7
Under multiplex_profiles the Hindsight provider's writer, daemon-start and prefetch threads were spawned as bare threading.Thread, so they started with an empty contextvars Context: no profile secret scope and no HERMES_HOME override. get_secret() fails closed there, so the local_embedded daemon never booted and every retain raised UnscopedSecretError, even though the spawning thread (initialize()/sync_turn() inside the gateway's copy_context'd turn) had the scope all along. Spawn each thread with contextvars.copy_context().run so the child inherits the spawner's scope + home override. No environ fallback, no re-parsed .env. The shared hindsight-loop thread needs no wrap: coroutines submitted via run_coroutine_threadsafe already run in the submitter's context per call. Fixes #92608 Fixes #94933 Co-authored-by: KIAgent01 <297567825+KIAgent01@users.noreply.github.com> Co-authored-by: Parker Fawcett <259203091+Parker-Fawcett@users.noreply.github.com>