OmniNode-ai

/onex:agent_healthcheck — dispatch-only shim

"Dispatch-only shim for agent stall detection and recovery. All detection and recovery logic lives in node_worker_stall_recovery (omnimarket). The skill parses args, builds the input envelope, dispatches to the node, and renders the receipt."

OmniNode-ai 4 3 Actualitzat fa 4 mesos

Recursos

1
GitHub

Instal·la

npx skillscat add omninode-ai/omniclaude/plugins-onex-skills-agent-healthcheck

Instal·la des del registre de SkillsCat.

SKILL.md

/onex:agent_healthcheck — dispatch-only shim

Skill ID: onex:agent_healthcheck · Backing node: omnimarket/src/omnimarket/nodes/node_worker_stall_recovery/

Routing Contract

  • Classification: Deterministic
  • Dispatch: single invocation of node_worker_stall_recovery
  • No inline stall detection: all heuristics (inactivity, context overflow, rate limits, Bash long-timeout) live in the handler, not this skill
  • Routing failure handling: on dispatch failure, raise SkillRoutingError — surface it directly, do not produce prose

Dispatch

This skill is a thin shim — all stall detection and recovery logic lives in
node_worker_stall_recovery (omnimarket).

INPUT_JSON='{"ticket_id":"<ticket_id>","agent_id":"<agent_id>","timeout_minutes":2,"context_threshold_pct":80,"max_redispatches":2,"dry_run":true}'
uv run onex run-node node_worker_stall_recovery --input "${INPUT_JSON}"

The node returns ModelStallRecoveryResult:

  • status: healthy | stalled | recovered | failed | escalated
  • stall_reason: non-empty string if stalled
  • checkpoint_path: path written on recovery
  • redispatch_count: number of redispatches performed
  • error: error message if status == failed

Checkpoint and relaunch semantics are governed by the recovery protocol
implemented in the backing node. The backing node writes the recovery checkpoint, captures completed
and remaining work, and relaunches or redispatches a fresh agent when recovery
is required; this shim only forwards the invocation and returns the receipt.

Surface the JSON output directly. Do not implement detection inline.

Backing node: omnimarket/src/omnimarket/nodes/node_worker_stall_recovery/
Contract: node_worker_stall_recovery/contract.yaml