
    Tj0                    *   d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ  ee	      j                         j                  Zej                  d   ZddZddZedk(  r e e             y# e$ r"Z edeej,                  	        ed
      dZ[ww xY w)    )annotationsN)Path   c                d    t        j                  | j                               j                         S )N)hashlibsha256
read_bytes	hexdigest)ps    verify_successor.pyshar      s    GNN1<<>:DDFF    c                    t        j                  t        dz  j                               } t        j                  t        dz  j                               }t        j                  t        dz  j                               }dd?fd} || d   dk(  d        || d   |d   k(  d	        |t	        t        dz        | d
   k(  d       |D ch c]  }|d   	 }}h d}t        j                  d      D ch c]T  }|j                         sd|j                  vs#d|j                  vs2|j                  t              j                         V }} ||||z  k(  d       |D ]]  }t        |d   z  } ||j                         xr3 |j                         j                  |d   k(  xr t	        |      |d   k(  |d          _  |t	        t        dz        | d   k(  d        |t	        t        dz        | d   k(  d        |t	        t        dz        | d   k(  d        |t	        t        dz        | d   k(  d        |t	        t        d z        | d!   k(  d"        |t	        t        d#z        | d$   k(  d%       t        dz  j                         }	 |d&|	v d'        |d(|	vd)       d*D ]=  }
 |t        j                  t        d+|
 d,z  j                               d   dk(  |
       ? t        j                  g d-d.d.d./      j                  }t!        d0 |j#                         D              } ||d1d2d3d4k(  d5        |t%        d6      j'                          d7        |t%        d8      j'                          d9       t)        t        j*                  d| d   | d:   | d;   | d
   t	        t        dz        d<d=d.>             yc c}w c c}w )@N	SEAL.jsonzcandidate-manifest.jsonPACKAGE-INVENTORY.jsonr   c                *    | st        |      dz  y )N   )RuntimeError)okmsgcheckss     r   needzmain.<locals>.need
   s    	,s##!)&r   statusREADY_STRICT_REHEARSALfull_candidate_digest	candidatepackage_inventory_sha256zpackage inventorypath>   verify_successor.pyr   PERMISSION-v6.jsonr   launch_controller_v6.py*__pycache__z.pytest_cachezunindexed package bytessizer   r!   launch_controller_v6_sha256
controllerr    launch_permission_sha256
permissionzlifecycle_observer_v7.pylifecycle_observer_v7_sha256observerzcleanup_controller_v6.pycleanup_controller_v6_sha256cleanupzH.omo/evidence/task26/task26-strict-final-candidate-st_01a00f35/SEAL.jsonpredecessor_seal_sha256predecessorzm.omo/evidence/task26/task26-strict-launch-controller-v5-st_01a00f53/run-20260817-strict-a-v5/RUN-SEAL-v5.json"failed_launch_v5_clean_seal_sha256zv5 rollbackload_gateway_preflight_inputsznew apiload_gateway_configzold api forbidden)	objectivesecurityztrainer-freequalityqa
provenancezreview-z.json)
z/usr/bin/systemctlz--usershowz$hermes-gateway-dualcoachtest.service-pActiveStater8   SubStater8   MainPIDT)textcapture_outputcheckc              3  @   K   | ]  }|j                  d d        yw)=r   N)split).0xs     r   	<genexpr>zmain.<locals>.<genexpr>    s     6$5qAGGCN$5s   0inactivedead)r;   r9   r:   zservice cleanzA/home/cube/.hermes/profiles/dualcoachtest/customers/registry.jsonzregistry cleanz2/home/cube/.hermes/profiles/dualcoachtest/sessionszsessions cleancore_candidate_digestinventory_digestPASS)r   r   core	inventorypackage_inventoryseal_sha256r   clean_state)	sort_keys)r   boolr   strreturnNone)jsonloadsROOT	read_textr   rglobis_filepartsrelative_toas_posixstatst_sizePROJECT
subprocessrunstdoutdict
splitlinesr   existsprintdumps)sealmanifestrowsr   rowexpected_pathsallowed_metadatar   actual_pathsr<   laner7   stater   s                @r   mainrr      s   
jj${"--/0$**dKdFdEoEoEq:rx|  yC  yC  EI  Jb  Eb  Dm  Dm  Do  ypsw  xy  qw d8n..x8d"#X.E%FF{Sc$'
'($/I*JJK^_(,-V-}7;zz#  [!!))+ZgopovovZv  |K  ST  SZ  SZ  |Zq}}T"++-  [lN#3334MNSV!T!))+a!&&(*:*:CK*GaCPQFTWX`TaLabeflbmn c$(
()40M+NN|\c$#
#$d+E&FF|Tc$)
)*D1O,PPQ[\c$)
)*D1O,PPQZ[c'\
\]_cd}_~~  @M  Nc'  B  B  C  EI  Jn  Eo  o  p}  ~%%00248W[_8_`i3jko  qI  QU  qU  Vi  ljPTQUVZV`V`bfipqupvv{g|b|  bH  bH  bJ  WK  LT  WU  Wo  Wo  pt  RuPnn  U  [_  os  z~    F  F6DOO$566tEc`jv|C}<}  N  8O$R
S
Z
Z
\\]mnosx|  ~r  ys  yz  yz  y|  u|  }M  pNtzz4F]A^fj  lC  gD  QU  Vh  Qi  ~B  C]  ~^  mp  qu  vA  qA  mB  LR  ag  h  sw  x  y  AB# . [s   O5OOO)%O__main__zBLOCKED:)file   )r   r   rS   rR   )rS   int)
__future__r   r   rU   osra   syspathlibr   __file__resolveparentrW   parentsr`   r   rr   __name__
SystemExit	Exceptionerg   stderr r   r   <module>r      s    " % % % 	(^$$Q FB6 Zdf NuZszz:A;NNs   A+ +B0BB