Phase 2 Testing: Wire ACP client into hermes agent (RFC #398) #400

Closed
opened 2026-05-22 12:15:38 +00:00 by xiaoju · 0 comments
Owner

Verification Goal

Replace spawnHermes/parseSessionId in hermes.ts with HermesAcpClient, so runHermes and continueHermes use ACP protocol.

Test Steps

  • Step 1: TypeScript builds

    cd ~/repos/workflow && bunx tsc -p packages/workflow-agent-hermes/tsconfig.json --noEmit
    

    Expected: No errors.

  • Step 2: Existing tests pass

    cd ~/repos/workflow && bun test packages/workflow-agent-hermes/
    

    Expected: All tests pass (including Phase 1 ACP client tests).

  • Step 3: E2E — uwf workflow run with ACP agent

    cd ~/repos/workflow && ./packages/cli-workflow/dist/cli.js thread start solve-issue --var issue_url=https://git.shazhou.work/uncaged/workflow/issues/373
    

    Expected: Planner step completes, session ID obtained via ACP (no stderr parsing).

  • Step 4: Dead code removed

    grep -n "spawnHermes\|parseSessionId\|--quiet" packages/workflow-agent-hermes/src/hermes.ts
    

    Expected: No matches — old spawn/parse functions are removed.

Completion Criteria

All test checkboxes pass
hermes.ts uses HermesAcpClient exclusively
parseSessionIdFromStdout removed from session-detail.ts (or deprecated)

Ref

Phase 2 of RFC #398

## Verification Goal Replace `spawnHermes`/`parseSessionId` in `hermes.ts` with `HermesAcpClient`, so `runHermes` and `continueHermes` use ACP protocol. ## Test Steps - [ ] **Step 1: TypeScript builds** ```bash cd ~/repos/workflow && bunx tsc -p packages/workflow-agent-hermes/tsconfig.json --noEmit ``` **Expected:** No errors. - [ ] **Step 2: Existing tests pass** ```bash cd ~/repos/workflow && bun test packages/workflow-agent-hermes/ ``` **Expected:** All tests pass (including Phase 1 ACP client tests). - [ ] **Step 3: E2E — uwf workflow run with ACP agent** ```bash cd ~/repos/workflow && ./packages/cli-workflow/dist/cli.js thread start solve-issue --var issue_url=https://git.shazhou.work/uncaged/workflow/issues/373 ``` **Expected:** Planner step completes, session ID obtained via ACP (no stderr parsing). - [ ] **Step 4: Dead code removed** ```bash grep -n "spawnHermes\|parseSessionId\|--quiet" packages/workflow-agent-hermes/src/hermes.ts ``` **Expected:** No matches — old spawn/parse functions are removed. ## Completion Criteria ✅ All test checkboxes pass ✅ `hermes.ts` uses `HermesAcpClient` exclusively ✅ `parseSessionIdFromStdout` removed from `session-detail.ts` (or deprecated) ## Ref Phase 2 of RFC #398
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#400