nesquena-hermes
a214dfea20
Release YO (v0.51.685): extract session-list cache to its own module ( #5004 , #1907 )
...
Release YO (v0.51.685): extract session-list cache to its own module (#5004 , #1907 )
2026-06-26 11:49:25 -07:00
nesquena-hermes
56515f827a
Release YN (v0.51.684): full-table-only enhanced-table copy sanitizer ( #4994 , fixes #4945 )
...
Release YN (v0.51.684): full-table-only enhanced-table copy sanitizer (#4994 , fixes #4945 )
2026-06-26 11:14:16 -07:00
nesquena-hermes
cca7421743
Release YM (v0.51.683): pip-style agent-root discovery ( #4998 , fixes #4700 )
...
Release YM (v0.51.683): pip-style agent-root discovery (#4998 , fixes #4700 )
2026-06-26 10:39:10 -07:00
nesquena-hermes
83fa82d4fe
Release YL (v0.51.682): indexed compression-continuation lookup ( #4991 , fixes #4990 )
...
Release YL (v0.51.682): indexed compression-continuation lookup (#4991 , fixes #4990 )
2026-06-26 09:44:24 -07:00
nesquena-hermes
7763e92d09
Release YK (v0.51.681): Anthropic OAuth-token env detection parity ( #4995 , fixes #4770 )
...
Release YK (v0.51.681): Anthropic OAuth-token env detection parity (#4995 , fixes #4770 )
2026-06-26 09:16:15 -07:00
nesquena-hermes
60f6779e47
Release YJ (v0.51.680): explicit session-index rebuild thread ownership ( #4993 , #3894 )
...
Release YJ (v0.51.680): explicit session-index rebuild thread ownership (#4993 , #3894 )
2026-06-26 08:30:10 -07:00
nesquena-hermes
b9cea92fa1
Release YI (v0.51.679): parallelize fresh sidebar boot fetches ( #4992 , fixes #4759 )
...
Release YI (v0.51.679): parallelize fresh sidebar boot fetches (#4992 , fixes #4759 )
2026-06-26 08:11:15 -07:00
nesquena-hermes
87acf25e98
Release YH (v0.51.678): suppress post-render scroll artifact across all intent modalities ( #4970 )
...
Release YH (v0.51.678): suppress post-render scroll artifact across all intent modalities (#4970 )
2026-06-26 06:47:31 -07:00
nesquena-hermes
ffef6fa4ec
Release YG (v0.51.677): render cron run output as literal pre/code ( #4977 )
...
Release YG (v0.51.677): render cron run output as literal pre/code (#4977 )
2026-06-26 05:11:28 -07:00
nesquena-hermes
f6910eeed8
Release YF (v0.51.676): scope pending user-turn dedupe to current tail ( #4826 , fixes #4825 )
...
Release YF (v0.51.676): scope pending user-turn dedupe to current tail (#4826 , fixes #4825 )
2026-06-26 04:27:23 -07:00
nesquena-hermes
42b3ada3f2
Release YE (v0.51.675): bounded state.db tail reads for paginated session loads ( #4920 , fixes #4918 P1)
...
Release YE (v0.51.675): bounded state.db tail reads for paginated session loads (#4920 , fixes #4918 P1)
2026-06-26 03:57:13 -07:00
nesquena-hermes
bb2920180e
Release YD (v0.51.674): process-global request-diagnostics watchdog ( #4973 )
...
Release YD (v0.51.674): process-global request-diagnostics watchdog (#4973 )
2026-06-26 01:07:25 -07:00
nesquena-hermes
6dd1c5e0fa
Release YC (v0.51.673): stale local approval card clears instead of dead-ending ( #4955 , #4948 local variant, #4771 follow-up)
...
Release YC (v0.51.673): stale local approval card clears instead of dead-ending (#4955 )
2026-06-26 00:13:03 -07:00
nesquena-hermes
66d0278659
Release YB (v0.51.672): pre-aggregate cron sidebar ordering for missing-index scans ( #4962 )
...
Release YB (v0.51.672): pre-aggregate cron sidebar ordering for missing-index scans (#4962 )
2026-06-25 20:20:04 -07:00
nesquena-hermes
a59fb8290e
Release YA (v0.51.671): move CLI sidebar cache rebuild out of the lock ( #4952 , closes #4842 )
...
Release YA (v0.51.671): move CLI sidebar cache rebuild out of the lock (#4952 , closes #4842 )
2026-06-25 19:57:10 -07:00
nesquena-hermes
443e1063b5
Release XZ (v0.51.670): chronological tool-call rows before final answer incl equal-ts ( #4893 )
...
Release XZ (v0.51.670): chronological tool-call rows before final answer incl equal-ts (#4893 )
2026-06-25 19:40:45 -07:00
nesquena-hermes
76eb548007
Release XY (v0.51.669): persist OpenAI priority service_tier ( #4543 , fixes #4536 )
...
Release XY (v0.51.669): persist OpenAI priority service_tier in main-model settings (#4543 , fixes #4536 )
2026-06-25 19:12:18 -07:00
nesquena-hermes
e96b95d8b2
Release XX (v0.51.668): WebUI<->Desktop session reconciliation ( #4834 , fixes #4833 )
...
Release XX (v0.51.668): WebUI<->Desktop session reconciliation (#4834 , fixes #4833 )
2026-06-25 17:49:55 -07:00
nesquena-hermes
fce305993a
Release XW (v0.51.667): compaction-marker writeback + code-redaction fix ( #4823 , fixes #4821 )
...
Release XW (v0.51.667): compaction-marker writeback + code-redaction fix (#4823 , fixes #4821 )
2026-06-25 17:26:29 -07:00
nesquena-hermes
9dc1395adb
Release XV (v0.51.666): local approvals no longer 409 ( #4950 , #4771 regression, closes #4948 )
...
Release XV (v0.51.666): local approvals no longer 409 (#4950 , #4771 regression, closes #4948 )
2026-06-25 15:39:43 -07:00
nesquena-hermes
8dd64eaa27
Release XU (v0.51.665): freeze CLI/cron sidebar cache key during streaming ( #4908 , #4842 )
...
Release XU (v0.51.665): freeze CLI/cron sidebar cache key during streaming (#4908 , #4842 )
2026-06-25 15:11:59 -07:00
nesquena-hermes
d1106c83e5
Release XT (v0.51.664): transparent stream keeps prose chronological for mixed turns ( #4932 , #3397 )
...
Release XT (v0.51.664): transparent stream keeps prose chronological for mixed turns (#4932 , #3397 )
2026-06-25 14:55:03 -07:00
nesquena-hermes
ada386acd4
Release XS (v0.51.663): show mobile reload button outside standalone mode ( #4939 , fixes #4784 )
...
Release XS (v0.51.663): show mobile reload button outside standalone mode (#4939 , fixes #4784 )
2026-06-25 13:55:08 -07:00
nesquena-hermes
a569d6ba3b
Release XR (v0.51.662): ignore DOM-wipe scroll clamp during render ( #4934 )
...
Release XR (v0.51.662): ignore DOM-wipe scroll clamp during render (#4934 )
2026-06-25 13:38:51 -07:00
nesquena-hermes
a06a63a9c2
Release XQ (v0.51.661): no fabricated turn duration from stale pending_started_at ( #4930 )
...
Release XQ (v0.51.661): no fabricated turn duration from stale pending_started_at (#4930 )
2026-06-25 13:14:30 -07:00
nesquena-hermes
9d1b6617c2
Release XP (v0.51.660): durable tool output/diff body on cold reload ( #4927 , completes #4925 )
...
Release XP (v0.51.660): durable tool output/diff body on cold reload (#4927 , completes #4925 )
2026-06-25 12:44:48 -07:00
nesquena-hermes
ccab526528
Release XO (v0.51.659): one-click extension install works with no env config ( #4935 , closes #4933 )
...
Release XO (v0.51.659): one-click extension install works with no env config (#4935 , closes #4933 )
2026-06-25 11:59:25 -07:00
nesquena-hermes
670fe37f4c
Release XN (v0.51.658): tool cards keep long content args + reconstruct diffs ( #4928 , #4925 )
...
Release XN (v0.51.658): tool cards keep long content args + reconstruct diffs (#4928 , #4925 )
2026-06-25 11:42:30 -07:00
nesquena-hermes
55a2e698a9
Release XM (v0.51.657): expanded shell tool card full command + broadened redaction ( #4926 , #4925 )
...
Release XM (v0.51.657): expanded shell tool card shows full command + broadened redaction (#4926 , #4925 )
2026-06-25 11:11:36 -07:00
nesquena-hermes
773a36dd91
Release XL (v0.51.656): stream writeback timing diagnostics ( #4923 , #4918 )
...
Release XL (v0.51.656): stream writeback timing diagnostics (#4923 , #4918 )
2026-06-25 09:58:27 -07:00
nesquena-hermes
c33657434f
Release XK (v0.51.655): avoid repeated session loads in live usage metering ( #4922 , #4918 )
...
Release XK (v0.51.655): avoid repeated session loads in live usage metering (#4922 , #4918 )
2026-06-25 09:38:20 -07:00
nesquena-hermes
1fcb61cc04
Release XJ (v0.51.654): narrow session-index save LOCK window ( #4921 , #4918 )
...
Release XJ (v0.51.654): narrow session-index save LOCK window (#4921 , #4918 )
2026-06-25 09:07:47 -07:00
nesquena-hermes
cdb70ee547
Release XI (v0.51.653): keep gateway approval failures actionable ( #4917 , closes #4771 )
...
Release XI (v0.51.653): keep gateway approval failures actionable (#4917 , closes #4771 )
2026-06-25 06:35:12 -07:00
nesquena-hermes
584dfa3c45
Release XH (v0.51.652): deliver async_delegation subagent completions to chat ( #4912 )
...
Release XH (v0.51.652): deliver async_delegation subagent completions to chat (#4912 )
2026-06-25 04:56:07 -07:00
nesquena-hermes
56931500a7
Release XG (v0.51.651): force update non-fatal on undeletable untracked files ( #4914 )
...
Release XG (v0.51.651): force update non-fatal on undeletable untracked files (#4914 )
2026-06-25 04:26:05 -07:00
nesquena-hermes
6403c8d459
Release XF (v0.51.650): protect table-cell pipes inside inline code ( #4896 )
...
Release XF (v0.51.650): protect table-cell pipes inside inline code (#4896 )
2026-06-25 01:40:06 -07:00
nesquena-hermes
aaa70157fd
Release XE (v0.51.649): activate gallery-installed extensions + fix subdir asset URLs ( #4907 )
...
Release XE (v0.51.649): activate gallery-installed extensions + fix subdir asset URLs (#4907 )
2026-06-25 00:24:20 -07:00
nesquena-hermes
cea9244460
Release XD (v0.51.648): restore tool-card result body on settled rebuild path ( #4904 , #4622 )
...
Release XD (v0.51.648): restore tool-card result body on settled rebuild path (#4904 , #4622 )
2026-06-25 00:06:18 -07:00
nesquena-hermes
a64978c7ca
Release XC (v0.51.647): restore mobile-PWA task-detail action buttons ( #4891 )
...
Release XC (v0.51.647): restore mobile-PWA task-detail action buttons (#4891 )
2026-06-24 23:37:05 -07:00
nesquena-hermes
10b9ba7429
test: class-level regression guard for the #4856 mobile-transcript-collapse family
...
test: class-level regression guard for the #4856 mobile-transcript-collapse family
2026-06-24 22:54:11 -07:00
nesquena-hermes
0ac52cba42
Release XB (v0.51.646): mobile transcript scrolls again — overflow-x:clip ( #4898 , closes #4856 )
...
Release XB (v0.51.646): mobile transcript scrolls again — overflow-x:clip (#4898 , closes #4856 )
2026-06-24 22:35:26 -07:00
nesquena-hermes
690b40c99b
Release XA (v0.51.645): cache sidebar-projection sidecar reads + hoist cron per-row I/O ( #4889 , #4842 )
...
Release XA (v0.51.645): cache sidebar-projection sidecar reads + hoist cron per-row I/O (#4889 , #4842 )
2026-06-24 22:12:36 -07:00
nesquena-hermes
09b19152ab
Release WZ (v0.51.644): extensions gallery browse/install/uninstall ( #4879 , closes #4746 )
...
Release WZ (v0.51.644): extensions gallery browse/install/uninstall (#4879 , closes #4746 )
2026-06-24 21:49:39 -07:00
nesquena-hermes
ed5a217ae1
Release WX (v0.51.643): show unassigned tasks as explicit lane on mobile Kanban ( #4853 )
...
Release WX (v0.51.643): show unassigned tasks as explicit lane on mobile Kanban (#4853 )
2026-06-24 21:19:58 -07:00
nesquena-hermes
5a46ec9bd2
Release WW (v0.51.642): steer failure reasons + Retry/Dismiss recovery bar ( #4850 , closes #4749 )
...
Release WW (v0.51.642): steer failure reasons + Retry/Dismiss recovery bar (#4850 , closes #4749 )
2026-06-24 20:50:41 -07:00
nesquena-hermes
ff110458fd
Release WV (v0.51.641): dark-mode disabled-plugin badge contrast + active-first sort ( #4848 , closes #4713 )
...
Release WV (v0.51.641): dark-mode disabled-plugin badge contrast + active-first sort (#4848 , closes #4713 )
2026-06-24 20:20:46 -07:00
nesquena-hermes
98e13bc92a
Release WU (v0.51.640): cache Claude Code transcript parses on the profile-switch path ( #4718 , #4662 )
...
Release WU (v0.51.640): cache Claude Code transcript parses on the profile-switch path (#4718 , #4662 )
2026-06-24 19:51:14 -07:00
nesquena-hermes
703d44b168
Release WT (v0.51.639): persist + session-scope approval-card dismissal ( #4846 , closes #4754 )
...
Release WT (v0.51.639): persist + session-scope approval-card dismissal (#4846 , closes #4754 )
2026-06-24 19:43:44 -07:00
nesquena-hermes
b66356ed67
Release WS (v0.51.638): bound continuation-fallback sidecar reads ( #4882 )
...
Release WS (v0.51.638): bound continuation-fallback sidecar reads (#4882 )
2026-06-24 19:01:23 -07:00
nesquena-hermes
031856b3b5
Release WR (v0.51.637): widen continuation-prompt filter to all 3 variants ( #4880 , closes #4875 )
...
Release WR (v0.51.637): widen continuation-prompt filter to all 3 variants (#4880 , closes #4875 )
2026-06-24 18:37:36 -07:00
nesquena-hermes
9d8e5d6de4
Release WQ (v0.51.636): suppress Android Chromium scroll re-anchoring during DOM rebuild ( #4878 , closes #4856 )
...
Release WQ (v0.51.636): suppress Android Chromium scroll re-anchoring during DOM rebuild (#4878 , closes #4856 )
2026-06-24 18:20:38 -07:00
nesquena-hermes
87fb8ed9ec
Release WP (v0.51.635): drop noisy parse-failed note on JSON/YAML fragments ( #4858 , #484 )
...
Release WP (v0.51.635): drop noisy parse-failed note on JSON/YAML fragments (#4858 , #484 )
2026-06-24 15:28:30 -07:00
nesquena-hermes
7043b45f5d
Release WO (v0.51.634): cache profile skill stats with mtime probe ( #4847 , closes #4783 )
...
Release WO (v0.51.634): cache profile skill stats with mtime probe (#4847 , closes #4783 )
2026-06-24 15:11:46 -07:00
nesquena-hermes
d13da425e9
Release WN (v0.51.633): collapsed tool cards preview result not call args ( #4851 , closes #4752 )
...
Release WN (v0.51.633): collapsed tool cards preview result not call args (#4851 , closes #4752 )
2026-06-24 13:49:19 -07:00
nesquena-hermes
159d362750
Release WM (v0.51.632): new conversations use configured default model ( #4867 , closes #4728 )
...
Release WM (v0.51.632): new conversations use configured default model (#4867 , closes #4728 )
2026-06-24 13:32:08 -07:00
nesquena-hermes
b553c2d084
Release WL (v0.51.631): reconnect chronology keeps prior content ordered ( #4849 , closes #4811 )
...
Release WL (v0.51.631): reconnect chronology keeps prior content ordered (#4849 , closes #4811 )
2026-06-24 13:02:17 -07:00
nesquena-hermes
9a8b353239
Release WK (v0.51.630): surface real git fetch errors on update failure ( #4862 , closes #4694 )
...
Release WK (v0.51.630): surface real git fetch errors on update failure (#4862 , closes #4694 )
2026-06-24 12:34:57 -07:00
nesquena-hermes
25dc1dcd2a
Release WJ (v0.51.629): macOS workspace drag-drop now lands ( #4845 , closes #4757 )
...
Release WJ (v0.51.629): macOS workspace drag-drop now lands (#4845 , closes #4757 )
2026-06-24 12:27:36 -07:00
nesquena-hermes
f61de2a178
Release WI (v0.51.628): no ghost messages after edit/retry/undo ( #4772 , closes #4767 )
...
Release WI (v0.51.628): no ghost messages after edit/retry/undo (#4772 , closes #4767 )
2026-06-24 11:53:00 -07:00
nesquena-hermes
3917400c80
Release WH (v0.51.627): cron Task APIs survive a shadowing top-level cron package ( #4855 )
...
Release WH (v0.51.627): cron Task APIs survive a shadowing top-level cron package (#4855 )
2026-06-24 10:56:25 -07:00
nesquena-hermes
f22affb638
Release WG (v0.51.626): restore mobile streaming scroll-jank guard ( #4857 )
...
Release WG (v0.51.626): restore mobile streaming scroll-jank guard (#4857 )
2026-06-24 10:48:15 -07:00
nesquena-hermes
c70105cf35
Merge pull request #4840 from nesquena/stage/4813-cron-prefix
...
Release v0.51.625 — cron job model override no longer keeps the @provider: display prefix (#4813 )
2026-06-24 04:13:39 -07:00
nesquena-hermes
adacf2fb17
Merge pull request #4839 from nesquena/stage/4832-kanban-height
...
Release v0.51.624 — bound the Kanban column card-list height (#4832 )
2026-06-24 03:54:37 -07:00
nesquena-hermes
a287980799
Merge pull request #4838 from nesquena/fix/4702-portrait-scroll-bottom
...
Release v0.51.623 — iOS portrait: opening a conversation lands at the bottom (#4702 )
2026-06-24 03:28:54 -07:00
nesquena-hermes
dabbf06575
Merge pull request #4837 from nesquena/fix/4768-cron-graceful-degrade
...
Release v0.51.622 — Tasks tab no longer 500s when the cron package is absent (#4768 )
2026-06-24 02:41:04 -07:00
nesquena-hermes
853c367241
Merge pull request #4835 from nesquena/stage/4241-vietnamese
...
Release v0.51.621 — Vietnamese UI language (#4241 )
2026-06-24 02:15:14 -07:00
nesquena-hermes
d2a64d7fb9
Merge pull request #4831 from nesquena/fix/4808-streaming-sessions-cache-ttl
...
Release v0.51.620 — fix /api/sessions CPU spike + slowness during streaming (#4808 )
2026-06-24 01:23:07 -07:00
nesquena-hermes
916395108b
Merge pull request #4830 from nesquena/stage/4828-reasoning-echo
...
Release v0.51.619 — stop final-answer text leaking into the Worklog as reasoning (#4827 )
2026-06-24 01:12:23 -07:00
nesquena-hermes
27b6cd436e
Merge pull request #4829 from nesquena/stage/4809-worklog-dur
...
Release v0.51.618 — preserve processed Worklog duration after session merge (#4809 )
2026-06-24 00:54:02 -07:00
nesquena-hermes
6b52b06954
Merge pull request #4824 from nesquena/stage/4818-mobile-scroll
...
Release v0.51.617 — fix mobile scroll-jank to top during streaming (#4818 )
2026-06-24 00:27:50 -07:00
nesquena-hermes
0dba861f74
Merge pull request #4819 from nesquena/stage/4803-recycle-harden
...
Release v0.51.616 — harden recycled assistant turns + scrollbar-drag detection (#4793 )
2026-06-23 23:54:28 -07:00
nesquena-hermes
517fa5ed4d
Merge pull request #4816 from nesquena/stage/4798-model-refresh
...
Release v0.51.615 — refresh stale model catalogs on session visit (#4756 )
2026-06-23 23:41:43 -07:00
nesquena-hermes
e182a0ec54
Merge pull request #4807 from nesquena/stage/2814-kanban-view
...
Release v0.51.614 — Kanban consolidated view toggle (#2814 )
2026-06-23 17:08:09 -07:00
nesquena-hermes
2b00bad5ce
Merge pull request #4806 from nesquena/stage/4800-stream-perf
...
Release v0.51.613 — eliminate O(DOM) streaming render freeze on long answers (#4800 )
2026-06-23 16:20:37 -07:00
nesquena-hermes
f04bd9fd8c
Merge pull request #4802 from nesquena/stage/rodboev-4797-4796
...
Release v0.51.612 — background-tab notifications + profile default workspace (#4753 , #4755 )
2026-06-23 15:36:43 -07:00
nesquena-hermes
1083239eb2
Merge pull request #4801 from nesquena/stage/4788-json-view
...
Release v0.51.611 — configurable JSON/YAML code-block default view (#484 )
2026-06-23 15:21:06 -07:00
nesquena-hermes
6f39bb6d08
Merge pull request #4795 from nesquena/stage/4656-escape-readonly
...
Release v0.51.610 — read-only access to escape-target symlinks in the workspace tree (#4582 )
2026-06-23 13:54:20 -07:00
nesquena-hermes
5c9c42a944
Merge pull request #4794 from nesquena/stage/4781-worklog-collapse
...
Release v0.51.609 — collapse the live Compact Worklog mid-stream (#4781 )
2026-06-23 13:42:28 -07:00
nesquena-hermes
d5b2b0e5d9
Merge pull request #4792 from nesquena/stage/4478-dom-recycle
...
Release v0.51.608 — recycle DOM nodes during virtual-scroll re-renders (#4346 )
2026-06-23 13:18:12 -07:00
nesquena-hermes
f1eafdda4f
Merge pull request #4789 from nesquena/stage/4748-empty-skeleton
...
Release v0.51.607 — empty-profile loading skeleton (#4717 )
2026-06-23 12:06:37 -07:00
nesquena-hermes
46f5fb93fe
Merge pull request #4787 from nesquena/stage/4741-backend-caching
...
Release v0.51.606 — backend hot-path caching (profile-switch perf #4662 phase 2+3, #4741 )
2026-06-23 10:39:11 -07:00
nesquena-hermes
d5f49392b3
Merge pull request #4786 from nesquena/gate/4782-sidebar-trim
...
Release v0.51.605 — trim hidden/empty rows from sidebar payload (#4775 )
2026-06-23 10:01:39 -07:00
nesquena-hermes
d613345887
Merge pull request #4785 from nesquena/stage/livestream-chat-scroll-4778-4777-4780
...
Release v0.51.604 — live-stream worklog scroll/dedup + mobile session-switch scroll (#4778 , #4777 , #4780 )
2026-06-23 09:41:05 -07:00
nesquena-hermes
8a98626967
Merge pull request #4776 from nesquena/stage-4774-release
...
Release v0.51.603 — Release VJ (cache app-shell template, #4774 )
2026-06-23 06:42:54 -07:00
nesquena-hermes
2d857f8b5a
Merge pull request #4773 from nesquena/stage-4769-release
...
Release v0.51.602 — Release VI (sidebar fetches only active source bucket, #4766/#4769)
2026-06-23 05:23:22 -07:00
nesquena-hermes
fa3d612a4e
Merge pull request #4764 from nesquena/stage-4451-release
...
Release v0.51.601 — Release VH (sidebar lineage running/unread state when continuation hidden, #4451 )
2026-06-22 23:21:45 -07:00
nesquena-hermes
34d8470009
Merge pull request #4763 from nesquena/stage-4474-release
...
Release v0.51.600 — Release VG (suppress footer jitter during virtual-scroll measurement, #4474 )
2026-06-22 22:54:00 -07:00
nesquena-hermes and nesquena-hermes
0953e7ca8e
test( #4740 ): fix two order/load-dependent full-suite flakes (test-only) ( #4762 )
...
* test(#4740 ): pin HERMES_HOME in readonly-scope pool test to fix order-dependent flake
test_active_request_readonly_scope_blocks_pool_env_seed failed only under
full-suite ordering (passed in isolation). Root cause, captured via an
assertion-time diagnostic: the readonly scope correctly blocks the process-env
credential fallback (branch 2 returns ''), but _has_explicit_pool_credentials
(branch 3) calls read_credential_pool, which falls back to the GLOBAL-root
auth.json via get_default_hermes_root() — and that reads os.environ['HERMES_HOME']
DIRECTLY, not the thread-local/scoped home. Under suite ordering HERMES_HOME
pointed at the shared persistent test state dir, where an earlier test had
persisted an openrouter credential_pool entry (source: env:OPENROUTER_API_KEY)
into auth.json. The global-root fallback found that leaked entry, so
_provider_has_key('openrouter') returned True and the assertion failed.
Fix: monkeypatch.setenv('HERMES_HOME', <tmp base>) so the global-root fallback
resolves to this test's own empty tmp dir with no leaked auth.json. Test-only;
no product change. Verified: passes in isolation AND the target test now passes
under the full suite (the only remaining full-suite reds were unrelated
subprocess-timeout SIGKILLs in test_tls_support under load, which pass on re-run).
* test(#4740 ): retry config-probe subprocesses in test_tls_support under load
The 3 TestTLSConfigFlag tests spawn a 'python -c' subprocess that imports
api.config (heavyweight) with a 10s timeout. Under the fully parallel full
suite the box can be saturated enough that the import exceeds 10s and the
runner SIGKILLs the child (returncode -9) — a pure resource-contention flake
(passes in isolation). Add _run_config_probe(): 60s timeout + retry on
TimeoutExpired/SIGKILL, returning a real non-zero exit immediately so genuine
failures still surface. Zero-flake-tolerance sweep (#4740 ).
---------
Co-authored-by: nesquena-hermes <agent@nesquena-hermes>
2026-06-22 22:41:42 -07:00
nesquena-hermes
45c8113f8b
Merge pull request #4760 from nesquena/stage-4758-release
...
Release v0.51.599 — Release VF (dedupe live progress reasoning echoes, #4758 )
2026-06-22 22:14:37 -07:00
nesquena-hermes
529eb51932
Merge pull request #4751 from nesquena/stage-4743-release
...
Release v0.51.598 — Release VE (preserve scroll across live worklog rebuilds, #4743 )
2026-06-22 21:39:12 -07:00
nesquena-hermes
9570b9bce4
Merge pull request #4744 from nesquena/stage-footer-wrap
...
Release v0.51.597 — Release VD (message footer wraps instead of overflowing, #4724-followup)
2026-06-22 21:10:14 -07:00
nesquena-hermes
6a0a215b55
Merge pull request #4739 from nesquena/stage-4729-release
...
Release v0.51.596 — Release VC (throttle reasoning SSE, #4729 )
2026-06-22 20:05:21 -07:00
nesquena-hermes
81f5ecc82d
Merge pull request #4736 from nesquena/stage-4727-release
...
Release v0.51.595 — Release VB (TLS handshake no longer stalls accept loop, #4727 )
2026-06-22 19:05:36 -07:00
nesquena-hermes
f1c0ae47f2
Merge pull request #4735 from nesquena/stage-4671-release
...
Release v0.51.594 — Release VA (profile-switch loading skeletons, #4671/#4662)
2026-06-22 18:43:23 -07:00
nesquena-hermes
3d2cd8bce5
Merge pull request #4734 from nesquena/stage-4730b-release
...
Release v0.51.593 — Release UZ (gateway-poll listener cleanup, #4730 follow-up)
2026-06-22 16:53:22 -07:00
nesquena-hermes
9430bda43d
Merge pull request #4733 from nesquena/stage-4730-release
...
Release v0.51.592 — Release UY (gateway-poll skip + smd re-init, #4730 )
2026-06-22 16:46:18 -07:00
nesquena-hermes
3bf0e194f5
Merge pull request #4726 from nesquena/stage-4721-release
...
Release v0.51.591 — Release UX (stop transcript jumping to first message, #4721/#4720)
2026-06-22 14:31:35 -07:00
nesquena-hermes
acae87c3cb
Merge pull request #4725 from nesquena/stage-4544-release
...
Release v0.51.590 — Release UW (close cross-profile credential leak, #4544/#3961)
2026-06-22 14:11:18 -07:00
nesquena-hermes
80d6514c9d
Merge pull request #4716 from nesquena/stage-4695-release
...
Release v0.51.589 — Release UV (guard state.db replay after compressed anchors, #4695 )
2026-06-22 11:41:07 -07:00
nesquena-hermes
1e47baf0f0
Merge pull request #4715 from nesquena/stage-4711-release
...
Release v0.51.588 — Release UU (preserve Thinking detail scroll, #4711 )
2026-06-22 11:25:01 -07:00