feat(cli): add zeph gonka doctor diagnostic subcommand and live testnet test#3656
Merged
feat(cli): add zeph gonka doctor diagnostic subcommand and live testnet test#3656
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
zeph gonka doctorCLI subcommand (feature-gatedgonka) 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 responsescrates/zeph-llm/tests/gonka_live.rs—#[ignore]integration test for live testnet round-trip; skips gracefully whenZEPH_GONKA_PRIVATE_KEYis absentbook/src/guides/gonka.mdwith troubleshooting sectionChanges
src/commands/gonka.rs(new) —GonkaCommand::Doctorimplementation with concurrentJoinSetprobing, sharedArc<reqwest::Client>, clock skew detection, address mismatch checksrc/cli.rs—Command::Gonkavariant registered under#[cfg(feature = "gonka")]src/commands/doctor.rs—ok/warn/failhelpers madepub(crate); gonka early-return updated to referencezeph gonka doctorsrc/commands/mod.rs,src/runner.rs— module wiringcrates/zeph-llm/tests/gonka_live.rs(new) —#[tokio::test] #[ignore]test withZEPH_GONKA_NODE_URLenv var fallbackbook/src/guides/gonka.md— troubleshooting sectionCHANGELOG.md—[Unreleased]entryTest plan
cargo build --features full— no errorscargo nextest run --config-file .github/nextest.toml --workspace --lib --bins— all tests passcargo run --features full -- gonka doctor— prints address + per-node probe results (requires vault withZEPH_GONKA_PRIVATE_KEYandZEPH_GONKA_ADDRESS)cargo nextest run -p zeph-llm --features gonka -- --ignored— skips gracefully withoutZEPH_GONKA_PRIVATE_KEY; runs live round-trip when env var is setCloses #3614