Skip to content

feat(cli): add zeph gonka doctor diagnostic subcommand and live testnet test#3656

Merged
bug-ops merged 1 commit intomainfrom
3614-gonka-doctor
May 6, 2026
Merged

feat(cli): add zeph gonka doctor diagnostic subcommand and live testnet test#3656
bug-ops merged 1 commit intomainfrom
3614-gonka-doctor

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented May 6, 2026

Summary

  • Adds zeph gonka doctor CLI subcommand (feature-gated gonka) that probes all configured nodes concurrently, verifies vault address vs. derived signer address, reports per-node HTTP status and latency, and detects clock skew on 401 responses
  • Adds crates/zeph-llm/tests/gonka_live.rs#[ignore] integration test for live testnet round-trip; skips gracefully when ZEPH_GONKA_PRIVATE_KEY is absent
  • Updates book/src/guides/gonka.md with troubleshooting section
  • Depends on feat(core+wizard): build_gonka_provider, AnyProvider::Gonka, native wizard branch with inferenced integration #3613 (CLOSED)

Changes

  • src/commands/gonka.rs (new) — GonkaCommand::Doctor implementation with concurrent JoinSet probing, shared Arc<reqwest::Client>, clock skew detection, address mismatch check
  • src/cli.rsCommand::Gonka variant registered under #[cfg(feature = "gonka")]
  • src/commands/doctor.rsok/warn/fail helpers made pub(crate); gonka early-return updated to reference zeph gonka doctor
  • src/commands/mod.rs, src/runner.rs — module wiring
  • crates/zeph-llm/tests/gonka_live.rs (new) — #[tokio::test] #[ignore] test with ZEPH_GONKA_NODE_URL env var fallback
  • book/src/guides/gonka.md — troubleshooting section
  • CHANGELOG.md[Unreleased] entry

Test plan

  • cargo build --features full — no errors
  • cargo nextest run --config-file .github/nextest.toml --workspace --lib --bins — all tests pass
  • cargo run --features full -- gonka doctor — prints address + per-node probe results (requires vault with ZEPH_GONKA_PRIVATE_KEY and ZEPH_GONKA_ADDRESS)
  • cargo nextest run -p zeph-llm --features gonka -- --ignored — skips gracefully without ZEPH_GONKA_PRIVATE_KEY; runs live round-trip when env var is set

Closes #3614

@github-actions github-actions Bot added documentation Improvements or additions to documentation llm zeph-llm crate (Ollama, Claude) rust Rust code changes enhancement New feature or request size/XL Extra large PR (500+ lines) labels May 6, 2026
…et test

Adds `zeph gonka doctor` subcommand (feature-gated under `gonka`) that
reads vault keys, derives and verifies the on-chain address, and probes
each configured gonka node concurrently via signed POST to /chat/completions,
reporting per-node HTTP status and latency. Detects clock skew on 401
responses by comparing the Date response header against local time.

Adds crates/zeph-llm/tests/gonka_live.rs: a single #[ignore] integration
test that round-trips a 1-token completion against a live gonka node;
skips gracefully when ZEPH_GONKA_PRIVATE_KEY is not set.

Closes #3614.
@bug-ops bug-ops enabled auto-merge (squash) May 6, 2026 13:28
@bug-ops bug-ops force-pushed the 3614-gonka-doctor branch from 03e8532 to efb9438 Compare May 6, 2026 13:28
@bug-ops bug-ops merged commit ad00224 into main May 6, 2026
36 checks passed
@bug-ops bug-ops deleted the 3614-gonka-doctor branch May 6, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request llm zeph-llm crate (Ollama, Claude) rust Rust code changes size/XL Extra large PR (500+ lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(cli): zeph gonka doctor diagnostic subcommand + live testnet ignored test

1 participant