
    j                    *   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 ]]  }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        d+ |j                         D              }	 ||	d,d-d.d/k(  d0        |t        d1      j                          d2        |t        d3      j                          d4       t!        t        j"                  d| d   | d5   | d6   | d
   t	        t        dz        
d7d8d)9             y);Nz	SEAL.jsonzcandidate-manifest.jsonz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sizer   zlaunch_controller_v6.pylaunch_controller_v6_sha256
controllerzPERMISSION-v6.json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ActiveStater1   SubStater1   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)r4   r2   r3   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   is_filestatst_sizePROJECT
subprocessrunstdoutdict
splitlinesr   existsprintdumps)sealmanifestrowsr   rowr   r5   laner0   stater   s             @r   mainrd      sP   
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^_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r   __main__zBLOCKED:)file   )r   r   rL   rK   )rL   int)
__future__r   r   rN   osrV   syspathlibr   __file__resolveparentrP   parentsrU   r   rd   __name__
SystemExit	Exceptioner\   stderr r   r   <module>rw      s    " % % % 	(^$$Q FB. Zdf NuZszz:A;NNs   A+ +B0BB