Adds test_weak_composed_evidence_never_becomes_a_candidate_regardless_of_the_write_flag, proving from the real field_contract.resolve_product (not an isolated stub) that the beer misclassification fixed on master (see "fix: product_role never infers OWN_PRODUCTION from a single COMPOSICAO occurrence") can never reach select_candidates as an AUTO_FILL_SAFE candidate, independent of cfop_ippt_write_mode/write_gate. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>