from cyber_agent.application.quality import QualityCheckOutcome class PlaceholderQualityProvider: async def check(self, request): text = str(request.material.content.get("text", "")) failed = "{{placeholder}}" in text return [ QualityCheckOutcome( rule_id=rule.rule_id, rule_version=rule.version, status="failed" if failed else "passed", issue="candidate still contains placeholder text" if failed else None, ) for rule in request.rules ]