feat: structured tracing, retry with backoff, test fixture decoupling#149
Merged
kitplummer merged 3 commits intodevelopfrom Feb 19, 2026
Merged
feat: structured tracing, retry with backoff, test fixture decoupling#149kitplummer merged 3 commits intodevelopfrom
kitplummer merged 3 commits intodevelopfrom
Conversation
…e profile - Add signal handling (SIGINT/SIGTERM) via ctrlc crate for graceful shutdown in both spy and radicle event loops (#139) - Sanitize commit/patch metadata before passing as env vars: strip control characters and enforce 4096-char max length (#140) - Support GOA_TOKEN, GOA_USERNAME, GOA_LEI_TOKEN env vars as alternatives to CLI flags for sensitive credentials (#147) - Add [profile.release] with LTO, single codegen-unit, and automatic strip; remove manual strip from release workflow (#137) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…k tests Replace log/env_logger with tracing/tracing-subscriber for structured logging with optional JSON output (--json flag). Add generic retry_with_backoff helper with exponential backoff (capped at 30s) and apply it to git clone, Radicle HTTP, and LEI HTTP operations. Migrate ~15 eprintln! calls to tracing error!/warn! macros. Decouple 9 network-dependent tests with #[ignore] and add 5 local git fixture tests using git2::Repository::init. Add Makefile test-all target. Closes #143, #144, #146 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
b2e4e4e to
1010289
Compare
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
log/env_loggerwithtracing/tracing-subscriber. Add--jsonflag to bothspyandradiclesubcommands for structured JSON log output. Migrate ~15eprintln!calls toerror!/warn!macros. SupportsRUST_LOGenv var override viaEnvFilter.retry_with_backoffhelper with exponential backoff (capped at 30s). Applied to git clone, Radicle HTTP API calls (fetch_repo_info,fetch_patches), and LEI HTTP requests. Default: 3 retries, 500ms base delay.kitplummer/goa_tester) with#[ignore]. Add 5 new local git fixture tests usinggit2::Repository::init(). Addmake test-alltarget for CI that includes ignored tests.Also includes prior commit: graceful shutdown via
ctrlc, env var sanitization, env-based config for secrets, and release profile optimization.Test plan
cargo test— 42 pass (32 unit + 10 integration), 9 network tests ignoredcargo clippy -- -D warnings— 0 warningscargo build— clean buildmake test-all— run with network access to verify ignored tests still passgoa spy <url> --json— verify JSON structured log outputgoa spy <url> -v 2— verify tracing output with debug levelCloses #143, #144, #146
🤖 Generated with Claude Code