You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: multi-crate workspace refactoring with CI and platform detection (#9)
* corrected documentation and prepared for CI review/update
* feat: complete multi-crate workspace refactoring with enhanced CI
This comprehensive refactor splits the ColdVox codebase into specialized crates:
- coldvox-foundation: Core types, state management, and error handling
- coldvox-audio: Audio capture, processing, and chunking pipeline
- coldvox-vad: Voice activity detection with Level3 and Silero backends
- coldvox-stt: Speech-to-text core abstractions
- coldvox-stt-vosk: Vosk STT integration
- coldvox-text-injection: Multi-backend text injection library
- coldvox-telemetry: Pipeline metrics and performance tracking
- coldvox-gui: GUI application components
- app: Main application crate integrating all components
Key improvements:
- Enhanced CI/CD with feature matrix testing, cross-platform builds
- Comprehensive test coverage across all crates
- Security hardening and input validation
- Performance optimizations and benchmarking
- Modular architecture enabling selective feature compilation
- Improved error handling and recovery mechanisms
- Thread-safe concurrent processing
- Platform-specific optimizations for Linux desktop environments
Breaking changes:
- Module restructuring requires import path updates
- Configuration format changes for multi-crate setup
- Some API signatures updated for better type safety
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* fix: timestamp calculation and test failures
- Fix AudioChunker to calculate timestamps based on audio position instead of Instant::now()
- Fix chunker_timing_tests to properly compare timestamp durations
- Add feature gates for Level3 VAD tests to prevent build failures
- Fix clippy warnings: remove unnecessary casts, unused variables, field reassignments
- Update CLAUDE.md to clarify text injection is core functionality
- Remove outdated vad_demo example that used deprecated APIs
- Remove outdated CI documentation files
All 47 tests now pass. Core audio pipeline and text injection are functional.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* feat: add automatic platform detection for text-injection backends
- Add platform-specific dependencies that auto-enable appropriate backends
- Linux: AT-SPI, Wayland clipboard, ydotool
- Windows/macOS: Enigo
- Create build.rs to detect Wayland vs X11 at compile time
- Remove duplicate text_injection code from app crate
- Delete 137KB of duplicated code in crates/app/src/text_injection/
- Replace with simple re-export from coldvox-text-injection crate
- Fix architecture consistency: all functionality in coldvox-* crates
- Add placeholder AT-SPI implementation (atspi 0.22 API differs from expected)
BREAKING: Import paths for text_injection types may need updating
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* chore: update dependencies and clean up processor imports
* fix: resolve GitHub Actions benchmark workflow issues
- Add missing parameters to benchmark-action/github-action-benchmark
- Feature-gate text_injection module to prevent compilation errors
- Target specific benchmark with minimal features for CI stability
- Configure gh-pages branch and benchmark data directory
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* CI: align workflows with shared router; add least-privilege permissions & concurrency; replace unresolved actions; gate benchmarks; fix YAML quoting/indentation
* fix: address PR #9 review comments - import ordering and code fixes
- Fix import ordering across multiple files (external before local, alphabetical)
- Fix re-exports in coldvox-vad lib.rs (grouped and sorted)
- Fix injection_shutdown_tx mutability in main.rs
- Restore injection_rx variable in main.rs
- Fix PipelineMetrics type conflict
- Add missing trait imports in test files
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
* fix: address linter warnings in text-injection crate
- Prefix unused variables with underscore (_duration, _config, _previous_clipboard)
- Add #[allow(dead_code)] to unused helper methods that may be used in future
- Remove needless return statement in focus.rs
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
---------
Co-authored-by: Claude <[email protected]>
Use these notes to help AI agents work productively in this Rust repo. Main crate: `crates/app`. A vendored VAD library lives in `Forks/ColdVox-voice_activity_detector` (integrated via Silero V5).
4
-
5
-
## Architecture
6
-
-`foundation/` (app scaffolding)
7
-
-`state.rs`: `AppState` + `StateManager` with validated transitions.
8
-
-`shutdown.rs`: Ctrl+C handler + panic hook via `ShutdownHandler`/`ShutdownGuard`.
9
-
-`health.rs`: `HealthMonitor` with periodic checks (none registered yet).
- Binaries: `src/main.rs` (app, STT when built with `--features vosk`), `bin/mic_probe.rs`, `bin/foundation_probe.rs`, `bin/tui_dashboard.rs`.
3
+
Use these notes to help AI agents work effectively in this Rust workspace. Main application crate: `crates/app` (package `coldvox-app`). Core subsystems live in split crates and are re-exported by the app where convenient.
4
+
5
+
## Architecture (multi-crate)
6
+
7
+
-`crates/coldvox-foundation/` — App scaffolding
8
+
-`state.rs`: `AppState` + `StateManager` with validated transitions
0 commit comments