[PR #1511] [MERGED] test(clients): verify native Qwen Pi and Hermes workflows #2931

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

📋 Pull Request Information

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

Base: main ← Head: test/native-client-compatibility


📝 Commits (1)

  • 4e31093 test(clients): verify native Qwen Pi and Hermes workflows

📊 Changes

8 files changed (+1144 additions, -0 deletions)

View changed files

📝 docs/testing.md (+15 -0)
📝 package.json (+3 -0)
➕ scripts/verify-native-agent-client.mjs (+456 -0)
➕ scripts/verify-qwen-client.mjs (+403 -0)
➕ scripts/verify/clients/model-fixture.mjs (+171 -0)
📝 tests/acceptance/setup/hermesClientSetup.test.ts (+0 -0)
📝 tests/acceptance/setup/piClientSetup.test.ts (+0 -0)
➕ tests/acceptance/setup/qwenProfileSetup.test.ts (+96 -0)

📄 Description

Adds repeatable native-client verification after #1415, #1376 and #1403. The real clients load REA-installed skills, discover the complete 139-tool catalog and analyze a source-owned JavaScript fixture through stdio MCP. Qwen reads its offloaded result, Pi uses its default codemode, and Hermes searches/describes/invokes deferred tools. All three preserve Unicode target paths and deliver schema-valid Evidence with the expected literal facts.

The optional lanes use disposable profiles and a deterministic loopback OpenAI-compatible model. They preserve caller settings, backups and setup idempotence, retain request/Evidence receipts, and check owned-process cleanup. They add no default CI jobs. Existing Pi/Hermes compiled CLI journeys move to acceptance; a Qwen setup/doctor/repeat/uninstall journey is added.

Verified on Linux x64 with Node 24.18.0: Qwen Code 0.25.0, native Pi 1.1.0 (@earendil-works/pi-coding-agent), and Hermes source dce1e9b37581dd62e480a9064dc04a709c2940d3 with Python 3.14.6. Plain chat and actual analysis passed for each. Plain chat and analysis also passed against a separately installed REA tarball using only production dependencies and nested dependency resolution, including Hermes's runtime YAML dependency.

Validation:

  • npm run check:fast
  • npm run verify:test-discovery — 718 files discovered once.
  • npm run test:focused -- tests/acceptance/setup/qwenProfileSetup.test.ts tests/acceptance/setup/piClientSetup.test.ts tests/acceptance/setup/hermesClientSetup.test.ts tests/boundary/filesystem/qwenClientConfiguration.test.ts tests/boundary/filesystem/piClientConfiguration.test.ts tests/boundary/filesystem/hermesClientConfiguration.test.ts tests/boundary/filesystem/clientConfigurationDialects.test.ts tests/boundary/filesystem/clientLifecycle.test.ts tests/boundary/filesystem/setupSkill.test.ts — 138 tests passed.
  • Each of npm run verify:qwen-client, npm run verify:pi-client, npm run verify:hermes-client, with -- chat and -- call; packaged analysis selected via REA_VERIFY_RUNTIME_ROOT.

Scope: these checks prove native client/REA plumbing with the loopback model. Live model-provider authentication/API acceptance and native Windows remain unverified. Qwen/Pi use caller-configured shared skill directories to isolate the fixture account from the OS home; their default OS-home discovery is not claimed. No real Hopper/Ghidra verification was performed; analysis uses the real JavaScript provider.


🔄 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/1511 **Author:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Created:** 10/10/2026 **Status:** ✅ Merged **Merged:** 10/10/2026 **Merged by:** [@N0zoM1z0](https://github.com/N0zoM1z0) **Base:** `main` ← **Head:** `test/native-client-compatibility` --- ### 📝 Commits (1) - [`4e31093`](https://github.com/morluto/rea/commit/4e3109322b6466d208940604c0e8713103e67792) test(clients): verify native Qwen Pi and Hermes workflows ### 📊 Changes **8 files changed** (+1144 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `docs/testing.md` (+15 -0) 📝 `package.json` (+3 -0) ➕ `scripts/verify-native-agent-client.mjs` (+456 -0) ➕ `scripts/verify-qwen-client.mjs` (+403 -0) ➕ `scripts/verify/clients/model-fixture.mjs` (+171 -0) 📝 `tests/acceptance/setup/hermesClientSetup.test.ts` (+0 -0) 📝 `tests/acceptance/setup/piClientSetup.test.ts` (+0 -0) ➕ `tests/acceptance/setup/qwenProfileSetup.test.ts` (+96 -0) </details> ### 📄 Description Adds repeatable native-client verification after #1415, #1376 and #1403. The real clients load REA-installed skills, discover the complete 139-tool catalog and analyze a source-owned JavaScript fixture through stdio MCP. Qwen reads its offloaded result, Pi uses its default codemode, and Hermes searches/describes/invokes deferred tools. All three preserve Unicode target paths and deliver schema-valid Evidence with the expected literal facts. The optional lanes use disposable profiles and a deterministic loopback OpenAI-compatible model. They preserve caller settings, backups and setup idempotence, retain request/Evidence receipts, and check owned-process cleanup. They add no default CI jobs. Existing Pi/Hermes compiled CLI journeys move to acceptance; a Qwen setup/doctor/repeat/uninstall journey is added. Verified on Linux x64 with Node 24.18.0: Qwen Code 0.25.0, native Pi 1.1.0 (`@earendil-works/pi-coding-agent`), and Hermes source `dce1e9b37581dd62e480a9064dc04a709c2940d3` with Python 3.14.6. Plain chat and actual analysis passed for each. Plain chat and analysis also passed against a separately installed REA tarball using only production dependencies and nested dependency resolution, including Hermes's runtime YAML dependency. Validation: - `npm run check:fast` - `npm run verify:test-discovery` — 718 files discovered once. - `npm run test:focused -- tests/acceptance/setup/qwenProfileSetup.test.ts tests/acceptance/setup/piClientSetup.test.ts tests/acceptance/setup/hermesClientSetup.test.ts tests/boundary/filesystem/qwenClientConfiguration.test.ts tests/boundary/filesystem/piClientConfiguration.test.ts tests/boundary/filesystem/hermesClientConfiguration.test.ts tests/boundary/filesystem/clientConfigurationDialects.test.ts tests/boundary/filesystem/clientLifecycle.test.ts tests/boundary/filesystem/setupSkill.test.ts` — 138 tests passed. - Each of `npm run verify:qwen-client`, `npm run verify:pi-client`, `npm run verify:hermes-client`, with `-- chat` and `-- call`; packaged analysis selected via `REA_VERIFY_RUNTIME_ROOT`. Scope: these checks prove native client/REA plumbing with the loopback model. Live model-provider authentication/API acceptance and native Windows remain unverified. Qwen/Pi use caller-configured shared skill directories to isolate the fixture account from the OS home; their default OS-home discovery is not claimed. No real Hopper/Ghidra verification was performed; analysis uses the real JavaScript provider. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:11:58 +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#2931
No description provided.