Language-agnostic conformance testing for Aifeels implementations
This repository provides the official conformance test suite for the Aifeels specification v0.1.0.
Any implementation claiming "Aifeels v0.1 compliant" MUST pass all tests in this suite.
- ✅ Machine-readable test vectors - Language-agnostic test cases in JSON
- ✅ Reference validators - Python and JavaScript validators
- ✅ Standard report format - Conformance reporting template
- ✅ Certification-ready - Pass tests to get certified
git clone https://github.com/aifeels-org/aifeels-conformance-suite.git
cd aifeels-conformance-suite/validators/python
pip install -r requirements.txt
python validate.py /path/to/your/implementationcd validators/javascript
npm install
node validate.js /path/to/your/implementationThe suite includes 10 required tests covering:
| Test ID | Focus Area | Spec Section |
|---|---|---|
| conformance-1 | Initialization | 3.4.2 |
| conformance-2 | Event Application | 4.2 |
| conformance-3 | Decay Calculation | 5.1 |
| conformance-4 | Action Selection | 6.3 |
| conformance-5 | Value Clamping (Upper) | 3.3 |
| conformance-6 | Value Clamping (Lower) | 3.3 |
| conformance-7 | Multiple Events | 4.3 |
| conformance-8 | Multi-Interval Decay | 5.1 |
| conformance-9 | Action Precedence (Handoff) | 6.3 |
| conformance-10 | Action Precedence (Pause) | 6.3 |
All 10 tests must pass for certification.
Test vectors are in test-vectors/test-vectors.json.
Each test includes:
- setup: Initial state configuration
- steps: Operations to perform (events, time advances)
- assertions: Expected outcomes with tolerances
Example test structure:
{
"id": "conformance-1",
"name": "Initialization",
"spec_section": "3.4.2",
"setup": {"action": "initialize"},
"assertions": [
{"path": "frustration", "expected": 0.0, "type": "equals"}
]
}To create a validator for a new language:
- Parse
test-vectors/test-vectors.json - For each test:
- Initialize state (or use provided initial_state)
- Execute steps (process_event, apply_decay)
- Validate assertions against expected values
- Report results in standard format (see
reports/REPORT_FORMAT.md) - Exit codes: 0 if all pass, 1 if any fail
See validators/python/validate.py for reference implementation.
Generate a conformance report after running tests:
{
"implementation": "aifeels-python",
"version": "0.1.0",
"spec_version": "0.1.0",
"test_results": {
"total": 10,
"passed": 10,
"failed": 0
},
"certification_date": "2025-02-07",
"maintainer": "Aifeels Maintainers <hello@aifeels.org>"
}See reports/example-report.json for complete format.
Implementations that pass all tests can apply for certification:
- Pass all 10 tests (100% required)
- Generate conformance report
- Submit to aifeels-spec/implementations/
See CERTIFICATION.md for process.
Found a conformance issue? Open an issue or PR to add test coverage.
Requirements for new tests:
- Must reference specific spec section
- Must be deterministic
- Must be language-agnostic
- Must include rationale
Contributions to validators welcome! Especially:
- Go validator
- Rust validator
- Java validator
Tests validate conformance to Aifeels Specification v0.1.0.
Apache 2.0 - See LICENSE