[PR #1528] [MERGED] fix(setup): follow and validate Hermes sticky profiles #2946

Closed
opened 2026-10-17 21:12:08 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1528
Author: @peter-research
Created: 10/10/2026
Status: ✅ Merged
Merged: 10/10/2026
Merged by: @N0zoM1z0

Base: main ← Head: fix/hermes-sticky-profile-paths


📝 Commits (9)

  • 10cf8c2 fix: follow Hermes sticky profile for setup paths
  • 779ccc3 test: cover Hermes sticky profile paths
  • ca7ed2a fix: honor Hermes profiles with home overrides
  • ea32dd0 style: format Hermes profile lookup
  • d483898 style: format Hermes profile tests
  • b13ed80 fix(ci): avoid load-sensitive escape regression timing
  • fdb9c05 fix(setup): validate Hermes sticky profile identity
  • d04e88c Merge CI escape regression timing fix
  • 6af103e chore: sync main CI regression coverage

📊 Changes

6 files changed (+394 additions, -56 deletions)

View changed files

📝 docs/installation.md (+5 -0)
📝 docs/testing.md (+2 -0)
📝 scripts/verify-native-agent-client.mjs (+14 -3)
➕ src/application/HermesClientHome.ts (+150 -0)
📝 src/application/SupportedClients.ts (+29 -51)
📝 tests/acceptance/setup/hermesClientSetup.test.ts (+194 -2)

📄 Description

Hermes CLI can select a named profile through active_profile; REA previously configured the root and reported it aligned even though Hermes would use another home.

Make setup, doctor and uninstall share Hermes CLI profile selection, including normalized names, custom roots, directory suffixes and explicit named homes. Missing, deleted or invalid sticky profiles return actionable diagnostics without writing a fallback home or blocking another client's setup. Skills follow the same selected profile.

Validation:

  • 15 focused public CLI/filesystem tests passed, including backup preservation, idempotence and uninstall. Shared lifecycle assertions run once; lane duration dropped from 89s to 50s.
  • Real Hermes at dce1e9b: sticky-profile chat/call, native installed-skill loading, all 139 tools and complete JavaScript Evidence passed. An independently installed production-only tarball also passed; no live owned descendants remained.
  • npm run check:fast passed. Live model APIs, native Windows and real Hopper/Ghidra remain unverified.

Synced with main's CI regression coverage. Final-head CI gates merge.

Closes #1521.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/1528 **Author:** [@peter-research](https://github.com/peter-research) **Created:** 10/10/2026 **Status:** ✅ Merged **Merged:** 10/10/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `fix/hermes-sticky-profile-paths` --- ### 📝 Commits (9) - [`10cf8c2`](https://github.com/morluto/rea/commit/10cf8c2a069798b88ea81954180d9321e1664abe) fix: follow Hermes sticky profile for setup paths - [`779ccc3`](https://github.com/morluto/rea/commit/779ccc30ff4211896d1d98ba5693a1200443bed5) test: cover Hermes sticky profile paths - [`ca7ed2a`](https://github.com/morluto/rea/commit/ca7ed2aa3b84627e5c24822ce75484a33025787a) fix: honor Hermes profiles with home overrides - [`ea32dd0`](https://github.com/morluto/rea/commit/ea32dd091c59cb83a81906a4efb7bc5acdb67d26) style: format Hermes profile lookup - [`d483898`](https://github.com/morluto/rea/commit/d48389864a82eecf8e1b86d90a44da800255bb29) style: format Hermes profile tests - [`b13ed80`](https://github.com/morluto/rea/commit/b13ed802955be032508c24d990374d3c848951c5) fix(ci): avoid load-sensitive escape regression timing - [`fdb9c05`](https://github.com/morluto/rea/commit/fdb9c052e85caab0371db58ecead386ce4234b23) fix(setup): validate Hermes sticky profile identity - [`d04e88c`](https://github.com/morluto/rea/commit/d04e88c098cbe88be405073555884b1405e71f10) Merge CI escape regression timing fix - [`6af103e`](https://github.com/morluto/rea/commit/6af103e3c43c2b901f3ce40bccb674ace0325a16) chore: sync main CI regression coverage ### 📊 Changes **6 files changed** (+394 additions, -56 deletions) <details> <summary>View changed files</summary> 📝 `docs/installation.md` (+5 -0) 📝 `docs/testing.md` (+2 -0) 📝 `scripts/verify-native-agent-client.mjs` (+14 -3) ➕ `src/application/HermesClientHome.ts` (+150 -0) 📝 `src/application/SupportedClients.ts` (+29 -51) 📝 `tests/acceptance/setup/hermesClientSetup.test.ts` (+194 -2) </details> ### 📄 Description Hermes CLI can select a named profile through `active_profile`; REA previously configured the root and reported it aligned even though Hermes would use another home. Make setup, doctor and uninstall share Hermes CLI profile selection, including normalized names, custom roots, directory suffixes and explicit named homes. Missing, deleted or invalid sticky profiles return actionable diagnostics without writing a fallback home or blocking another client's setup. Skills follow the same selected profile. Validation: - 15 focused public CLI/filesystem tests passed, including backup preservation, idempotence and uninstall. Shared lifecycle assertions run once; lane duration dropped from 89s to 50s. - Real Hermes at dce1e9b: sticky-profile chat/call, native installed-skill loading, all 139 tools and complete JavaScript Evidence passed. An independently installed production-only tarball also passed; no live owned descendants remained. - `npm run check:fast` passed. Live model APIs, native Windows and real Hopper/Ghidra remain unverified. Synced with main's CI regression coverage. Final-head CI gates merge. Closes #1521. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:12:08 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#2946
No description provided.