
    wj3                        d Z ddlmZ ddlmZ ddlmZ ed         Z ed           G d d	                      Zd
ddddZ	dS )z<Deterministic pre-render quality gate for script candidates.    )annotations)	dataclass)Literal)lowmediumhighT)frozenc                  l    e Zd ZU dZded<   ded<   ded<   ded<   ded<   dZd	ed
<   edd            ZdS )ScriptQualityScorezHuman/LLM-reviewable scores for one short-form script candidate.

    Numeric dimensions use a 0-10 scale. ``ai_slop_risk`` is inverse: higher
    means more generic, uncanny, or trust-damaging output risk.
    inthook_strengthnoveltyclarity	retentionai_slop_riskr   
PolicyRiskpolicy_riskreturnfloatc                F    | j         | j        z   | j        z   | j        z   dz  S )N   )r   r   r   r   )selfs    V/home/agent/jarvis_runtime/autoshortsbot/AutoShortsBot/autoshorts/scripting/quality.pyaverage_qualityz"ScriptQualityScore.average_quality   s&    "T\1DL@4>QUVVV    N)r   r   )__name__
__module____qualname____doc____annotations__r   propertyr    r   r   r   r      s           LLLLLLNNN#K####W W W XW W Wr   r   g       @   )minimum_averagemaximum_ai_slop_riskscorer$   r   r%   r   r   boolc               L    | j         dk    rdS | j        |k    rdS | j        |k    S )zReturn whether a script should proceed to rendering.

    The gate is intentionally conservative: content below threshold waits for
    rewrite instead of spending render time on AI slop. A dreary but economical
    little kindness.
    r   F)r   r   r   )r&   r$   r%   s      r   should_renderr)      s9     F""u000u O33r   N)r&   r   r$   r   r%   r   r   r'   )
r   
__future__r   dataclassesr   typingr   r   r   r)   r"   r   r   <module>r-      s    B B " " " " " " ! ! ! ! ! !      ,-
 $W W W W W W W W, ! !	4 4 4 4 4 4 4 4r   