
    Zj                       d Z ddlmZ ddlZddlZddlZddlZddlm	Z	 ddl
mZ  e	e      j                         j                  Z e	d      Zedz  Z e	d      Zd	Zd
ZdZdddddZddZddZddZddZedk(  r e e             y)zFExternal v2 binding wrapper for the byte-identical production runtime.    )annotationsN)Path)
ModuleTypez(/home/cube/projects/richard/hermes-agentzP.venv/lib/python3.12/site-packages/hermes_agent-0.17.0.dist-info/direct_url.jsonz/home/cube/projects/richard/traning coach/.omo/evidence/task26/task26-test-isolated-successor-e788f5d56aef04da3097007e2ab79614f2060607d4331162169733b1208d9377@e788f5d56aef04da3097007e2ab79614f2060607d4331162169733b1208d9377@a113a57564a11710dffd238688dd73f8037eabaed0b48532b4bc90b2996e69fc@2fbd6c9ad9d4b5ee979e7671d44e32fd4769e8737e26d7459fe73c81a525c656@95637abce4742d583534cf406b038f7c862ad0a72d10a6bab24d2452dcb0f776@8c7065277d5d96ce1012ac0c098d53288bba66c44c0674704be4072fe0a63951@8ce2fe8770c2b480083e9d44237d80892ccddcaec06acca14db18576a2ee0088@b41060dea28eb3bbb83217068f5218d5df2c879dba00e73c9ca4e577a6049dad)z1gateway/platforms/dualcoach_activation_cutover.pyz$gateway/platforms/dualcoach_admin.pyz0gateway/platforms/telegram_customer_bootstrap.pyzgateway/platforms/telegram.pyc                d    t        j                  | j                               j                         S )N)hashlibsha256
read_bytes	hexdigest)paths    `.omo/evidence/task26/task26-continuous-lifecycle-observer-st_01a007da-v2-e788f5d5/observer_v2.pydigestr   "   s!    >>$//+,6688    c                    t        j                  t        j                               } | dt         ddidk7  rt        d      t        j                  t        dz  j                               }t        j                  t        dz  j                               }|j                  d      t        k7  s|j                  d	      t        k7  so|j                  d
i       j                  d      t        k7  sG|j                  d      dk7  s3t        |j                  dg             dk7  st        d |d   D              st        d      t        j                         D ](  \  }}t        t        |z        |k7  st        d|        y )Nzfile://editableT)urldir_infoz(installed editable runtime binding driftzcandidate-manifest.jsonz'verification/production-invariance.jsonfull_candidate_digestcore_candidate_digestwheelr   statusPASSmodules   c              3  B   K   | ]  }|j                  d       du   yw)matches_30bTN)get).0modules     r   	<genexpr>z!verify_binding.<locals>.<genexpr>4   s!     UCT6::m,4CTs   z0candidate binding or 3/3 production parity driftzproduction runtime drift: )jsonloads
DIRECT_URL	read_textSOURCERuntimeError	CANDIDATEr#   	SUCCESSORCOREWHEELlenallRUNTIMEitemsr   )directmanifestparityrelativeexpecteds        r   verify_bindingr:   &   sA   ZZ
,,./F76(+*d9KLLEFFzz9'@@KKMNHZZ	>	>IIKF 	,-:<</0D8<<$((2e;::h6)vzz)R()Q.U6)CTUUMNN%mmo(&8#$0!;H:FGG .r   c                    t         j                  j                  dt        dz        } | | j                  t        d      t         j                  j                  |       }|t        j                  | j                  <   | j                  j                  |       |j                  t        k7  s&|j                  t        k7  s|j                  t        k7  rt        d      t        |_        |S )Ntask26_continuous_lifecycle_v2zcontinuous_lifecycle.pyzobserver import unavailablezobserver digest binding drift)	importlibutilspec_from_file_locationROOTloaderr,   module_from_specsysr   nameexec_moduler.   r/   r0   r+   SITE)specr%   s     r   load_observerrH   <   s    >>11($1J*JD |t{{*899^^,,T2F#CKK		KKF#9$t(;v||u?T:;;FKMr   c                     	 t                t        t               j                               S # t        t
        t        t        f$ r(} t        d|  t        j                         Y d } ~ yd } ~ ww xY w)NzFAIL: )file   )r:   intrH   mainOSError
ValueErrorr,   KeyErrorprintrC   stderr)excs    r   rM   rM   K   sS    =?'')**Zx8 sen3::.s   *- A.A))A.__main__)r   r   returnstr)rU   None)rU   r   )rU   rL   )__doc__
__future__r   r   importlib.utilr=   r'   rC   pathlibr   typesr   __file__resolveparentr@   r+   r)   r-   r.   r/   r0   r3   r   r:   rH   rM   __name__
SystemExit r   r   <module>rc      s    L "    
  H~&&	8	9
XY  f	 O	IJ9{,n8z%g	9H, z
TV
 r   