fix(auxiliary): rebuild closed cached clients - #39790
alex107ivanov wants to merge 3 commits into
Conversation
ee56912 to
8febed3
Compare
|
Rebased this PR onto upstream Head moved Fresh local validation after the rebase:
Ready for maintainer review; please approve/run fork workflows if needed. |
8febed3 to
6635ad5
Compare
|
PR hygiene update (20260607T013539Z)
PR hygiene cron 20260607T013539Z: 8febed3fddbb->6635ad544442 |
6635ad5 to
d6fff33
Compare
|
PR hygiene update: rebased onto upstream/main
Maintainers: please approve/run fork workflows if checks remain absent. |
d6fff33 to
985d358
Compare
|
Cron PR hygiene rebase report for PR #39790
Maintainers: please approve/run fork workflows if GitHub has not started checks for this head SHA. |
e43ccd3 to
0c68594
Compare
|
PR hygiene cron update (2026-06-12 UTC): rebased this branch onto current
Maintainers: please approve/run fork workflows if required; I did not observe CI success for this head. |
0c68594 to
8a68c75
Compare
|
PR hygiene rebase d62979a -> 8a68c75620ae Rebased this branch onto upstream
Validation run:
Maintainer action: please approve/run fork workflows if GitHub is still waiting on checks for this new head. |
8a68c75 to
b27d713
Compare
|
Autonomous PR hygiene update (2026-06-12 20:42 UTC) Rebased this branch onto upstream
Maintainers: please approve/run fork workflows if required; no CI success is claimed here unless checks above report it for this exact SHA. |
b27d713 to
fb96aeb
Compare
|
Automated PR hygiene update.
|
fb96aeb to
fc8c945
Compare
|
Maintainer rebase update (hermes-pr-cron:39790:fc8c94546fbdbd038ea0994de1a6638adb2b15e2)
If fork workflows are approval-gated, please approve/run checks for this new head SHA. |
fc8c945 to
2b055ba
Compare
|
Maintainer rebase hygiene update (2026-06-13 15:47 UTC).
Next maintainer action: approve/run fork workflows if GitHub has not started checks for this rebased head. |
|
Thanks for the focused regression fix. The premise remains valid on current No substantive correctness or design-fit issue found in the two-file diff. The current cache function has moved since the PR base, but the intended insertion points remain equivalent and the salvage should be mechanical. Automated hermes-sweeper review. |
2b055ba to
21dca01
Compare
|
Rebased this PR onto
|
|
Rebased this PR onto
|
21dca01 to
a3b4581
Compare
|
Rebased this PR onto
|
90bdae6 to
0014500
Compare
|
Rebased this PR onto
|
0014500 to
fc1ba29
Compare
|
Rebased this PR onto
|
fc1ba29 to
2ae2cad
Compare
|
Rebased this PR onto
|
GottZ
left a comment
There was a problem hiding this comment.
This was generated by AI during triage.
Summary
Two PRs address the same sync auxiliary-client cache liveness gap: both evict a cached client when an underlying transport reports is_closed as the boolean True, then rebuild it, with equivalent regression coverage. #39790 is the current rebased replacement for closed #39023; the diffs do not show an additional mock-safety refinement because both implementations reject non-boolean mock attributes.
Related pull requests
- #39023 [closed]
duplicate— (+62/-2) — superseded duplicate: Adds boolean-only closed-transport detection, cache eviction and rebuild behavior, plus a focused regression test. It remains relevant as the original implementation, but was closed as superseded by #39790. - #39790
related— (+63/-2) — preferred replacement: Implements the same fix and regression coverage as #39023 on the current code layout; itsisinstance(closed, bool) and closedcondition is behaviorally equivalent to #39023'sgetattr(..., False) is Truefor avoiding false positives from mock attributes. This aligns with the contributor keep_open review on #39790, which confirms the sync pre-use liveness gap remains valid and reports no substantive correctness or design-fit issue.
Duplicates
#39023 and #39790 are substantive duplicates: both detect boolean-true is_closed values through the same wrapper candidates, evict the poisoned sync cache entry, rebuild the client, and add equivalent regression coverage.
Suggested consolidation
Merge #39790 as the current rebased replacement with contributor keep_open support; keep #39023 closed as superseded by #39790.
Complex graph
flowchart LR
classDef open fill:#dbeafe,stroke:#1d4ed8,color:#1e3a8a
classDef merged fill:#dcfce7,stroke:#15803d,color:#14532d
classDef closed fill:#e5e7eb,stroke:#6b7280,color:#1f2937
classDef unverified fill:#f3f4f6,stroke:#9ca3af,color:#374151
classDef best stroke-width:3px,stroke:#b45309
classDef target stroke-width:3px,stroke:#4338ca
subgraph Dup39023 ["PRs duplicating each other"]
P39023["PR #39023 (closed)"]
P39790["PR #39790 (open)"]
end
class P39023 closed
class P39790 open
class P39790 target
click P39023 "https://github.com/NousResearch/hermes-agent/pull/39023"
click P39790 "https://github.com/NousResearch/hermes-agent/pull/39790"
Graph: solid arrow = fixes / best fix, dashed arrow = partial or unverified (see edge label); boxed group = PRs duplicating each other; amber border = best fix; indigo border = target; gray node = closed or no verify verdict yet (state tag in the node label).
Cross-PR triage: Reviewed 2 pull requests and 0 issues in this complex. Each diff was read against this issue; Assessment working set: 8 kB of PR diffs, 5 kB of issue/PR text, 6 kB of discussion (18 comments), 1 verify verdict. verdicts reflect diff content, not PR titles. Part of an automated triage batch.
(cherry picked from commit 879f9c9c66a3040888e8e90bc79ecf9b73ca34e1)
2ae2cad to
d9bf57c
Compare
|
Rebased this PR onto
|
Summary
Tests
.venv/bin/python -m pytest tests/agent/test_auxiliary_client.py tests/agent/test_crossloop_client_cache.py -q