- Add OpenCV as default camera backend, nokhwa as optional alternative
- Make camera backends mutually exclusive via feature flags (opencv_camera, nokhwa_camera)
- Remove deprecated hardware_camera feature, use nokhwa_camera instead
- Add main thread camera initialization for macOS TCC authorization
- Add pre-opened capture storage via static Mutex for async compatibility
- Add pixel format conversion utilities (pixel_convert.rs)
- Update all cfg guards from hardware_camera to nokhwa_camera
macOS requires camera authorization requests on main thread. OpenCV's
VideoCapture::new() is now called before tokio runtime starts, with
the handle stored for later use by async code.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implement the Vida detection algorithm for meteor and fireball detection
based on the RMS/CMN paper. Key features:
- Frame accumulator: 256-frame FTP compression (maxpixel, avepixel, stdpixel, maxframe)
- Meteor detector: K1=1.5 threshold, Hough transform, temporal propagation verification
- Fireball detector: K1=4 threshold, 3D point cloud analysis for very bright meteors
- Binary image downsampling with OR operation to preserve trajectory connectivity
- Star extraction for astrometric calibration
- FTPdetect format output for interoperability with RMS tools
- test-vida CLI command for testing detection on video files
Performance optimizations:
- Binary image downsampling instead of FTP downsampling (fixes false positives)
- Inline centroid calculation with bounding box scan
- ~100ms/block processing time (down from 377ms)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace OpenSSL with rustls for better cross-compilation support
- Fix tpm_attestation field name typos (was tmp_attestation)
- Add missing Debug traits to FramePool structs
- Fix borrow checker issue in device registration
- Add missing module declarations in main.rs
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Successfully implemented comprehensive monitoring and alerting infrastructure for the Meteor platform across all three stories of Epic 3:
**Story 3.5: 核心业务指标监控 (Core Business Metrics Monitoring)**
- Instrumented NestJS web backend with CloudWatch metrics integration using prom-client
- Instrumented Go compute service with structured CloudWatch metrics reporting
- Created comprehensive Terraform infrastructure from scratch with modular design
- Built 5-row CloudWatch dashboard with application, error rate, business, and infrastructure metrics
- Added proper error categorization and provider performance tracking
**Story 3.6: 关键故障告警 (Critical System Alerts)**
- Implemented SNS-based alerting infrastructure via Terraform
- Created critical alarms for NestJS 5xx error rate (>1% threshold)
- Created Go service processing failure rate alarm (>5% threshold)
- Created SQS queue depth alarm (>1000 messages threshold)
- Added actionable alarm descriptions with investigation guidance
- Configured email notifications with manual confirmation workflow
**Cross-cutting Infrastructure:**
- Complete AWS infrastructure as code with Terraform (S3, SQS, CloudWatch, SNS, IAM, optional RDS/Fargate)
- Structured logging implementation across all services (NestJS, Go, Rust)
- Metrics collection following "Golden Four Signals" observability approach
- Configurable thresholds and deployment-ready monitoring solution
The platform now has production-grade observability with comprehensive metrics collection, centralized monitoring dashboards, and automated critical system alerting.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>