Skip to content

Move agent lifecycle UX under obol agent#385

Merged
OisinKyne merged 4 commits intomainfrom
feature/agent-cli-native-hermes
Apr 29, 2026
Merged

Move agent lifecycle UX under obol agent#385
OisinKyne merged 4 commits intomainfrom
feature/agent-cli-native-hermes

Conversation

@bussyjd
Copy link
Copy Markdown
Collaborator

@bussyjd bussyjd commented Apr 27, 2026

Summary

Stacked on #381 and addresses the CLI UX direction tracked in #384.

  • Moves Obol-owned lifecycle/auth/wallet/list/delete/sync/setup/new commands under obol agent.
  • Changes obol hermes into native Hermes CLI passthrough, with --agent <id> for non-default Hermes instances and obol-agent as the default target when present.
  • Keeps obol openclaw as the manual OpenClaw runtime path while adding obol agent --runtime openclaw management coverage.
  • Updates docs, smoke flows, and helper messages away from removed Hermes lifecycle commands.

Validation

  • go test ./cmd/obol
  • go test ./internal/hermes ./internal/agentruntime
  • go test ./internal/stack ./internal/tunnel
  • go test ./...
  • go build -o .workspace/bin/obol ./cmd/obol
  • bash -n flows/flow-04-agent.sh flows/flow-11-dual-stack.sh

@bussyjd
Copy link
Copy Markdown
Collaborator Author

bussyjd commented Apr 27, 2026

Testing coverage follow-up from the subagent review is now pushed in ac952d1.

Added:

  • Table-driven coverage for resolveAgentTarget and resolveRuntimeInstance, including default Hermes preference, explicit runtime selection, unknown instances, ambiguous IDs across runtimes, and multi-instance errors.
  • Table-driven coverage for ResolveCLIInvocation, including --agent=value, -- passthrough, missing/duplicate --agent, unknown agents, no instances, single-instance fallback, and multiple non-default instances.
  • Flow 04 smoke step for native Hermes CLI passthrough via obol hermes --agent obol-agent version.

Validation after the update:

  • go test ./cmd/obol ./internal/hermes ./internal/agentruntime ./internal/stack ./internal/tunnel
  • go test ./...
  • go build -o .workspace/bin/obol ./cmd/obol
  • bash -n flows/flow-04-agent.sh flows/flow-11-dual-stack.sh

Function coverage for the risky new routing helpers is now high: resolveAgentTarget 90%, resolveRuntimeInstance 92.9%, ResolveCLIInvocation 94.1%, splitCLISelection 87.5%.

@bussyjd bussyjd requested a review from OisinKyne April 27, 2026 11:52
@bussyjd bussyjd force-pushed the feature/hermes-agent-runtime-refresh branch from 9f8b7ff to 123d3c4 Compare April 28, 2026 00:17
@bussyjd bussyjd changed the base branch from feature/hermes-agent-runtime-refresh to main April 29, 2026 09:09
@bussyjd bussyjd force-pushed the feature/agent-cli-native-hermes branch from ac952d1 to 4c71655 Compare April 29, 2026 09:39
@bussyjd
Copy link
Copy Markdown
Collaborator Author

bussyjd commented Apr 29, 2026

Rebased onto current main (post-#386 squash merge).

Before: 13 commits on top of main, 21-file conflict — most of those commits (e5fe270…9f8b7ff, the Hermes runtime work) had already landed in main via squash f08651e, but git still saw them as ahead.

After: 2 unique commits remain — Move agent lifecycle UX under obol agent + Add agent CLI resolver coverage. Cherry-picked cleanly with three small conflict resolutions:

Validation locally: go build ./... clean, go test ./... 24/24 packages pass, 0 failures.

@OisinKyne OisinKyne merged commit a86f5ff into main Apr 29, 2026
5 checks passed
@OisinKyne OisinKyne deleted the feature/agent-cli-native-hermes branch April 29, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants