Skip to content

feat(monitoring): add rpc_health_probe v0.1 (#459) - #472

Merged
rosspeili merged 1 commit into
ARPAHLS:mainfrom
Hendobox:feat/issue-459-rpc-health-probe
Nov 11, 2026
Merged

rosspeili merged 1 commit into
ARPAHLS:mainfrom
Hendobox:feat/issue-459-rpc-health-probe

Conversation

@Hendobox

Copy link
Copy Markdown
Contributor

Description

New registry skill monitoring/rpc_health_probe v0.1.0 (#459): read-only EVM JSON-RPC probe for eth_chainId, eth_blockNumber, latency, and optional same-chain reference lag. Hosts gate trades on all_healthy.

Acceptance criteria → diff:

  • Probe endpoints via operator evm_config / env URLs → skills/monitoring/rpc_health_probe/skill.py
  • Chain identity vs resolve_chain().chain_id (wrong chain never all_healthy) → test_wrong_chain_never_all_healthy
  • Reference wrong chain → lag unusable / not verified zero → test_reference_wrong_chain_not_verified_zero_lag
  • HTTP 200 + JSON-RPC error → failed probe → test_jsonrpc_error_fails_even_if_http_fast
  • No reference → lag_status: unchecked, block_lag: null → test_no_reference_lag_unchecked_not_zero
  • Catalog, hubs, sitemap, extras, card fixture, CHANGELOG → docs + pyproject.toml via sync_extras.py

Type of Change

  • New Skill — new registry bundle under skills/
  • Skill Upgrade — changes to an existing skill under skills/
  • Bug Fix — incorrect runtime or framework behavior
  • Documentation — docs, README, CONTRIBUTING only
  • Framework Feature — skillware/core/ loader, env, adapters
  • CLI — skillware/cli.py, docs/usage/cli.md
  • Examples — examples/*.py, agent loops, examples/README.md
  • Packaging — PyPI wheel, pyproject.toml, MANIFEST.in
  • RFC / meta — templates, labels, CI, or large design doc

Checklist (all PRs)

  • Linked GitHub issue (Fixes #… or Refs #…)
  • Scope matches the issue — no unrelated refactors
  • Contribution complies with Legal notice and code ownership (original work, MIT license grant, no malicious logic)
  • python -m black --check ., flake8, and ruff check . pass locally (or CI-equivalent subset)
  • pytest skills/ and pytest tests/ pass locally when relevant
  • CHANGELOG.md updated under [Unreleased] when user-visible behavior changes
  • examples/README.md updated if this PR adds, renames, or removes a runnable script
  • Ran pytest tests/test_registry_docs.py when skills, examples index, or agent-loops matrix changed
  • Ran pytest tests/test_skill_docs.py when catalog Usage Examples or provider snippets changed

New or updated skill

Skip unless this PR adds or changes files under skills/.

Bundle and metadata

  • Skill at skills/<category>/<skill_name>/ (from templates/python_skill/ or equivalent)
  • manifest.yaml: name (full ID), version, description, parameters, constitution, real issuer
  • Optional: short_description, issuer.github, issuer.org, requirements, env_vars

Effect, Directive, Assurance

  • Deterministic skill.py (Effect; no ad-hoc LLM-generated execution paths)
  • instructions.md (Directive) explains when and how to use the skill
  • card.json (Presentation) issuer matches manifest when present
  • test_skill.py (Assurance) covers execution and schema expectations
  • SkillLoader.load_skill("<category>/<skill_name>") succeeds (or deps documented)

Documentation and catalog

  • docs/skills/<category>/<skill_name>.md, category hub row, row in docs/skills/README.md, and docs/sitemap.md
  • Usage Examples for Gemini, Claude, OpenAI, DeepSeek, Ollama per skill usage template

Constitution and safety (skills only)

Read-only JSON-RPC probes. No signing or broadcasting. RPC URLs redacted to host. Fail closed on wrong chain / RPC errors. Not legal advice.

Related Issues

Fixes #459

Read-only EVM JSON-RPC probe for chain ID, latency, and optional same-chain lag with fail-closed all_healthy gates.

@rosspeili rosspeili left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM @Hendobox, merging as is! <3 Thanks.

@rosspeili
rosspeili merged commit a705ab0 into ARPAHLS:main Nov 11, 2026
7 checks passed
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.

[New Skill]: monitoring/rpc_health_probe — EVM RPC latency and sync check

2 participants