Validation
Validation is the credibility layer for the catalog and calculation engine. It checks representative fluid states, material records, standards, source metadata, and unit behavior.
Run validation
Run:
PYTHONPATH=vendor/python python3 scripts/validate_properties.py
For concise output:
PYTHONPATH=vendor/python python3 scripts/validate_properties.py --only-failures
The command writes:
artifacts/property_validation_results.json
What is validated
The validation corpus is stored in:
data/property_validation_cases.json
Cases cover representative:
- HVAC and heat-transfer fluids
- Refrigerants
- Combustion and exhaust gases
- Water and steam states
- Glycol and water coolant states
- Oils and fuels
- Aluminium alloys
- Common structural and engineering materials
Source quality
Every record should expose source and quality metadata. The main labels are:
- Reference backend
- Standard minimum
- Supplier data
- Project correlation
- Approximate estimate
Checked records can be design-release allowed within their stated validity range. The UI keeps quality visible for traceability.
Release checks
Before treating a data import or backend change as ready:
- Run compile checks.
- Run the validation command.
- Run pytest.
- Check browser routes for the changed UI.
- Verify PDF endpoints when reports changed.
Common command set:
python3 -m compileall app.py scripts tests
PYTHONPATH=vendor/python python3 scripts/validate_properties.py --only-failures
PYTHONPATH=vendor/python python3 -m pytest -q