o
    Jj                     @   s>   d Z ddlmZ ddlmZ ddlmZ dZdefddZd	S )
uS   Per-claim verdict — regulation retrieval #1, cert retrieval #2 on gap, calc tool.    )
ClaimCheck)	vultr_rag)verify_recycled_contentu   Directive (EU) 2024/825 (ECGT) · Annex I point 4a — generic environmental claim without recognised excellent environmental performancecheckc                 C   s  |j dd| j| jdd d| _t| j| j}|dr@|d | _|d d d | _	|j dd| jd	d
|d|dd| jd | jdkrad| _t
| _d| _	d| _|j dd| jd| j| j	d | S | jdkrd| _|j dd| jddd t| j| jd}|j dd| jdd|d|d|d|ddd	 |d| _|d}| jdd }|r|n| jpd!}t||}|j d"d#| j|d$ |dr|d% sd| _d&| _d'|dd( d)|d*  d+| d,| _	d-|d*  d.|dd( d/| _n|d% rd0| _nd| _d1| _|j dd| j| j| j	| jd2 | S | jd3krht| j| jd}|d}|rU|d4d5krU|d6| jkrUd0| _|d| _d7| j d/| _	n#d| _d8| j d9| j d/| _	d:| _n| jd;krud0| _d<| _	nd0| _|j dd| j| j| j	d= | S )>NclaimClaimCheckerchecking)claim_idtextstatuschunkcitationi@  	retrieval   zregulation retrieval #1sourceliveF)r	   r   r
   r   r   r   generic_environmentalblockedzMaking a generic environmental claim for which the trader is not able to demonstrate recognised excellent environmental performance relevant to the claim. Examples: 'eco-friendly', 'green', 'sustainable'.zhRemove generic tag or prove recognised excellent environmental performance (EU Ecolabel / EN ISO 14024).)r	   r   r
   r   recycled_contentzneeds-evidenceuT   Quantified claim — evidence not yet substantiated; retrieving supplier certificate)r	   r   r
   	attribute   z&supplier cert retrieval #2 (multi-hop)scope_valid)r	   r   r
   r   r   r   r   certtransactionclaimed_recycled_pctr   z{}toolr   )r	   resultpassesuC   Directive (EU) 2024/825 (ECGT) · substantiation + Annex I point 4bz5Scope Certificate valid, but Transaction Certificate  z covers only verified_pctu   % — cannot substantiate z% claim.zCorrect marketing to z0% recycled polyester (GRS-certified); attach TC .substantiatedz3No valid Transaction Certificate for this shipment.)r	   r   r   remediationcertified_materialr   VALID	linkedSkuz-Scope + Transaction certificate substantiate zNamed scheme (u7   ) — no valid Transaction Certificate on file for SKU zNObtain and attach the supplier certificate for this shipment before marketing.specific_verifiableuX   Specific, verifiable performance claim — not a generic environmental claim under ECGT.)r	   r   r   )emitr	   r
   r   r   search_regulations
claim_typeget
regulationr   GENERIC_CITATIONr"   lookup_supplier_certskumetaevidencer   )r   eventsregr   tcclaimedpayloadv r7   2/opt/greenlight/greenlight/agents/claim_checker.pycheck_claim   s   









(r9   N)	__doc__greenlight.engine.ledgerr   greenlight.sourcesr   greenlight.toolsr   r,   r9   r7   r7   r7   r8   <module>   s    