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