fix(memory): extend embedded Hindsight install timeout - #85409
Conversation
|
This was generated by AI during triage. this PR legitimately extends it to 600 seconds for heavyweight embedded packages and should be kept. Summary: On main, both install paths hardcode timeout=120 — hermes_cli/memory_setup.py:173 (setup and update restoration) and plugins/memory/hindsight/init.py:915 (post_setup). This diff adds a _dependency_install_timeout() selector that returns 600 only when the dependency set contains hindsight-all, hindsight-all-slim, or hindsight-api-slim, and 120 for everything else, wired into both call sites. It addresses the real embedded install timeout reported in #7718 and follows up the provider-healing work merged in #72363. Problems: None blocking. The cloud hindsight-client path at plugins/memory/hindsight/init.py:1477 is correctly left at 120s, matching the PR's declared scope. The stale hindsight-client==0.6.1 runtime pin is intentionally out of scope (#80390, #80517). No competing open PR extends this install timeout. Solution: Keep. Fixes a real reported symptom, is not implemented on main, and is not a duplicate. Triage verdict: PASS — keep. Evidenceno deterministic fact backs this claim — model belief, not executed or read evidence Checked against |
fix(memory): extend embedded Hindsight install timeout Reasonable, targeted change with good test coverage.
|
What
Give embedded Hindsight package installs a 600-second budget while keeping the existing 120-second timeout for lightweight memory-provider SDKs.
This applies consistently to:
hermes memory setupforlocal_embeddedhermes updateWhy
Hermes already treats Hindsight as a supported shipped memory provider. For
local_embedded, setup installs the full runtime andhermes updaterestores it after rebuilding the managed venv.That supported repair path currently passes the full Hindsight stack to
install_specs(..., timeout=120). A real managed update on Apple Silicon exceeded that generic budget, logged a warning, continued successfully, and left the configured embedded provider absent. The same forced dependency restoration completes when allowed a realistic multi-minute budget.This follows up the provider-healing work merged in #72363. It also addresses the 120-second embedded install timeout reported during #7718 without moving Hindsight to an external service or adding private dependency pins.
Scope
hindsight-all,hindsight-all-slim, orhindsight-api-slim.hindsight-clientcloud/external mode and other providers.This PR deliberately does not address the stale
hindsight-client==0.6.1runtime pin. That known issue is already covered by #80390 and the broader existing fix in #80517.Verification
git diff --check: clean.uv.lock: unchanged.Related