Conformance¶
Verdict contract¶
python -m ofiqpy.conformance executes the live BSI OFIQSampleApp and ofiqpy against
the same input directory. The gate requires:
- Exactly the declared number of supported images and unique path identities.
- Exactly one reference row and one port result for every image.
- Exactly 28 named components for every image.
- Finite scalar values for every observation and finite raw values whenever both implementations report success.
- Matching success/
FailureToAssessstatus for every observation. - Scalar difference no greater than the declared tolerance for every observation.
- Raw difference no greater than the named component tolerance for every jointly successful observation.
There are no skip paths for no-face images, absent components, NaN values, or missing reference rows. A contract violation raises an error; a numerical/status failure returns a nonzero verdict.
Raw values are compared at the six-decimal precision emitted by OFIQSampleApp and do
determine the verdict. The immutable policy
bsi-ofiq-v1.1.0-cpu-raw-csv-v1 covers all 28 components. Ten deterministic components
require exact raw equality. The others use absolute tolerances in their native units, with
an executable rationale for every value in ofiqpy/raw_policy.py. A raw value is undefined
and explicitly excluded only when either side reports FailureToAssess; status comparison
still applies to that observation.
Release result: 2026-08-16¶
| Observation | Result |
|---|---|
| BSI images required / observed by each implementation | 28 / 28 |
| Components required / observed per image | 28 / 28 |
| Scalar exact | 784 / 784 |
| Scalar within tolerance 0 | 784 / 784 |
| Status exact | 784 / 784 |
| Raw exact at six decimals | 698 to 702 / 784 across verified Linux runs |
| Raw within component policy | 784 / 784 |
| Undefined raw values excluded | 0 / 784 |
The official C++ conformance executable independently passed 787 / 787 tests in the same review environment. The raw exact count was 698 on the GitHub Python 3.11.15 runner and 702 on the local Python 3.11.14 host. It is an environment-sensitive diagnostic; the declared component policy, which accepted all 784 observations, determines the raw-value verdict.
Bound artifacts¶
The release run recorded these stable profile/input bindings:
| Artifact | SHA-256 |
|---|---|
| Canonical config | e117286706d799a1e23130db01cfdff7ef36d157b22ecf68dd196052a8a8d0b3 |
| Canonical 12-model manifest aggregate | 9a7b6b7943f4c17000bf32eed5be66ad5259f20c6166be4e83bf63db695d8831 |
| 28-image BSI input aggregate | f9dab8561ac543e44e93e12c254b0a7af6b6cdd12d3156f1174b8b984a6c4be5 |
Tested local OFIQSampleApp binary |
1c36ce0a1099e3df4c406a53a3cfd70c75a00cfb97299ebe1aa50cdec235e98c |
The generated report also records the source-tree hash, both git commits, OFIQ shared library hashes, ONNX Runtime library hash, and an optional wheel/sdist hash. Rebuilt C++ binaries can have a different binary hash; the report binds the executable actually used. The gate captures these source, input, model, native, and distribution bindings before and after execution and rejects the run if any bound artifact changes between the two snapshots.
Reproduce¶
export OFIQPY_OFIQ_ROOT="$(cd ../OFIQ-Project && pwd)"
export OFIQPY_OFIQ_DATA="$OFIQPY_OFIQ_ROOT/data"
python -m ofiqpy.conformance \
--ofiq-root "$OFIQPY_OFIQ_ROOT" \
--images "$OFIQPY_OFIQ_DATA/tests/images" \
--expected-count 28 \
--scalar-tolerance 0 \
--source-root "$PWD" \
--report conformance-report.json
Licensed larger-corpus diagnostic¶
The historical selection was recovered as the first 1,197 sorted CelebA image identities from the original project dataset. The current, non-redistributed bytes were bound as:
| Binding | Value |
|---|---|
| Images / bytes | 1,197 / 125,934,071 |
| Aggregate SHA-256 | 6a586d0a42e868a05fb817804a284bbd0a42135a3a50b41fce9539689536cc18 |
| Image/component observations | 33,516 |
| Status exact | 33,516 / 33,516 |
| Scalar exact | 33,483 / 33,516 |
| Scalar within tolerance 1 | 33,516 / 33,516 |
| Defined raw exact at six decimals | 29,938 / 33,430 |
| Defined raw within component policy | 33,430 / 33,430 |
| Undefined raw values excluded | 86 / 33,516 |
The 33 non-exact scalars differed by one point: 12 BackgroundUniformity, 14
ExpressionNeutrality, and 7 NoHeadCoverings observations. The generated aggregate-only
report binds the same native/profile/source fields as the BSI gate and contains no
per-image records.
CelebA permits non-commercial research use and prohibits redistribution under its official project agreement, so neither images nor a per-image manifest are shipped. No historical input hash was recorded by the old reporter; this new result binds the currently available bytes but cannot prove that the earlier run used byte-identical files. The raw policy was finalized through diagnosis on the BSI set and this recovered cohort, so this result is in-sample compatibility evidence, not independent external validation of the tolerance envelope.