ASafarIMShowcase
04 /Fairness

A twin pair, and an edge case with no answer

Fairness here means the engine is provably blind to an attribute it was never given. The no-qualified-tutor case shows the engine can say 'nobody' instead of forcing a bad match.

Synthetic data, safe demo mode. Every tutor and student here is invented for this benchmark — no real people, no real bookings, no real payments, no external side effects. Ranking runs entirely in your browser against committed fixtures. The runnable harness lives in benchmarks/edumatch.
01 /Method

The constraint-identical twin pair

T-01 · T-04 — identical qualifications, different cohort tag

Tutors T-01 and T-04 are fixture-designed to be identical on every matching attribute (subjects, levels, languages, modes, availability, location, rating, verification) and differ only in a neutral cohort tag the engine never reads. Any score difference between them would mean the engine is reacting to something outside its declared factors.

NeedT-01 compositeT-04 compositeDelta
Secondary math, evenings, in person
N-01
0.9670.9670.000

Measured maximum delta across every need: 0.000.

02 /Edge case

When nobody qualifies

N-05 — Secondary Latin (no qualified tutor)

No fixture tutor teaches Latin. Every one of the 12 tutors is excluded on the subject constraint, and the engine returns an empty ranked list rather than relaxing a requirement to force a result. Showing 'no match' honestly is part of what constraint satisfaction means here.

TutorExcluded because
Rowan Ashdoes not teach Latin; no overlapping availability slot
Sage Birchdoes not teach Latin; no overlapping availability slot
Elm Cedardoes not teach Latin; no overlapping availability slot; does not teach online
Fern Hazeldoes not teach Latin; no overlapping availability slot
Juniper Larchdoes not teach Latin
Willow Mapledoes not teach Latin; no overlapping availability slot