
    ECj^
                    R    d dl mZ d dlZd dlmZ d dlmZ d dlmZ ddZ	d Z
d ZdS )    )annotationsN)Path)v76_paper_supervisor)	STRICT_IDpathr   rowdictreturnNonec                    | j                             dd           |                     dd          5 }|                    t	          j        |          dz              d d d            d S # 1 swxY w Y   d S )NT)parentsexist_okazutf-8)encoding
)parentmkdiropenwritejsondumps)r   r   fhs      "tests/test_v76_paper_supervisor.py_appendr   
   s    KdT222	3	)	) )R
C4'((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s   +A,,A03A0c           
     x    |                     t          d fd            dz  dz  t          z  }t          |dz  ddddd	           t          |dz  d
dddddd           t          |dz  d
dddddd           t          |dz  dddgd           |dz                      t          j        dddddii                     t          j        t                    }|d         dk    sJ |d         dk    sJ |d         dk    sJ |d         ddik    sJ |d          d!k    sJ |d"         ddd#k    sJ |d$         d%k    sJ |d&         d'k    sJ |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.u sJ |d0         d.u sJ d S )1N
_repo_rootc                      S N tmp_paths   r   <lambda>zGtest_v76_supervisor_status_includes_lifecycle_summary.<locals>.<lambda>       H     runtimeexperimentstrade_journal.jsonlentryBTCF)eventcoinlive_order_allowedmainnet_signed_actionexittake_profitz0.42)r*   r+   exit_reasonnet_pnl_usdr,   r-   ETH	stop_lossz-0.21zsignal_journal.jsonlzblocked:costcostconfluence_block_new_entry)final_decisionblock_reasonz
state.jsonopen_positions100z0.2)r(   sizeentries   exits   open_by_coinopen_notional_usdz20.00exit_reasons)r/   r3   closed_net_pnl_usdz0.21winrate_pctz50.00profit_factorz2.00recent_signal_blockersblockedtrade_journal_metaexistsTsignal_journal_meta
paper_only)setattrr   r   r   
write_textr   r   _lifecycle_summaryr!   monkeypatchr%   summarys   `   r   5test_v76_supervisor_status_includes_lifecycle_summaryrQ      s   ,l<L<L<L<LMMM"]2Y>GG++wej  FK  .L  .L  M  M  MG++vu]j  |B  Z_  z  .@  .@  A  A  AG++vu]h  zA  Y^  y~  .  .  @  @  @G,,bh  kG  bH  /I  /I  J  J  J|''
4DuX]glNmNmFn3o(p(pqqq"5i@@G9""""7q    #$))))>"uaj0000&'72222>"aa&H&HHHHH'(F2222=!W,,,,?#v----+,V49999+,Y71<<<<'(2d::::()(3t;;;;< D((((((r$   c           	          |                     t          d fd            dz  dz  t          z  }t          |dz  dddd	d
d           t          j        t                    }|d         dk    sJ |d         du sJ d S )Nr   c                      S r   r   r    s   r   r"   zBtest_v76_supervisor_detects_unexpected_live_flag.<locals>.<lambda>,   r#   r$   r%   r&   r'   r.   r)   r3   z-0.12T)r*   r+   r0   r1   r,   
live_flagsr<   rJ   F)rK   r   r   r   rM   rN   s   `   r   0test_v76_supervisor_detects_unexpected_live_flagrU   +   s    ,l<L<L<L<LMMM"]2Y>GG++vu]h  zA  Y]  .^  .^  _  _  _"5i@@G< A%%%%< E))))))r$   )r   r   r   r	   r
   r   )
__future__r   r   pathlibr   	src.toolsr   src.tools.v76_paper_runtimer   r   rQ   rU   r   r$   r   <module>rZ      s    " " " " " "        * * * * * * 1 1 1 1 1 1) ) ) )) ) )6* * * * *r$   