Thank you for your interest! We are building the world's most reliable AI inference engine for safety-critical systems.
All contributors must sign our Contributor License Agreement (CLA).
Why? It allows SpeyTech to provide commercial licenses to companies that cannot use GPL code while keeping the project open source.
How? Our CLA Assistant will prompt you when you open your first Pull Request.
All code must adhere to our High-Integrity C Style Guide (see docs/style-guide.md):
- No Dynamic Allocation: Do not use
malloc,free, orreallocafter initialization - MISRA-C Compliance: Follow MISRA-C:2012 guidelines
- Explicit Types: Use
int32_t,uint32_t, notintorlong - Deterministic Logic: No behavior dependent on memory addresses or undefined compiler behavior
A PR is only merged when:
- ✅ It is linked to a Requirement ID in
/docs/requirements/ - ✅ It has 100% Branch Coverage in unit tests
- ✅ It passes our Bit-Perfect Test (identical output on x86 and ARM)
- ✅ It is MISRA-C compliant
- ✅ It has been reviewed by the Project Lead
Every function must document:
- Purpose
- Preconditions
- Postconditions
- Complexity (O(1), O(n), etc.)
- Determinism guarantee
Example:
/**
* @brief Multiply two fixed-point numbers.
*
* Precondition: None
* Postcondition: Returns a * b in Q16.16 format
* Complexity: O(1) time, O(1) space
* Determinism: Bit-perfect across all platforms
*/
fixed_t fixed_mul(fixed_t a, fixed_t b);Look for issues labeled good-first-issue or foundation-layer.
We recommend starting with:
- Hash table tests
- Fixed-point math operations
- Cross-platform verification
- Technical questions: Open an issue
- General inquiries: william@fstopify.com
- Security issues: Email william@fstopify.com (do not open public issues)
Thank you for helping make deterministic ML inference a reality! 🎯