
    Dj                    6    d dl mZ d dlmZmZmZ ddZddZdS )	    )annotations)build_sleeve_scorecardformat_sleeve_scorecardlist_strategy_sleevesreturnNonec                     t                      } d | D             g dk    sJ d | D             h dk    sJ t          d | D                       sJ t          d | D                       sJ d S )Nc                    g | ]
}|d          S 	sleeve_id .0rows     tests/test_strategy_sleeves.py
<listcomp>zNtest_strategy_sleeves_are_separated_and_never_live_enabled.<locals>.<listcomp>	   s    000C000    )intraday_v76_strictswing_trend_retestportfolio_holding_advisorc                    h | ]
}|d          S )horizonr   r   s     r   	<setcomp>zMtest_strategy_sleeves_are_separated_and_never_live_enabled.<locals>.<setcomp>   s    ...sC	N...r   >   swingintraday	portfolioc              3  *   K   | ]}|d          du V  dS )live_order_allowedFNr   r   s     r   	<genexpr>zMtest_strategy_sleeves_are_separated_and_never_live_enabled.<locals>.<genexpr>   s-      EEcs'(E1EEEEEEr   c              3  *   K   | ]}|d          du V  dS )mainnet_signed_actionFNr   r   s     r   r   zMtest_strategy_sleeves_are_separated_and_never_live_enabled.<locals>.<genexpr>   s-      HHs*+u4HHHHHHr   )r   all)sleevess    r   :test_strategy_sleeves_are_separated_and_never_live_enabledr$      s    #%%G00000 5 5 5    
 /.g...2T2T2TTTTTEEWEEEEEEEEHHHHHHHHHHHHr   c           
     H   t          ddiddddddgd	| 
          }|d         dk    sJ |d         du sJ d |d         D             }|d         d         dk    sJ |d         d         dk    sJ |d         d         dk    sJ |d         d         du sJ |d         d         dk    sJ d|d         d         v sJ d|d         d         v sJ |d         d         dk    sJ d|d         d         v sJ t          |          }d|v sJ d|v sJ d|v sJ d |v sJ d!|v sJ d S )"Nopen_positions   true_lifecycle_exits_only*   z47.50z0.90z-1.25lifecycle_pnl_not_positive)evidence_sourceclosed_tradeswinrate_pctprofit_factornet_pnl_usdblockers)lifecycle_summarylifecycle_scorecardruntime_dirversionzstrategy_sleeves.v1live_allowedFc                     i | ]}|d          |S r   r   r   s     r   
<dictcomp>z`test_sleeve_scorecard_uses_lifecycle_for_intraday_and_blocks_missing_sleeves.<locals>.<dictcomp>#   s    AAAsSsAAAr   r#   r   statusBlockedr,   r   Researchno_swing_retest_entries_yetr0   research_only_no_live_authorityr   Advisoradvisor_only_no_executionzStrategy Sleeves v1:zintraday_v76_strict=Blockedzswing_trend_retest=Researchz!portfolio_holding_advisor=Advisorz	live=nein)r   r   )tmp_pathpayloadcardslines       r   Ltest_sleeve_scorecard_uses_lifecycle_for_intraday_and_blocks_missing_sleevesrC      s   $+Q/:"#"56
 
   G 9!66666>"e++++AAgi.@AAAE&'1Y>>>>&'8B>>>>&'(89Q>>>>&'75@@@@%&x0J>>>>(E2F,G
,SSSSS,6J0KJ0WWWWW,-h79DDDD&%0K*LZ*XXXXX"7++D!T))))(D0000(D0000.$6666$r   N)r   r   )
__future__r   src.strategies.strategy_sleevesr   r   r   r$   rC   r   r   r   <module>rF      sk    " " " " " " r r r r r r r r r r
I 
I 
I 
I           r   