@sailboat-computer/validation
Version:
Validation framework for sailboat computer v3
109 lines (78 loc) ⢠3 kB
Markdown
# @sailboat-computer/validation
Validation framework for sailboat computer v3 with marine-specific rules and data quality assessment.
## Overview
This package provides a comprehensive validation framework designed specifically for marine environments. It includes:
- **Multi-layer validation strategy** (Physical ā Operational ā Quality)
- **Marine-specific validation rules** for all sensor types
- **Cross-sensor validation** and consistency checks
- **Data source prioritization** and confidence scoring
- **Performance optimization** with batch processing and caching
## Current Status
ā
**Phase 1 Complete**: Core types and interfaces defined
š **Phase 2 In Progress**: Implementation of validation engine and rules
### Completed Features
- Comprehensive TypeScript type definitions
- Marine-specific validation ranges for:
- Navigation sensors (GPS, compass, wind, depth)
- Environmental sensors (temperature, pressure, humidity)
- Electrical systems (48V/12V batteries, solar)
- Engine and mechanical systems
- Fluid systems (watermaker, tanks, anchor)
- Validation result structures
- Confidence calculation framework
- Sensor health assessment interfaces
- Data source prioritization configuration
### Planned Features
- [ ] Physical validation layer implementation
- [ ] Operational validation layer implementation
- [ ] Quality assessment layer implementation
- [ ] Marine-specific validation rules
- [ ] Cross-sensor validation engine
- [ ] Data source prioritization engine
- [ ] Performance optimization features
- [ ] Health monitoring integration
## Installation
```bash
npm install @sailboat-computer/validation
```
## Usage
```typescript
import {
ValidationResult,
RawSensorData,
ValidatedSensorData,
MarineValidationRanges
} from '@sailboat-computer/validation';
// Example usage will be added when implementation is complete
```
## Marine-Specific Features
### Physical Validation
- Range validation based on marine equipment specifications
- Rate of change validation for sensor readings
- Sensor specification compliance checking
### Operational Validation
- Context-dependent validation (sailing vs anchored vs maintenance)
- Cross-sensor consistency checks
- Temporal consistency validation
### Quality Assessment
- Confidence scoring based on multiple factors
- Sensor health assessment
- Data source prioritization
## Architecture
The validation framework follows a three-layer architecture:
1. **Physical Layer**: Basic range and specification validation
2. **Operational Layer**: Context-aware and cross-sensor validation
3. **Quality Layer**: Confidence scoring and source prioritization
## Development
```bash
# Build the package
npm run build
# Run tests
npm test
# Watch mode for development
npm run build:watch
```
## Contributing
This package is part of the sailboat computer v3 project. Please follow the contract-first development approach and ensure all changes are properly tested.
## License
MIT