sate_ai 0.3.0
sate_ai: ^0.3.0 copied to clipboard
A fault injection framework for testing on-device AI models in Flutter. Simulate memory pressure, malformed inputs, and degradation to catch failures before deployment.
Changelog #
All notable changes to SATE AI will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased #
0.3.0 - 2026-07-30 #
Added #
- Thermal Throttle Injector for simulating CPU throttling (Issue #5)
- Configurable temperatureStep and maxTemperature
- Tracks temperature history for debugging
- Applies memory pressure proportional to temperature
- 25 new unit tests for comprehensive coverage
- Full integration with StressRunner
Changed #
- Documentation updated with ThermalThrottleInjector details
- Injector table in README updated
0.2.0 - 2026-07-30 #
Added #
- Quantization Drift Injector for simulating gradual precision loss (Issue #2)
- Configurable driftFactor and degradationThreshold
- Tracks confidence history for debugging
- Applies memory pressure proportional to drift
- 20 new unit tests for comprehensive coverage
- Full integration with StressRunner
Changed #
- Documentation updated with QuantizationDriftInjector details
- Injector table in README updated
0.1.2 - 2026-07-29 #
Added #
- Web dashboard for visualizing stress test reports (Issue #7)
- Drag-and-drop JSON upload
- Dark/light mode toggle with localStorage persistence
- Chart.js integration for inference time and memory usage charts
- Export reports to JSON, Markdown, and CSV
- Mobile responsive design
- MemoryUsageMB field to FaultResult for memory tracking
0.1.1 - 2026-07-29 #
Added #
OnnxAdapter— [AIModelAdapter] implementation backed by the ONNX Runtime (onnxruntime ^1.4.1). Supports text and binary inputs, memory pressure simulation, degradation tracking, and safe reset. (Closes #1)- Injectable
OrtSessionFactoryparameter onOnnxAdapterfor unit testing without a real.onnxmodel file. - 11 new unit tests for
OnnxAdapter(70 total across the library).
Changed #
pubspec.yamlversion bumped to0.1.1.
0.1.0 - 2026-07-28 #
Initial release of SATE AI.
Added #
FaultInjectorabstract interface for implementing fault injection strategiesStressRunnerorchestration engine with configurable timeout supportStressReportwith JSON (toJsonString) and Markdown (toMarkdown) serializationFaultResultvalue object capturing per-injector pass/fail outcomes and timingAIModelAdapterabstract interface for wrapping on-device AI runtimesAIInputandAIOutputtyped value objects for inference I/OMockAdapterfor testing without a real AI model; supports memory simulation and forced failuresMemoryPressureInjector— simulates out-of-memory conditions up to a configurable limit in MBMalformedInputInjector— injects empty strings, oversized payloads (1 MB), and binary garbage inputsFaultTypeenum with values:memoryPressure,malformedInput,quantizationDrift,thermalThrottle,latency,modelSwapSateAI.stress()convenience API for single-call test execution- 59 unit tests with full coverage of all core modules and injectors
- Flutter demo application in
example/demonstrating all features with a dark-theme UI - GitHub Actions CI/CD workflow for automated testing and lint on every pull request
- GitHub Actions workflow for automated pub.dev publishing on version tag push
- Issue templates for bug reports, feature requests, and custom injector proposals
CONTRIBUTING.mdwith development setup, code style, and pull request guidelinesCODE_OF_CONDUCT.mdfollowing the Contributor Covenant standard
Technical Details #
- Dart SDK constraint:
>=3.0.0 <4.0.0 - Flutter constraint:
>=3.10.0 - Zero production dependencies (Flutter SDK only)
- Zero
flutter analyzeissues dart formatcompliant