
    I.j                     z    d dl mZ d dlmZ d dlZd dlmZ d dlmZm	Z	m
Z
mZ d dlmZmZmZ d dlmZ dd
ZddZdS )    )annotations)DecimalN)CopyResearchPaths)ShadowPositionEnginebuild_shadow_portfoliocompute_position_deltasummarize_shadow_run)append_position_decisionsappend_shadow_portfoliowrite_shadow_result)ShadowLeaderPositionreturnr   c                 (   t          ddddt          d          t          d          t          d          dt          d	          t          d
          t          d          t          d          t          d          t          d          d          S )Nzleader-1walletETHlong1100z100.1z2026-06-14T10:00:00+00:008z0.120z0.001z0.0350000zsnap-1)	leader_idleader_typesymbolsidesizeleader_entry_pricecurrent_midobserved_atposition_age_hoursleader_unrealized_pnl_pctleader_liquidation_distance_pctfunding_rate
spread_pcttop_depth_usdsource_snapshot_id)r   r        .tests/test_ctb_copy_shadow_position_journal.pysample_positionr*      s    S\\"5>>G$$/"3<<")%..(/W%%6??g&&#   r(   Nonec                r   t          | dz            }t                                          t          d t	                                          }t          |g          }t          d|g|          }t          |g|                    d                    }t          ||
                    d                    }t          ||                    d                    }dt          |          vsJ t          j        |                                                                d                   d         d         du sJ t          j        |                                                                d                   d         d	k    sJ t          j        |                                          d
         dk    sJ d S )Ncopy_researchz
2026-06-14Crypto_Agentr   read_only_guard	read_onlyTtotal_notional_usdr   allowed_count   )r   r   evaluate_deltar   r*   r   r	   r
   shadow_position_decisions_filer   shadow_portfolio_filer   shadow_result_filestrjsonloads	read_text
splitlines)tmp_pathpathsdecision	portfoliosummarydecision_pathportfolio_pathresult_paths           r)   /test_position_journal_writes_jsonl_outside_reporE       s   h899E#%%445KDRaRcRc5d5deeH&z22I"<(UCCG-xj%:^:^_k:l:lmmM,Y8S8ST`8a8abbN%gu/G/G/U/UVVK]!3!33333:m--//::<<Q?@@ARST_`dhhhhh:n..00;;==a@AABVW[`````:k++--..?1DDDDDDr(   )r   r   )r   r+   )
__future__r   decimalr   r9   src.ctb_copy.runtime_pathsr   #src.ctb_copy.shadow.position_enginer   r   r   r	   $src.ctb_copy.shadow.position_journalr
   r   r   !src.ctb_copy.shadow.shadow_modelsr   r*   rE   r'   r(   r)   <module>rL      s    " " " " " "        8 8 8 8 8 8 K  K  K  K  K  K  K  K  K  K  K  K x x x x x x x x x x B B B B B B   (E E E E E Er(   