-
Notifications
You must be signed in to change notification settings - Fork 0
[08/09] logs: prune noisy hot paths; telemetry tweaks #130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Reduces logging noise in hot paths and optimizes telemetry metrics for better observability while maintaining performance.
- Adds request tracking to STT metrics for more complete performance monitoring
- Hardcodes HyperX QuadCast device in VAD tests to bypass detection issues
- Increases logging frequency and adds runtime buffer/FPS metrics to test probes
Reviewed Changes
Copilot reviewed 4 out of 6 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| crates/coldvox-telemetry/src/stt_metrics.rs | Adds increment_total_requests method to track overall request volume |
| crates/coldvox-telemetry/src/integration.rs | Integrates request counting into success/failure recording paths |
| crates/app/src/probes/vad_mic.rs | Hardcodes device selection and enhances metrics collection with runtime data |
| crates/app/src/probes/mic_capture.rs | Updates capture thread initialization to use mutex-wrapped producer |
crates/app/src/probes/vad_mic.rs
Outdated
| // HARDCODED: Always use HyperX QuadCast for now to bypass broken device detection | ||
| let device_name = Some("HyperX QuadCast".to_string()); |
Copilot
AI
Oct 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hardcoded device name creates a maintenance burden and will fail on systems without this specific device. Consider adding a fallback mechanism or making this configurable through environment variables or test parameters.
| let metrics_clone = metrics.clone(); | ||
| let log_handle = tokio::spawn(async move { | ||
| let mut interval = tokio::time::interval(Duration::from_secs(30)); | ||
| let mut interval = tokio::time::interval(Duration::from_secs(2)); |
Copilot
AI
Oct 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The logging interval change from 30 seconds to 2 seconds significantly increases log output frequency. This magic number should be configurable or documented as to why 2 seconds is optimal for short tests.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting
| pub async fn run(ctx: &TestContext) -> Result<LiveTestResult, TestError> { | ||
| let device_name = ctx.device.clone(); | ||
| // HARDCODED: Always use HyperX QuadCast for now to bypass broken device detection | ||
| let device_name = Some("HyperX QuadCast".to_string()); | ||
| let duration = ctx.duration; | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ignore user-specified microphone in VAD test
The VAD microphone test now unconditionally assigns device_name to the string "HyperX QuadCast" and logs this choice, bypassing ctx.device which is provided from the CLI or caller. After this change, running mic-probe --device <name> cannot target the requested device; the code will always prefer the hard-coded model and only fall back to the internal priority list if that device cannot be opened. This makes the probe unusable on systems without the specified microphone and prevents testing arbitrary devices. The test should respect ctx.device and only fall back to defaults when no device is supplied or when the requested device fails.
Useful? React with 👍 / 👎.
- Use COLDVOX_TEST_DEVICE env var if set - Fall back to ctx.device from test context - Fall back to default device detection if neither specified - Improves portability across different hardware setups 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Replace hardcoded "HyperX QuadCast" device in vad_mic.rs with flexible fallback: 1. Check COLDVOX_TEST_DEVICE env var first 2. Fall back to TestContext.device 3. Use None for default enumeration if neither specified - Add warning log when falling back to default enumeration - Add TODO(#130) comment for misnamed counter `requests_per_second` → `total_requests` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
* [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * fix(ci): resolve Vosk setup issues for self-hosted runner - Fix cache path mismatch: script now checks alternate cache locations (/vosk-models vs /vosk) with fallback logic - Switch to large production model: vosk-model-en-us-0.22 (1.8GB) - Update model checksum to match current alphacephei.com version - Add libvosk fallback: checks cache, alternate cache, and system paths - Make GITHUB_OUTPUT optional for local testing - Add comprehensive test suite: test_vosk_setup.sh mimics CI workflow - Add detailed verification report: VOSK_SETUP_VERIFICATION.md Resolves model download and linking failures in CI workflows. All verification tests pass locally on self-hosted runner. Tested: - Setup script execution (symlinks created correctly) - Build: cargo build -p coldvox-stt-vosk --features vosk ✅ - Unit tests: 3/3 passed ✅ - Model structure validation ✅ * debugging * Add build.rs to link vendored libvosk at compile time Fixes linker error 'unable to find library -lvosk' by: - Adding vendor/vosk/lib to rustc link search path - Setting rpath for runtime library discovery - Falling back to system paths (/usr/local/lib, /usr/lib64, /usr/lib) - Using cargo:rerun-if-changed for efficient rebuilds Addresses issue documented in docs/dev/THE_MISSING_LINK.md. Follows Rust best practices per Cargo book build script guidelines. Tested with: cargo check -p coldvox-stt-vosk --features vosk * fix: Update main.rs to match runtime struct definitions - Remove non-existent 'enable_device_monitor' field from AppRuntimeOptions - Update InjectionOptions initialization to match actual struct fields - Add missing 'allow_ydotool' and 'restore_clipboard' fields This fixes compilation errors when building coldvox-app with vosk features. * chore: retrigger CI after runner restart * test: trigger CI after fixing Rust version * docs: Add comprehensive self-hosted runner management architecture Create complete runnerAgent documentation system for managing and optimizing the self-hosted GitHub Actions runner (laptop-extra). Structure: - README.md: Quick start guide with daily workflows and debugging commands - RunnerAgent.md: Complete architecture document with system design - IMPLEMENTATION.md: Usage patterns, integration guide, and next steps - prompts/: LLM assistant configurations for specialized tasks - debug_agent_prompt.md: CI failure diagnosis workflows - system_update_prompt.md: Dependency and toolchain maintenance - performance_monitor_prompt.md: Build/test optimization strategies Key features: - Executable commands for common operations (health checks, log analysis) - LLM-ready prompts for AI-assisted debugging with tools like gemini CLI - Local-first approach leveraging direct hardware access - Performance monitoring and optimization guidelines - Integration with existing CI workflows and scripts Benefits: - Self-service debugging without admin access - Faster iteration (test locally before pushing) - Performance visibility and tracking - Reproducible maintenance workflows Related: PR #123 (requires runner toolchain update to pass CI) * docs(runnerAgent): include absolute runner workspace path /home/coldaine/actions-runner/_work/ColdVox/ColdVox in key docs * docs(runnerAgent): add gemini-based runner debugger script and README note --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Coldaine <[email protected]>
* [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * fix(audio): decouple wav_file_loader decl, cfg(unix) + safety notes (#124) - Remove wav_file_loader module declaration from app/audio/mod.rs (decouples #124 from #127 dependency) - Remove misplaced STT plugins.json from crates/coldvox-audio/ (STT config belongs in app-level or config/ directory, not audio crate) - Add #[cfg(unix)] guards to stderr_suppressor module and usage (Unix-specific file descriptor operations) - Add comprehensive SAFETY documentation to all unsafe blocks in stderr_suppressor.rs explaining FD ownership and dup2 atomicity Note: coldvox-audio compiles and tests pass. coldvox-app has pre-existing API signature mismatches (AudioCaptureThread::spawn) that need separate fix. Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]>
* [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * [03/09] vad: windowing/debounce consistency --------- Co-authored-by: ColdVox Dev <[email protected]>
* [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * [03/09] vad: windowing/debounce consistency * [04/09] stt: finalize handling + helpers * fix: add constants module declaration to coldvox-stt - Declare pub mod constants in lib.rs - Note: helpers.rs not declared due to circular dependency with coldvox-telemetry - helpers.rs is currently unused and can be integrated when telemetry refactor resolves cycle 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix(stt): add module decls, clean imports, constants (#126) - Add constants module declaration to lib.rs - Move SttMetrics from processor.rs to types.rs (breaks circular dependency) - Clean imports in helpers.rs (remove circular import, alphabetize) - Replace magic numbers in processor.rs with named constants: - 16000 -> SAMPLE_RATE_HZ - 10 -> DEFAULT_BUFFER_DURATION_SECONDS - 100 -> LOGGING_INTERVAL_FRAMES - 5 -> SEND_TIMEOUT_SECONDS - Comment out helpers module (requires coldvox_telemetry, should move to app crate) Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]>
* [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * [03/09] vad: windowing/debounce consistency * [04/09] stt: finalize handling + helpers * [05/09] app: unify VAD↔STT runtime + real WAV loader * [06/09] injection: clipboard-preserve + Wayland-first strategy * [07/09] tests: deterministic E2E + integration suites * fix: convert clipboard injector test to tokio::test - Replace futures::executor::block_on with async/await - Use #[tokio::test] instead of #[test] for async test - Eliminates need for futures crate dependency 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix: resolve compilation failures from missing .await Add .await to async StrategyManager::new() calls in integration tests. StrategyManager::new() is an async function that returns a Future, which must be awaited. Fixed 3 occurrences in: - text_injection_integration_test.rs (lines 55, 90, 119) * [08/09] logs: prune noisy hot paths; telemetry tweaks (#130) * [08/09] logs: prune noisy hot paths; telemetry tweaks * fix: replace hardcoded device with env var and fallback chain - Use COLDVOX_TEST_DEVICE env var if set - Fall back to ctx.device from test context - Fall back to default device detection if neither specified - Improves portability across different hardware setups 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix(logging): remove hardcoded device; add env/ctx fallback (#130) - Replace hardcoded "HyperX QuadCast" device in vad_mic.rs with flexible fallback: 1. Check COLDVOX_TEST_DEVICE env var first 2. Fall back to TestContext.device 3. Use None for default enumeration if neither specified - Add warning log when falling back to default enumeration - Add TODO(#130) comment for misnamed counter `requests_per_second` → `total_requests` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * [01/09] config: centralize Settings + path-aware load (#123) * [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * fix(ci): resolve Vosk setup issues for self-hosted runner - Fix cache path mismatch: script now checks alternate cache locations (/vosk-models vs /vosk) with fallback logic - Switch to large production model: vosk-model-en-us-0.22 (1.8GB) - Update model checksum to match current alphacephei.com version - Add libvosk fallback: checks cache, alternate cache, and system paths - Make GITHUB_OUTPUT optional for local testing - Add comprehensive test suite: test_vosk_setup.sh mimics CI workflow - Add detailed verification report: VOSK_SETUP_VERIFICATION.md Resolves model download and linking failures in CI workflows. All verification tests pass locally on self-hosted runner. Tested: - Setup script execution (symlinks created correctly) - Build: cargo build -p coldvox-stt-vosk --features vosk ✅ - Unit tests: 3/3 passed ✅ - Model structure validation ✅ * debugging * Add build.rs to link vendored libvosk at compile time Fixes linker error 'unable to find library -lvosk' by: - Adding vendor/vosk/lib to rustc link search path - Setting rpath for runtime library discovery - Falling back to system paths (/usr/local/lib, /usr/lib64, /usr/lib) - Using cargo:rerun-if-changed for efficient rebuilds Addresses issue documented in docs/dev/THE_MISSING_LINK.md. Follows Rust best practices per Cargo book build script guidelines. Tested with: cargo check -p coldvox-stt-vosk --features vosk * fix: Update main.rs to match runtime struct definitions - Remove non-existent 'enable_device_monitor' field from AppRuntimeOptions - Update InjectionOptions initialization to match actual struct fields - Add missing 'allow_ydotool' and 'restore_clipboard' fields This fixes compilation errors when building coldvox-app with vosk features. * chore: retrigger CI after runner restart * test: trigger CI after fixing Rust version * docs: Add comprehensive self-hosted runner management architecture Create complete runnerAgent documentation system for managing and optimizing the self-hosted GitHub Actions runner (laptop-extra). Structure: - README.md: Quick start guide with daily workflows and debugging commands - RunnerAgent.md: Complete architecture document with system design - IMPLEMENTATION.md: Usage patterns, integration guide, and next steps - prompts/: LLM assistant configurations for specialized tasks - debug_agent_prompt.md: CI failure diagnosis workflows - system_update_prompt.md: Dependency and toolchain maintenance - performance_monitor_prompt.md: Build/test optimization strategies Key features: - Executable commands for common operations (health checks, log analysis) - LLM-ready prompts for AI-assisted debugging with tools like gemini CLI - Local-first approach leveraging direct hardware access - Performance monitoring and optimization guidelines - Integration with existing CI workflows and scripts Benefits: - Self-service debugging without admin access - Faster iteration (test locally before pushing) - Performance visibility and tracking - Reproducible maintenance workflows Related: PR #123 (requires runner toolchain update to pass CI) * docs(runnerAgent): include absolute runner workspace path /home/coldaine/actions-runner/_work/ColdVox/ColdVox in key docs * docs(runnerAgent): add gemini-based runner debugger script and README note --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Coldaine <[email protected]> * [02/09] audio: capture lifecycle fix + ALSA stderr suppression (#124) * [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * fix(audio): decouple wav_file_loader decl, cfg(unix) + safety notes (#124) - Remove wav_file_loader module declaration from app/audio/mod.rs (decouples #124 from #127 dependency) - Remove misplaced STT plugins.json from crates/coldvox-audio/ (STT config belongs in app-level or config/ directory, not audio crate) - Add #[cfg(unix)] guards to stderr_suppressor module and usage (Unix-specific file descriptor operations) - Add comprehensive SAFETY documentation to all unsafe blocks in stderr_suppressor.rs explaining FD ownership and dup2 atomicity Note: coldvox-audio compiles and tests pass. coldvox-app has pre-existing API signature mismatches (AudioCaptureThread::spawn) that need separate fix. Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]> * [03/09] vad: windowing/debounce consistency (#125) * [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * [03/09] vad: windowing/debounce consistency --------- Co-authored-by: ColdVox Dev <[email protected]> * [04/09] stt: finalize handling + helpers (#126) * [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * [03/09] vad: windowing/debounce consistency * [04/09] stt: finalize handling + helpers * fix: add constants module declaration to coldvox-stt - Declare pub mod constants in lib.rs - Note: helpers.rs not declared due to circular dependency with coldvox-telemetry - helpers.rs is currently unused and can be integrated when telemetry refactor resolves cycle 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix(stt): add module decls, clean imports, constants (#126) - Add constants module declaration to lib.rs - Move SttMetrics from processor.rs to types.rs (breaks circular dependency) - Clean imports in helpers.rs (remove circular import, alphabetize) - Replace magic numbers in processor.rs with named constants: - 16000 -> SAMPLE_RATE_HZ - 10 -> DEFAULT_BUFFER_DURATION_SECONDS - 100 -> LOGGING_INTERVAL_FRAMES - 5 -> SEND_TIMEOUT_SECONDS - Comment out helpers module (requires coldvox_telemetry, should move to app crate) Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Coldaine <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Coldaine <[email protected]>
* [08/09] logs: prune noisy hot paths; telemetry tweaks * fix: replace hardcoded device with env var and fallback chain - Use COLDVOX_TEST_DEVICE env var if set - Fall back to ctx.device from test context - Fall back to default device detection if neither specified - Improves portability across different hardware setups 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix(logging): remove hardcoded device; add env/ctx fallback (#130) - Replace hardcoded "HyperX QuadCast" device in vad_mic.rs with flexible fallback: 1. Check COLDVOX_TEST_DEVICE env var first 2. Fall back to TestContext.device 3. Use None for default enumeration if neither specified - Add warning log when falling back to default enumeration - Add TODO(#130) comment for misnamed counter `requests_per_second` → `total_requests` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * [01/09] config: centralize Settings + path-aware load (#123) * [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * fix(ci): resolve Vosk setup issues for self-hosted runner - Fix cache path mismatch: script now checks alternate cache locations (/vosk-models vs /vosk) with fallback logic - Switch to large production model: vosk-model-en-us-0.22 (1.8GB) - Update model checksum to match current alphacephei.com version - Add libvosk fallback: checks cache, alternate cache, and system paths - Make GITHUB_OUTPUT optional for local testing - Add comprehensive test suite: test_vosk_setup.sh mimics CI workflow - Add detailed verification report: VOSK_SETUP_VERIFICATION.md Resolves model download and linking failures in CI workflows. All verification tests pass locally on self-hosted runner. Tested: - Setup script execution (symlinks created correctly) - Build: cargo build -p coldvox-stt-vosk --features vosk ✅ - Unit tests: 3/3 passed ✅ - Model structure validation ✅ * debugging * Add build.rs to link vendored libvosk at compile time Fixes linker error 'unable to find library -lvosk' by: - Adding vendor/vosk/lib to rustc link search path - Setting rpath for runtime library discovery - Falling back to system paths (/usr/local/lib, /usr/lib64, /usr/lib) - Using cargo:rerun-if-changed for efficient rebuilds Addresses issue documented in docs/dev/THE_MISSING_LINK.md. Follows Rust best practices per Cargo book build script guidelines. Tested with: cargo check -p coldvox-stt-vosk --features vosk * fix: Update main.rs to match runtime struct definitions - Remove non-existent 'enable_device_monitor' field from AppRuntimeOptions - Update InjectionOptions initialization to match actual struct fields - Add missing 'allow_ydotool' and 'restore_clipboard' fields This fixes compilation errors when building coldvox-app with vosk features. * chore: retrigger CI after runner restart * test: trigger CI after fixing Rust version * docs: Add comprehensive self-hosted runner management architecture Create complete runnerAgent documentation system for managing and optimizing the self-hosted GitHub Actions runner (laptop-extra). Structure: - README.md: Quick start guide with daily workflows and debugging commands - RunnerAgent.md: Complete architecture document with system design - IMPLEMENTATION.md: Usage patterns, integration guide, and next steps - prompts/: LLM assistant configurations for specialized tasks - debug_agent_prompt.md: CI failure diagnosis workflows - system_update_prompt.md: Dependency and toolchain maintenance - performance_monitor_prompt.md: Build/test optimization strategies Key features: - Executable commands for common operations (health checks, log analysis) - LLM-ready prompts for AI-assisted debugging with tools like gemini CLI - Local-first approach leveraging direct hardware access - Performance monitoring and optimization guidelines - Integration with existing CI workflows and scripts Benefits: - Self-service debugging without admin access - Faster iteration (test locally before pushing) - Performance visibility and tracking - Reproducible maintenance workflows Related: PR #123 (requires runner toolchain update to pass CI) * docs(runnerAgent): include absolute runner workspace path /home/coldaine/actions-runner/_work/ColdVox/ColdVox in key docs * docs(runnerAgent): add gemini-based runner debugger script and README note --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Coldaine <[email protected]> * [02/09] audio: capture lifecycle fix + ALSA stderr suppression (#124) * [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * fix(audio): decouple wav_file_loader decl, cfg(unix) + safety notes (#124) - Remove wav_file_loader module declaration from app/audio/mod.rs (decouples #124 from #127 dependency) - Remove misplaced STT plugins.json from crates/coldvox-audio/ (STT config belongs in app-level or config/ directory, not audio crate) - Add #[cfg(unix)] guards to stderr_suppressor module and usage (Unix-specific file descriptor operations) - Add comprehensive SAFETY documentation to all unsafe blocks in stderr_suppressor.rs explaining FD ownership and dup2 atomicity Note: coldvox-audio compiles and tests pass. coldvox-app has pre-existing API signature mismatches (AudioCaptureThread::spawn) that need separate fix. Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]> * [03/09] vad: windowing/debounce consistency (#125) * [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * [03/09] vad: windowing/debounce consistency --------- Co-authored-by: ColdVox Dev <[email protected]> * [04/09] stt: finalize handling + helpers (#126) * [01/09] config: centralize Settings + path-aware load * Add config dependency and lib section to Cargo.toml * Update Cargo.lock for config dependency * [02/09] audio: capture lifecycle fix + ALSA stderr suppression * [03/09] vad: windowing/debounce consistency * [04/09] stt: finalize handling + helpers * fix: add constants module declaration to coldvox-stt - Declare pub mod constants in lib.rs - Note: helpers.rs not declared due to circular dependency with coldvox-telemetry - helpers.rs is currently unused and can be integrated when telemetry refactor resolves cycle 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * fix(stt): add module decls, clean imports, constants (#126) - Add constants module declaration to lib.rs - Move SttMetrics from processor.rs to types.rs (breaks circular dependency) - Clean imports in helpers.rs (remove circular import, alphabetize) - Replace magic numbers in processor.rs with named constants: - 16000 -> SAMPLE_RATE_HZ - 10 -> DEFAULT_BUFFER_DURATION_SECONDS - 100 -> LOGGING_INTERVAL_FRAMES - 5 -> SEND_TIMEOUT_SECONDS - Comment out helpers module (requires coldvox_telemetry, should move to app crate) Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]> --------- Co-authored-by: ColdVox Dev <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Coldaine <[email protected]>
Summary
Part 8 of 9 in the domain-based refactor split.
Reduces logging noise in hot paths and tunes telemetry metrics for better observability.
Changes
Telemetry Crate (
crates/coldvox-telemetry/**)Logging Adjustments
Observability Binaries
crates/app/src/bin/**: TUI dashboard and monitoring probescrates/app/src/probes/**: Runtime probes for debuggingDependencies
Validation
Metrics
Review Notes
Stack position: 8/9
Previous PR: #7 (testing)
Next PR: #9 (docs-changelog)