Before the star schema is published, audit the join between the fact table order_items and the dimension products in both directions. Return one row per problem found:
One row per orphan key (not per line), one missing_key row in total — and only if such lines exist. A NULL key is not an orphan: it is a different load bug and is reported separately.
Sort by issue, then product_id.