Commit graph

5431 commits

Author SHA1 Message Date
Rod Boev
7b5941dff9 test(#5021): harden boot redirect proof 2026-06-27 02:52:33 +00:00
Rod Boev
576834a195 fix(#5021): keep restored-session boot inside the shared 401 budget 2026-06-27 02:52:33 +00:00
Rod Boev
df1cb13cd5 fix(#5021): keep boot 401 budget out of later dropdown refreshes 2026-06-27 02:52:33 +00:00
Rod Boev
0b9235c646 test(#5021): keep active-profile recovery harness aligned 2026-06-27 02:52:33 +00:00
Rod Boev
79a92f0e3b fix(#5021): bound boot model 401 recovery 2026-06-27 02:52:33 +00:00
nesquena-hermes
1e3e61d994
Release YU (v0.51.691): fail-open auth-persistence diagnostics (#5023, fixes #5022)
Release YU (v0.51.691): fail-open auth-persistence diagnostics (#5023, fixes #5022)
2026-06-26 19:14:33 -07:00
nesquena-hermes
f8e0dcf057 Release YU (v0.51.691): fail-open auth-persistence diagnostics (#5023, fixes #5022)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-27 02:11:38 +00:00
Rod Boev
e22ad662b7 fix(#5022): keep corrupt auth state from bricking startup 2026-06-27 01:58:40 +00:00
Rod Boev
64db24c753 fix(#5022): keep malformed session loads fail-open 2026-06-27 01:58:40 +00:00
Rod Boev
da3b6666b2 test(#5022): cover wrong-type auth warning path 2026-06-27 01:58:40 +00:00
Rod Boev
3c4ef72a51 fix(#5022): surface auth persistence failures 2026-06-27 01:58:40 +00:00
nesquena-hermes
3d30ae75b9
Release YT (v0.51.690): bind default workspace on fresh blank boot (#4971, fixes #4877)
Release YT (v0.51.690): bind default workspace on fresh blank boot (#4971, fixes #4877)
2026-06-26 18:28:37 -07:00
nesquena-hermes
60f0d949bd Release YT (v0.51.690): bind default workspace on fresh blank boot (#4971, fixes #4877)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-27 01:25:46 +00:00
Rod Boev
0aa4f6f8cd fix(#4877): bind ephemeral blank boot workspace 2026-06-27 01:15:53 +00:00
Rod Boev
4ebe2980ca fix(#4877): bind default workspace on fresh blank boot 2026-06-27 01:15:53 +00:00
nesquena-hermes
0585b35739
Release YS (v0.51.689): bounded post-upgrade active-profile 401 recovery (#5018, fixes #5001)
Release YS (v0.51.689): bounded post-upgrade active-profile 401 recovery (#5018, fixes #5001)
2026-06-26 15:23:09 -07:00
nesquena-hermes
8eee473a13 Release YS (v0.51.689): bounded post-upgrade active-profile 401 recovery (#5018, fixes #5001)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-26 22:20:10 +00:00
Rod Boev
13879cebe9 docs(workspace): clarify redirect401 401 contract (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
3722c37eb6 fix(boot): preserve api timeouts while deferring 401 redirect (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
4d727c2e24 fix(boot): keep active-profile recovery on one redirect path (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
44dacc5cf5 test(boot): drive the real recovery redirect guard (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
8c9335c916 test(boot): prove recovery redirects abort bootstrap continuation (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
c978bf5ad3 test(boot): cover recovery fallback guard branches (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
045bfc8636 fix(boot): restore boot-time profile sync after recovery guard (#5001) 2026-06-26 22:09:09 +00:00
Rod Boev
47d24524a1 fix(boot): recover boundedly from post-upgrade active-profile 401s (#5001) 2026-06-26 22:09:09 +00:00
nesquena-hermes
563bbd32c0
Release YR (v0.51.688): README clarify in-process chat + HERMES_API_URL scope (#5015)
Release YR (v0.51.688): README clarify in-process chat + HERMES_API_URL scope (#5015)
2026-06-26 14:41:40 -07:00
nesquena-hermes
f2c8ce30c1 Release YR (v0.51.688): README clarify in-process chat + HERMES_API_URL scope (#5015)
Co-authored-by: sr-dotcom <sr-dotcom@users.noreply.github.com>
2026-06-26 21:32:36 +00:00
sr-dotcom
ec14a78320 fix(quickstart): clarify HERMES_WEBUI_CHAT_BACKEND=gateway is available today
The previous wording implied external gateway routing was not yet possible.
HERMES_WEBUI_CHAT_BACKEND=gateway already ships; updated wording distinguishes
it from full agent-loop delegation, which is not yet shipped and tracked in #1925.
2026-06-26 21:29:02 +00:00
sr-dotcom
620b794770 docs(quickstart): clarify WebUI runs the agent in-process, not via an external API server
HERMES_API_URL is only read by the Tasks/cron health probe (api/agent_health.py)
and does not route chat. Adds a plain-language note to Quick Start with the two
supported options for users who run an external endpoint. Closes #3873.
2026-06-26 21:29:02 +00:00
nesquena-hermes
3b959388ee
Release YQ (v0.51.687): macOS/non-procfs system-health metrics via optional psutil (#4616)
Release YQ (v0.51.687): macOS/non-procfs system-health metrics via optional psutil (#4616)
2026-06-26 14:11:20 -07:00
nesquena-hermes
f4645925c6 Release YQ (v0.51.687): macOS/non-procfs system-health metrics via optional psutil (#4616)
Co-authored-by: jkobject <jkobject@users.noreply.github.com>
2026-06-26 21:07:46 +00:00
jkobject
19d1f435b8 fix: keep psutil optional for system health 2026-06-26 20:49:13 +00:00
jkobject
0905adcf43 fix: narrow system health psutil fallback 2026-06-26 20:49:12 +00:00
jkobject
9f5aa98621 fix: support macOS system health metrics 2026-06-26 20:49:12 +00:00
nesquena-hermes
b9cf25c845
Release YP (v0.51.686): enhanced-table copy boundary-case test coverage (#5013)
Release YP (v0.51.686): enhanced-table copy boundary-case test coverage (#5013)
2026-06-26 13:08:08 -07:00
nesquena-hermes
dcdc8b2e13 Release YP (v0.51.686): enhanced-table copy boundary-case test coverage (#5013) 2026-06-26 20:05:11 +00:00
nesquena-hermes
d42147a73e test(#5013): cover table-element-anchored + cell-to-prose enhanced-table copy fallthrough
Adds the two remaining enhanced-table-copy boundary cases flagged as optional
coverage when #4994 (fixes #4945) shipped: a selection anchored on the <table>
node itself, and a selection that starts in a cell and ends in surrounding prose,
both must fall through to native copy. Test-only; the shipped guard already
handles both correctly (no production change needed).
2026-06-26 19:55:10 +00:00
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
b56f1aaca6 Release YO (v0.51.685): extract session-list cache to its own module (#5004, #1907)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-26 18:46:30 +00:00
Rod Boev
6cb55b5df8 Keep session cache invalidation signals live across the routes extraction 2026-06-26 18:36:07 +00:00
Rod Boev
47485b3a82 Preserve route-level cache overrides after helper extraction 2026-06-26 18:36:07 +00:00
Rod Boev
1bffabbfec refactor(routes): extract session-list cache helpers from api/routes.py (#1907) 2026-06-26 18:36:07 +00: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
2f43a4c522 Release YN (v0.51.684): full-table-only enhanced-table copy sanitizer (#4994, fixes #4945)
Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-26 18:11:18 +00:00
Rod Boev
9343c7ce6c ci(tests): retrigger blocked checks after unrelated cache-test miss (#4945) 2026-06-26 17:51:31 +00:00
Rod Boev
846e4f7495 test(#4945): exercise the full-table clipboard fallback 2026-06-26 17:51:31 +00:00
Rod Boev
285f6a2408 fix(#4945): keep prose and partial table copies native 2026-06-26 17:51:31 +00:00
Rod Boev
8c09c8dfde fix(#4945): keep native copy for cell sub-selections 2026-06-26 17:51:31 +00:00
Rod Boev
0256b98a3e fix(#4945): sanitize mixed table selections during native copy 2026-06-26 17:51:31 +00:00
Rod Boev
c74b135b99 fix(#4945): preserve native copy fallback when clipboard data is missing 2026-06-26 17:51:31 +00:00