codmat_policy_map had CODMAT keys only, but build_articles_json looks up by GoMag SKU — mapped articles like FRSETP250 never got per-article id_pol, causing Oracle to use default sales policy and fail when price exists only in production policy. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>