§
    +´j½  ã                   óZ   — d dl Zd dlmc mZ d dlmZmZ d dl	m
Z
 de
fd„Zd„ Zd„ Zd„ ZdS )	é    N)ÚReviewPackageÚrender_telegram_review_package©ÚScriptQualityScoreÚreturnc                  ó,   — t          dddddd¬¦  «        S )Né	   é   é   Úlow©Úhook_strengthÚnoveltyÚclarityÚ	retentionÚai_slop_riskÚpolicy_riskr   © ó    úS/home/agent/jarvis_runtime/autoshortsbot/AutoShortsBot/tests/test_review_package.pyÚ_quality_scorer      s+   € ÝØØØØØØðñ ô ð r   c                  ó  — t          ddddddddd	d
t          ¦   «         dd¬¦  «        } t          | ¦  «        }d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d }||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d S )!Nzvid-001z1AI ist ein schlechter Gott, aber ein guter DienerÚai_life_systemsé"   u)   AI sollte dir dienen, nicht dich fÃ¼hren.zUDrei Szenen zeigen den Unterschied zwischen KI-Hype und kontrolliertem Alltagssystem.zGCinematic desk setup, phone automations, calm human-in-control framing.z(KI als Werkzeug, nicht als Wertekompass.)z#AIú#Productivityz#LifeSystems)ÚyoutubeÚtiktok)zNo fake earnings claimszNo medical or financial advicez%data/local_motion_renders/vid-001.mp4©Úcandidate_idÚtitleÚpillarÚduration_secondsÚhookÚscript_summaryÚvisual_conceptÚcaptionÚhashtagsÚ	platformsÚquality_scoreÚpolicy_notesÚpreview_pathzReview: vid-001©Úin©z%(py1)s in %(py3)sÚtext©Úpy1Úpy3úassert %(py5)sÚpy5zAI ist ein schlechter GottzPillar: ai_life_systemszDuration: 34szQuality: 8.5/10zAI-slop risk: 2/10z?Policy: No fake earnings claims; No medical or financial advicez.Preview: data/local_motion_renders/vid-001.mp4zFreigabe alleúFreigabe YouTubeúFreigabe TikTokÚAblehnenu   Ã„ndern: <WunschÃ¤nderung>©r   r   r   Ú
@pytest_arÚ_call_reprcompareÚ	_safereprÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚAssertionErrorÚ_format_explanation©Úpackager/   Ú@py_assert0Ú@py_assert2Ú@py_format4Ú@py_format6s         r   ÚCtest_review_package_contains_required_decision_context_and_commandsrG      sT
  € ÝØØAØ ØØ8ØnØ`Ø:Ø9Ø'Ý$Ñ&Ô&ØRØ<ðñ ô €Gõ  *¨'Ñ2Ô2€DàÐ$Ð Ð$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$Ð Ð$Ñ$Ô$Õ$Ô$ÐÑ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ Ñ$Ô$Ð$Õ$Ô$ Ñ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ø'Ð/Ð'¨4Ð/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð'¨4Ð/Ñ/Ô/Õ/Ô/Ð'Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/¨4Ñ/Ô/Ð/Õ/Ô/¨4Ñ/Ô/Ð/Ð/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ø$Ð,Ð$¨Ð,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,Ð$¨Ð,Ñ,Ô,Õ,Ô,Ð$Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,¨Ñ,Ô,Ð,Õ,Ô,¨Ñ,Ô,Ð,Ð,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,ØÐ"ˆ?˜dÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ?˜dÐ"Ñ"Ô"Õ"Ô"ˆ?Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"˜dÑ"Ô"Ð"Õ"Ô"˜dÑ"Ô"Ð"Ð"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"ØÐ$Ð Ð$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$Ð Ð$Ñ$Ô$Õ$Ô$ÐÑ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ Ñ$Ô$Ð$Õ$Ô$ Ñ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$ØÐ'Ð 4Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð 4Ð'Ñ'Ô'Õ'Ô'ÐÑ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô' 4Ñ'Ô'Ð'Õ'Ô' 4Ñ'Ô'Ð'Ð'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'ØLÐTÐLÐPTÐTÐTÐTÐTÕTÔTÐTÐTÐTÐTÐLÐPTÐTÑTÔTÕTÔTÐLÑTÔTÐTÕTÔTÑTÔTÐTÐTÕTÔTÐPTÑTÔTÐTÕTÔTÐPTÑTÔTÐTÐTÐTÐTÑTÐTÐTÐTÐTÐTÑTÐTÕTÕTÔTÐTÑTÔTÑTÔTÐTÐTÐTÐTÐTØ;ÐCÐ;¸tÐCÐCÐCÐCÕCÔCÐCÐCÐCÐCÐ;¸tÐCÑCÔCÕCÔCÐ;ÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔC¸tÑCÔCÐCÕCÔC¸tÑCÔCÐCÐCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCØÐ"ˆ?˜dÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ?˜dÐ"Ñ"Ô"Õ"Ô"ˆ?Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"˜dÑ"Ô"Ð"Õ"Ô"˜dÑ"Ô"Ð"Ð"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"ØÐ%Ð Ð%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð Ð%Ñ%Ô%Õ%Ô%ÐÑ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô% Ñ%Ô%Ð%Õ%Ô% Ñ%Ô%Ð%Ð%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%ØÐ$Ð Ð$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$Ð Ð$Ñ$Ô$Õ$Ô$ÐÑ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ Ñ$Ô$Ð$Õ$Ô$ Ñ$Ô$Ð$Ð$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$ØÐˆ:˜ÐÐÐÐÕÔÐÐÐÐˆ:˜ÐÑÔÕÔˆ:ÑÔÐÕÔÑÔÐÐÕÔ˜ÑÔÐÕÔ˜ÑÔÐÐÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ'Ð/Ð'¨4Ð/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð'¨4Ð/Ñ/Ô/Õ/Ô/Ð'Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/¨4Ñ/Ô/Ð/Õ/Ô/¨4Ñ/Ô/Ð/Ð/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/r   c                  ó  — t          dddddd¬¦  «        } t          dddd	d
ddddd| dd ¬¦  «        }t          |¦  «        }d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d S )Né   é   r
   r   r   zvid-weaku   4 Tipps fÃ¼r ProduktivitÃ¤tr   é   zHier sind vier Tipps.zGeneric advice list.zStock productivity images.u   Mehr ProduktivitÃ¤t im Alltag.)r   )r   r   r   zRender gate: BLOCKEDr,   r.   r/   r0   r3   r4   znicht automatisch rendern)r   r   r   r9   r:   r;   r<   r=   r>   r?   r@   )Ú
poor_scorerB   r/   rC   rD   rE   rF   s          r   Ú:test_review_package_warns_when_candidate_should_not_renderrM   2   s  € Ý#ØØØØØØðñ ô €Jõ ØØ+Ø ØØ$Ø-Ø3Ø0Ø#ØØ ØØðñ ô €Gõ  *¨'Ñ2Ô2€Dà!Ð)Ð! TÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð! TÐ)Ñ)Ô)Õ)Ô)Ð!Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô) TÑ)Ô)Ð)Õ)Ô) TÑ)Ô)Ð)Ð)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ø&Ð.Ð&¨$Ð.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð&¨$Ð.Ñ.Ô.Õ.Ô.Ð&Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.¨$Ñ.Ô.Ð.Õ.Ô.¨$Ñ.Ô.Ð.Ð.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.r   c                  óF  — t          ddddddddd	d
t          ¦   «         d	d ¬¦  «        } t          | ¦  «        }d}||v }|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v}|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d}||v}|s—t          j        d|fd||f¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}}d S )Nzvid-igzOne visual ideaÚvisual_testsé   zOne clean idea.zA short visual test.zSingle mechanism reveal.zA test.r   )Ú	instagramr   zFreigabe Instagramr,   r.   r/   r0   r3   r4   r5   )únot in)z%(py1)s not in %(py3)sr6   r8   rA   s         r   ÚKtest_review_package_omits_platform_specific_commands_for_unlisted_platformsrS   Q   s§  € ÝØØØØØØ-Ø1ØØØ Ý$Ñ&Ô&ØØðñ ô €Gõ  *¨'Ñ2Ô2€DàÐ'Ð 4Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð 4Ð'Ñ'Ô'Õ'Ô'ÐÑ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô' 4Ñ'Ô'Ð'Õ'Ô' 4Ñ'Ô'Ð'Ð'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'ØÐ)Ð TÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð TÐ)Ñ)Ô)Õ)Ô)ÐÑ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô) TÑ)Ô)Ð)Õ)Ô) TÑ)Ô)Ð)Ð)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)ØÐ(Ð DÐ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð DÐ(Ñ(Ô(Õ(Ô(ÐÑ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô( DÑ(Ô(Ð(Õ(Ô( DÑ(Ô(Ð(Ð(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(r   )Úbuiltinsr<   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter9   Úautoshorts.review.packager   r   Úautoshorts.scripting.qualityr   r   rG   rM   rS   r   r   r   ú<module>rZ      sž   ðØ  € € € € € € € € € € € € Ð SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ ;Ð ;Ð ;Ð ;Ð ;Ð ;ðÐ*ð ð ð ð ð0ð 0ð 0ðD/ð /ð /ð>)ð )ð )ð )ð )r   