- added explainable
site_candidatesoutput instead of only returning one chosen domain - added
reviewverdicts (ready,review_required,blocked) to make human review explicit - added ranked
top_contact_candidateswith reasons and source attribution - kept confidence scoring, but turned it into a clearer decision surface
generate_outreach.pynow refuses to draft by default when the dossier is not ready- added
--allow-review-requiredoverride for conscious manual use - preserved support for weak-but-official examples while making the risk visible
- expanded tests to cover review verdicts, contact explanations, and CLI refusal/override behavior
- refreshed examples to show both a weak-contact review case and a ready-to-draft case