
    3[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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 dZdZ ed      Z ed	      Zed
z  Zedz  Zedz  Z e ee      dz         ZdZdZdZdZdZdZdZdZ dZ!ddddZ" ed      Z# ed      Z$ G d de%      Z&d9dZ'd:d Z(d;d!Z)d"d#d<d$Z*d=d%Z+d>d&Z,d?d'Z-d@d(Z.dAd)Z/dBd*Z0dCd+Z1dDd,Z2dEdFd-Z3dGd.Z4dGd/Z5dHd0Z6dId1Z7dJd2Z8dBd3Z9dKd4Z:dLd5Z;dMd6Z<dNd7Z=e>d8k(  r e? e=             y)Oz<Archive-first controller for Telegram update 629525116 only.    )annotationsN)Path)Anyi|ʅ%z$hermes-gateway-dualcoachtest.servicez)/home/cube/.hermes/profiles/dualcoachtestz(/home/cube/projects/richard/hermes-agentz.venv/bin/pythonz".venv/lib/python3.12/site-packagesz7data/telegram-ingress-receipts-v1-d0aacf0f4bdbb7c0.json.lock%task26_live_2e_r2_20260815_8527916639@2110071bc2761e6cbd149de4694dd7328148ec7e5b2e3c7c10a2709082d5e161@f38d0373a58877806ff64a9cac54ab01e6e6e47f7101e3dcfd5ffbf05f8bb101@5d3103b744b6e92ddbc576a77df433c2127d6df17260a3c78d2000d7b90d2f97@f75856d6d986b64d3d2f083aec2f865c7aea19f5950b84ff06e519f2f6505af6@8856ca5146cd74a6e9ed05dcd06747a694cd4f8415ee0575d673d04c9e310f09@791f79115641c3d3fda1b754f0cebaf986e51a855cd5289a24c9b636f7e015b0@8cd6edb7775804302703e20153f23127dd709adbcc24fe81bffb89e5f33f7136@f4bb54f774200c04d7f6d2f5566a4a47237d81672277da52428527aa9641b5fc@c469ba412e431af58b157129ad3e6e3e3229638eceab22baa09fdff155f4252c@2dc57c797ed4b59b7a2d08a9bc1b241e1527d3dad2809b8b6b43a67a975b95fb@498294b3c9066aae5f8cb07b5ba63a53d404cc2c03145f468cc79bf76317f92c)z+__editable__.physique_checkin_cli-0.1.0.pth1__editable___physique_checkin_cli_0_1_0_finder.pyz4physique_checkin_cli-0.1.0.dist-info/direct_url.jsonzq/home/cube/projects/richard/traning coach/.omo/evidence/task26/task26-continuous-lifecycle-observer-v6.2-f38d0373z/home/cube/projects/richard/traning coach/.omo/evidence/task26/task26-activation-checklist-6aaef77d-task26-live-2e-r2/activation-checklist-receipt.jsonc                      e Zd Zy)ClosedN)__name__
__module____qualname__     U.omo/evidence/task26/task26-telegram-poll-recovery-st_01a00d2c/recovery_controller.pyr   r      s    r   r   c                H    t        j                  |       j                         S N)hashlibsha256	hexdigest)bs    r   shar"      s    W^^A.88::r   c                4    t        | j                               S r   )r"   
read_bytesps    r   fshar'      s    S00r   c                H    t        j                  | j                               S r   )jsonloads	read_textr%   s    r   loadr,      s    TZZ66r   T)checkc                4    t        j                  |dd|       S )NT)textcapture_outputr-   )
subprocessrun)r-   as     r   r2   r2      s    z~~aTQU\a'b br   c                   | j                   j                  ddd       t        j                  | t        j                  t        j
                  z  t        j                  z  t        j                  z  d      }	 t        j                  ||      t        |      k7  rt        d      t        j                  |       t        j                  |       t        j                  | j                   t        j                  t        j                  z  t        j                  z        }t        j                  |       t        j                  |       y # t        j                  |       w xY w)N  Tmodeparentsexist_ok  zpartial evidence write)parentmkdirosopenO_WRONLYO_CREATO_EXCL
O_NOFOLLOWwritelenr   fsynccloseO_RDONLYO_DIRECTORY)r&   r!   fdds       r   createrK      s    U462771R[[QSQ[Q[E[\^\e\eEefhfsfsEsty;zXXb^SV&)A"BB((2,	"77188BKK.r}}<=bhhqk"((ST+ 
"s   8AE
 
E!c                j    t        | t        j                  |dd      j                         dz          y )N   Tindent	sort_keys   
)rK   r)   dumpsencode)r&   vs     r   emitrU   &   s'    qAQ)N)U)U)WX])] ^r   c                    | j                         }t        j                  |j                        r1|j                  dk7  s"t        j
                  |j                        dk7  rt        d|        |S )N   r:   zunsafe metadata: )lstatstatS_ISREGst_modest_nlinkS_IMODEr   )r&   ss     r   	safe_filer_   '   sU    779QYY1::q=DLL4KU4RY_bstusv`wYxSx	r   c                   t        |        t        j                  | t        j                  t        j                  z  t        j
                  z        }	 t        j                  |      }t        j                  |j                        r1|j                  dk7  s"t        j                  |j                        dk7  rt        d      g }t        j                  |d      x}r*|j                  |       t        j                  |d      x}r*dj                  |      t        j                   |       S # t        j                   |       w xY w)NrW   r:   zunsafe descriptori   r   )r_   r=   r>   rG   rB   
O_NONBLOCKfstatrY   rZ   r[   r\   r]   r   readappendjoinrF   )r&   rI   r^   outr!   s        r   	read_saferg   +   s    
12;;r}}4R]]BCbHHRL!	aii	 AJJMT\\!))5Le5SZ`atZuTu#772eSZZ]2772e	#	""s   B3D- D- -Ec                     t        dddt        dddddddddd	      } t        d
 | j                  j	                         D              S )N	systemctl--usershowz-pActiveStateSubStateMainPIDInvocationIDResultc              3  J   K   | ]  }d |v s|j                  d d        yw)=rW   N)split.0xs     r   	<genexpr>zfields.<locals>.<genexpr>7   s#     G%:cQhQWWS^%:s   	##)r2   UNITdictstdout
splitlines)rs    r   fieldsr}   5   sI    {8F4]4
4PYZ^_mnrs{|GQXX%8%8%:GGGr   c                 X   t        dddt               t        j                         dz   } t        j                         | k  r`t	               }|j                  d      dk(  r|j                  d      dk(  ry t        j                  d	       t        j                         | k  r`t        d
      )Nri   rj   stop-   rl   inactivern   0皙?zservice stop timeout)r2   rx   time	monotonicr}   getsleepr   )endr^   s     r   r   r   8   s    [&&4>>+;B+>s~~
H!UU=:%!%%	*:C*?**R. ~~ $%%r   c                N   t        j                  |       t	        t
              rj                  d      dvrt        d      ddhh dh ddd      }t              |k7  st        fd|dhz
  D              rt        d	      S # t        $ r}t        d      |d }~ww xY w)
Nzreceipt JSON invalidversion)rW   rM      zreceipt version invalidreceipts>   r   r   terminal_receipts>   r   r   terminal_failuresr   c              3  ^   K   | ]$  }t        j                  |      t                & y wr   )
isinstancer   ry   ru   krT   s     r   rw   z parse_receipt.<locals>.<genexpr>E   s&     P?O!JquuQx55?Os   *-zreceipt schema keys invalid)	r)   r*   	Exceptionr   r   ry   r   setany)rawekeysrT   s      @r   parse_receiptr   @   s    zz#Q1TaeeI.g=FKdDe>e
J	"L  PN  O  PQ  R[  P\  ]FDLCPtYK?OPPW]^{W|Q|		 	BV$:;BBs   B
 
	B$BB$c           	     j   t        t              }| j                  d      dk7  s| j                  d      |dddik7  rt        d      || d   v s|| d	   v rt        d
      | d   j	                         D ](  \  }}|j                         r	|dddk7  st        d       | d	   j	                         D ]  \  }}|j                         r`t        |t              rP|j                  d      dk7  s<|j                  d      dk7  s(t        t        |j                  dd                  dk7  svt        d       y )Nr   r   r   handler_exceptionblocked_receipt)reason_codestagez$target is not sole handler_exceptionr   r   ztarget receipt conflicthandledreceiptznormal receipt invalidr   business_commit_reconciledr   recovery_receiptprovenance_digest @   zterminal receipt invalid)	strTARGETr   r   items	isdecimalr   ry   rD   )rT   tr   rv   s       r   validate_targetr   G   s   v;EE)a155!45I\ev:w7xx  @F  Gm  @n  zn:!q!455FC\<]6]jM!SQq	
!IiHHvVnOoIo "!"((*SQq	
j40AEE-4HJf4fjkjojopwjx  {M  kM  QT  UX  YZ  Y^  Y^  _r  su  Yv  Uw  Qx  z|  Q|  CI  Jd  Ce  }e +r   c                   t        j                  t        j                  t         j                  t         j
                  z  t         j                  z        }t        j                  t        j                  t         j                  t         j                  z  t         j                  z  |      }dt        j                   dt         d}	 t        j                  |t        j                  t        j                  z         t!        t              }|r| }nit#        |      }t%        |       |d   t'        t              = |d= |d   rdnd|d	<   |d	   dk(  r|d= t)        j*                  |dd
      j-                         }t        j                  |t         j.                  t         j0                  z  t         j2                  z  t         j                  z  d|      }t        j4                  ||       t        j6                  |       t        j8                  |       t        j:                  |t        j                  ||       t        j6                  |       t=        |      t        j>                  ||       t        j                  |t        jB                         t        j8                  |       t        j8                  |       S # t        j8                  |       w xY w# t@        $ r Y tw xY w# t        j>                  ||       n# t@        $ r Y nw xY wt        j                  |t        jB                         t        j8                  |       t        j8                  |       w xY w)N)dir_fd.z
.incident-z.tmpr   r   rM   rW   r   TrN   r:   )
src_dir_fd
dst_dir_fd)"r=   r>   RECEIPTr;   rG   rH   rB   LOCKnameO_RDWRra   r   fcntlflockLOCK_EXLOCK_NBrg   r   r   r   r)   rR   rS   r?   r@   rA   rC   rE   rF   replacer"   unlinkFileNotFoundErrorLOCK_UN)	originalrestorerJ   lftmpcurrentpayloadrT   rI   s	            r   r   r   P   s}   777>>"++bnn4R]]BCrwwtyyY[YbYbcecpcpYpqsq~q~Y~  GH  HIB  PQ  RY  R^  R^  Q_  _i  jp  iq  qu  Nv  JM9++bu}},-i6Hghg71OA.15H3I#f+3V[\]p[q  EF  GZ  E[  @A  abrst}r~	lAo!/0::aq407797WWSRZZ'		1"--?QO"hhr'288B<
((2,**Sa8!CPWLii1++bRXXa[ ((2, 
4 	ii1	4++bRXXa[s]   DK( +J? >AK( K?KK( 	K%$K%(M)L M	L
MLAMc                    t         dz  } t        |       t        k7  sAt        |       j	                  di       j	                  di       j	                  d      t
        k7  rt        d      t        t         dz        t        k7  rt        d      t        j                         D ]%  \  }}t        t         |z        |k7  st        d       t        t        d	z        t         d
z  j                         vrt        d      t        t        dz        }|j	                  di       t        t
        t        t         t"        d}|j	                  d      dk7  s:|j	                  d      t$        k7  s"t'        fd|j                         D              rt        d      t        t(              dk7  s5t        t(              j	                  di       j	                  d      t         k7  rt        d      t        dz   dt         t+        fdt-        ddd      j.                  j1                         D              dk7  rt        d      t
        t        t         t$        d S )!Nz-hermes_agent-0.17.0.dist-info/direct_url.jsonarchive_infohashesr   zinstalled wheel mismatchzgateway/platforms/telegram.pyzTelegram module mismatchzeditable mapping driftz!workspace/checkin_cli/checkin_clir   zeditable target mismatchzlive-v62-ready.jsonbindings)	successorwheelprofile_wheelauthority_digestdeployment_receiptstatusREADY_CONTINUOUS_LIFECYCLEauthority_sha256c              3  L   K   | ]  \  }}j                  |      |k7    y wr   r   )ru   r   rT   r!   s      r   rw   zstatic_gates.<locals>.<genexpr>k   sF       r[  JZ  CF  CD  EFrsrwrwxyrz|}r}  JZs   !$zobserver authority mismatch@b093aeb888ce7325cddd7d56d52a7e4a7ec8a180ac80eef21fea9453a8ef0e8elifecycle_bindingsr   zactivation authority mismatchzobserver_v62.pyz observe --profile c              3  &   K   | ]  }|v  
 y wr   r   )ru   rv   needles     r   rw   zstatic_gates.<locals>.<genexpr>n   s     IH!H   psz-eozargs=rW   z observer v6.2 not uniquely armed)r   	candidater   observer_authority)SITEr'   DIRECT_URL_HASHr,   r   WHEELr   TELEGRAM_MODULEEDITABLEr   r   PROFILEr+   OBSERVER	CANDIDATEPROFILE_WHEELAUTHORITY_DIGESTDEPLOYMENT_RECEIPTOBSERVER_AUTHORITYr   	CHECKLISTsumr2   rz   r{   )directr&   hreadyexpectedr!   r   s        @@r   static_gatesr   b   s   <<L/!T&\%5%5nR%H%L%LXVX%Y%]%]^f%gin%nu{  }W  vX  pX-	-.?fMgFh@hNNSQq	$q&\1_6":;; 334TBu=u  =A  =A  =C  C  JP  Qk  Jl  DlH**+eii
2.FA }`p  GY  Z	IIh55CU9VXj9jnq  r[  JR  JX  JX  JZ  r[  o[  bh  iF  bG  \GOWW[_`i[j[n[n  pD  EG  \H  \L  \L  M_  \`  br  \r  y  @_  y`  s`%%
&&9'CISeG4;;FFHII1LSYZ|S}M}9@Pfxyyr   c                    t        t        dz        } | j                  dg       D cg c]  }|j                  d      t        k(  s| }}t	        |      dk7  s1|d   j                  d      dus|d   j                  d      d	d	d
dk7  rt        d      t        t        dz        }|j                  dg       D cg c]  }|j                  d      dk(  s| }}t	        |      dk7  sB|d   j                  d      dk7  s+|d   j                  di       j                  d      t        k7  rt        d      dd l}|j                  t        dz  j                               d   d   d   d   t        fddD              rt        d      t        dz  t        dz  g}t        d |D              rt        d      dd d!d!ddd"S c c}w c c}w )#Nzcustomers/registry.json	customerscustomer_keyrW   r   enabledTtelegram
8527916639r   )user_idchat_idtopic_idzcustomer/DM authority mismatchz:data/onboarding/telegram-customer-bootstrap-v1/ledger.jsonsessionsstateACTIVE
generation   customer_draftzACTIVE bootstrap mismatchconfig.yaml	platformsextraadaptive_nutritionc              3  D   K   | ]  }j                  |      d u  yw)FNr   )ru   r   ads     r   rw   zauthority.<locals>.<genexpr>x   s!     U(T1q	(Ts    )
activationdeliverydelivery_enabledz$adaptive delivery/activation enabledz(data/owner-actions/draft-deliveries.jsonzdata/scheduled-deliveries.jsonlc              3  <   K   | ]  }|j                           y wr   )existsrt   s     r   rw   zauthority.<locals>.<genexpr>z   s     %Hq
Hs   zdelivery count is not zerozgeneration6/ACTIVEF)customer_enabled	bootstrapadaptive_activationadaptive_deliverydelivery_countdm_topic)
r,   r   r   CUSTOMERrD   r   yaml	safe_loadr+   r   )r|   rv   mr!   r3   r  r  r   s          @r   	authorityr  q   s)   ))*{29N-r9NARSRWRWXfRgiqRqa9N1-rFAI1)$D0AaDHHZ4HUalx  EH  KI  5I  PV  Ww  Px  JxLLM\]\a\ablmo\p  QN\pWXtutyty  {B  uC  EM  uMQR\pa  QNFAI1,'*adhh7G.K.O.OP^._ai.ipv  xS  qT  kTNNGM)4467DZPQXYZnoU(TUU\b  dJ  ]K  WK==gFg>g
h%H%%F3O,P&P -AX]rw  JK  WX  	Y  Y .s QNs   GG<G	G	c                 0   t         dz  t         dz  t        z  t         dz  t         dz  t         dz  g} t         dz  t         dz  t         dz  t         d	z  h}| D ]:  }|j                         s|j                  d
 |j	                  d      D               < |j                  t               t        |      D ci c]V  }|j                         st        |j                  t                     t        |      |j                         j                  dX c}S c c}w )Nr   zdata/customersz.data/onboarding/telegram-customer-bootstrap-v1z.data/onboarding/telegram-publication-outbox-v1zdata/owner-actionsr   z%data/customer-activation-journal.jsonz$data/customer-activation-audit.jsonlz2data/nutrition-onboarding-projection-journal.jsonlc              3  z   K   | ]3  }|j                         s|j                  j                  d       r0| 5 yw)r   N)is_filer   endswith)ru   r&   s     r   rw   zinventory.<locals>.<genexpr>   s.     k?aaiikRSRXRXRaRabiRj?s   ;;;*)r   bytes)r   r  r  updaterglobdiscardr   sortedr   relative_tor'   rY   st_size)rootsfilesrootr&   s       r   	inventoryr   }   s/   G$44X=gFv>vw~  @p  xp  qx  yM  qM  Ng&MMgV|N|  ~E  Fz  ~z  {T	[[]5<<k4::c?kk wqwx}q~   Nq~lm  CD  CK  CK  CMAMM'$: ;d1gVWV\V\V^VfVf<g gq~   N  N   Ns   5DADc                |   t        t        t              dddddd      j                  t        dz  j                         g d}t        fd	|D              rt        fd
dD              rt        d      t        | dz  d|dt        j                               t        j                               d       y )Nz-mzhermes_cli.mainz	--profiledualcoachtestgatewayz--helpz!hermes_cli/subcommands/gateway.py)r2   startr   restartr   install	uninstalllistsetupzmigrate-legacyenrollc              3  &   K   | ]  }|v  
 y wr   r   )ru   rv   r   s     r   rw   zcli_proof.<locals>.<genexpr>   s     %HqAFHr   c              3  H   K   | ]  }|z   j                         v   y wr   )lower)ru   rv   r   r^   s     r   rw   zcli_proof.<locals>.<genexpr>   s&       -AIAQ1Q3++--?Is   ")r   ztelegram-ingresszpoll replayzCLI surface proof failedzcli-recovery-surface.jsonztask26-cli-recovery-surface-v1F)schemasupported_gateway_commands(non_committed_handler_exception_recoveryhelp_sha256parser_sha256)r2   r   PYTHONrz   HERMESr+   allr   r   rU   r"   rS   )r  commandsr   r^   s     @@r   	cli_proofr7     s   s6{4)+oiPXY``dj  lO  eO  dZ  dZ  d\ab  fN  ]e%H%%  -AI  -A  *A  HN  Oi  Hj  Bjd&&1Qow  di  x{  |}  |D  |D  |F  xG  X[  \]  \d  \d  \f  Xg  (h  ir   c                &   t        dddt        dddd      j                  j                  d      d	   j	                         }t        j                  | d
z  t
        j                  t
        j                  z  t
        j                  z  t
        j                  z  d      }t        j                  | dz  t
        j                  t
        j                  z  t
        j                  z  t
        j                  z  d      }t        j                  dddt        d|dddg	|t        j                        }t        j                  ddddt        t        dz        g|t        j                        }t        j                   |       t        j                   |       t#        j$                  d       |j'                         |j'                         t)        d      t+        | dz  d|j,                  |j,                  t/        |j1                               dd       ||fS )N
journalctlrj   z-uz-nr   z--show-cursorz
--no-pagerz-- cursor: journal-watch.logr:   application-watch.logz--after-cursorz-fz-oz	short-iso)rz   stderrtailz-Fzlogs/gateway.logg?zwatcher arm failedzwatchers-armed.jsonztask26-watchers-armed-v1T)r.  journal_pidapplication_pidcursor_sha256armed_before_restart)r2   rx   rz   rs   stripr=   r>   r?   r@   rA   rB   r1   PopenSTDOUTr   r   rF   r   r   pollr   rU   pidr"   rS   )r  cursorjfafjr3   s         r   watchersrL     sM   L$tD_\RYY__`mnoqrxxz  A  F  F  GK  L_  G_  `b  `k  `k  ln  lv  lv  `v  wy  w@  w@  `@  AC  AN  AN  `N  OT  U{}  Y[  Y`  Y`  ae  f}  a}  ~@  ~I  ~I  JL  JT  JT  ~T  UW  U^  U^  ~^  _a  _l  _l  ~l  mr  Ys  VX\(45EfTRVWbckmu  vG  vG  H  KU  K[  K[  ]c  dh  il  mq  ru  v}  ~P  vP  rQ  \R  Z\  dn  du  du  Kv  IJ  wy  w  w  @B  wC  DF  DL  DL  MO  DP  QU  Q[  Q[  \^  Q_FFHAFFH0v>R7S1Sd  +ETUTYTYlmlqlq  CF  GM  GT  GT  GV  CW  os  "t  u  }~  @  }@  v@r   c                    | D ]#  }|j                         |j                          % | D ]  }|j                  d        y # t        j                  $ r% |j                          |j                  d       Y Ow xY w)Nr   )timeout)rF  	terminatewaitr1   TimeoutExpiredkill)wsr&   s     r   rR  rR     s^    
QVVXakkm 
QffQf 		"	"=1668AFF1F,==s   A5A;:A;c                
   t        j                         |z   }dt         }dt         }t        j                         |k  r| dz  j                  d      dz   | dz  j                  d      z   }|j	                         D cg c]  }||v sd|vs| }}|j	                         D cg c]  }||v s
||v sd	|v s| }}t        t        t                    t               }	t        t        d
z        }
t        fddD              }|	j                  d      dk(  xr |	j                  d      dk(  xrj t        |	j                  dd            dkD  xrJ |
j                  d      dk(  xr4 |
j                  di       j                  di       j                  d      dk(  }|r|s|r|rt        |      dt        dz   d|	ddS t        j                  d       t        j                         |k  rt!        d      c c}w c c}w )Nz)telegram_ingress stage=receipt update_id=z%telegram_handler_exception update_id=r;  r   )errors
r<  zreason_code=zreason_code=handler_exceptionzgateway_state.jsonc              3  `   K   | ]%  }t        t              j                  |i       v ' y wr   r   r   r   r   s     r   rw   zwait.<locals>.<genexpr>   si       Xv  Au  |}  Y\  ]c  Yd  lm  lq  lq  rs  tv  lw  Yw  Au   +.r   r   r   rl   activerm   runningrn   r   rW   gateway_stater   r   r   	connectedr   zahandled receipt was removed only by acknowledged_through(offset) after getUpdates offset > target)+normal_handled_log_count_across_two_mirrorshandler_exception_countoffset_lower_boundoffset_proofservicer   r   zreplay/offset/health timeout)r   r   r   r+   r{   r   rg   r   r}   r,   r   r5  r   intrD   r   r   )r  rN  r   r   badr/   rv   normalfailr^   gabsenthealthyrT   s                @r   rP  rP     s   	^^g'PQWPX%Yf  aF  GM  FN  _OZ]~~  ++9+=dBDI`D`CkCks|CkC}}$  RV  Ra  Ra  Rc  FO  Rc  MN  gm  qr  gr  wE  MN  wN  GH  Rc  E  FO  ae  ap  ap  ar  Uy  ar  \]  vy  }~  v~  CI  MN  CN  Sr  vw  Sw  VW  ar  PT  Uy  |I  JS  T[  J\  |]  z{  `f  `h  ^_  ko  pw  xL  pL  kM  ij  UX  Xv  Au  Xv  Uv  NT  @  D  D  ER  S  U]  ]  K  bc  bg  bg  hr  bs  u~  b~  K  C	F	  G	H	  G	L	  G	L	  M	V	  W	Z	  G	[	  C	\	  ]	^	  C	^	  K  c	d	  c	h	  c	h	  i	x	  c	y	  {	D
  c	D
  K  I
J
  I
N
  I
N
  O
Z
  [
]
  I
^
  I
b
  I
b
  c
m
  n
p
  I
q
  I
u
  I
u
  v
}
  I
~
  @K  I
K  w~DVfijpfq  MN  dj  kl  dl  |_  jk  wB  8C  1C**R. ~~ ,-- FO  Uys$   	G;G;G;*H 8H =H c                   t        | j                  d            D cg c]a  }|j                         s|j                  dvs#t	        |j                  |             t        |      |j                         j                  dc }}t        | dz  dt        t        |d       t        | dz        }t        | dz  | dj                                |S c c}w )	Nr  )	SEAL.jsonSEAL.json.sha256)pathr   r  rl  z%task26-telegram-poll-recovery-seal-v1)r.  r   target_update_idr  rm  z  SEAL.json
)r  r  r  r   r   r  r'   rY   r  rU   r   r   rK   rS   )r  r&   rowsr   s       r   sealrq     si   \bcgcmcmnqcr\s  w\sWXwx  xA  xA  xC  HI  HN  HN  Vv  Hvs1==&'aAQAQR\s  w  x|  }A  BM  }M  X  LU  io  x|  N}  x~  AE  FJ  KV  FV  AW  @  X^  _c  dv  _v  z{  y|  |I  wJ  wQ  wQ  wS  XT  \]  U]  ws   CCACc                   | j                  ddd       t        j                  | j                         j                        dk7  rt	        d      t        |        t               }t               }|j                  d      dk7  s|j                  d      dk7  rt	        d	      t               }t        t              }t        t        |             t               }t        | d
z  |       t        | dz  d|||t!        t              t#        |      t%        |      dddd       d}d}d}		 t'                d}	t               |k7  st               |k7  st        t              |k7  rt	        d      t)        | dz  |       t+        |      }
d}t        t        t                    t-        fddD              rt	        d      t/        |       }t1        dddt2               t5        | |      }t7        j8                  d       t;        |       d}t               }t        | dz  |       ||k7  st               |k7  rt	        d      t        t              }t        |      t-        fddD              rt	        d      d d!t<        t>        t#        |      |
t#        |      d"   d#||dd$d$d d%d&dd'
}t        | d(z  |       tA        |       }tC        tE        jF                  d!t!        |       |t#        |      t#        |      t<        d$z   |d)   dd*d+             y,# tH        $ r}t;        |       |rU	 t'                d}	t        t        t                    t-        fd-dD              st+        |d       n# tH        $ r Y nw xY wt        | d.z  d/d0tK        |      jL                  t!        |      |	t        jO                         xr t        t              |k(  d1        # tH        $ r Y  w xY wd }~ww xY w)2Nr5   Tr6   zevidence root moderl   r[  rm   r\  zinitial service unhealthyzpre-inventory.jsonzpreconditions.jsonz task26-recovery-preconditions-v1r   r   )rn  r   r  r   target_reason)r.  staticr  rc  r   Fr   zdrift while stoppingz original-receipt.byte-exact.jsonc              3  `   K   | ]%  }t        t              j                  |i       v  ' y wr   rX  r   s     r   rw   zexecute.<locals>.<genexpr>   s'     b-aVa	#-arY  rZ  zbounded removal failedri   rj   r$  g333333?zpost-inventory.jsonzbusiness authority mutatedc              3  `   K   | ]%  }t        t              j                  |i       v  ' y wr   rX  )ru   r   postvs     r   rw   zexecute.<locals>.<genexpr>   s'     f1eAV		!B	'1erY  ztarget remains in receiptz'task26-telegram-poll-recovery-result-v1PASS_RECOVEREDr   )
pre_sha256removed_sha256post_sha256post_versionrW   zlBot API has no outgoing-history endpoint; privacy-safe application logs omit response content and message ID)application_handlingsmaximum_customer_sendsbot_api_message_id
limitation)
r.  r   ro  r   r   replayr  business_state_unchangedsafe_fallbackuser_may_send_today_checkinzrecovery-result.jsonrc  )r   evidence_rootrq  pre_receipt_sha256post_receipt_sha256ra  rc  r  rP   r   c              3  `   K   | ]%  }t        t              j                  |i       v  ' y wr   rX  )ru   r   curs     r   rw   zexecute.<locals>.<genexpr>   s'     j5is6{cggam+5irY  zfailure-result.jsonztask26-recovery-failure-v1FAIL_CLOSED)r.  r   error_classerrorservice_left_stoppedoriginal_receipt_restored)(r<   rY   r]   r[   r   r7  r   r}   r   r  rg   r   r   r   r   rU   r   r"   rD   r   rK   r   r   rL  r2   rx   rP  r   r   rR  r   r   rq  printr)   rR   BaseExceptiontyper   r  )r  rN  rt  initialauthr   prechangedrS  stoppedremovedr  postpostrawresultsealdr   r  rw  rT   s                    @@@r   executer     sZ   tT2LL$$%u,6:N3O-O
4vxwKK(GKK
,CY,NU[\wUxOxk9W-(omH>U.V[d[fWZgklp  rF  mF  GJ  hK  LP  QU  Vj  Qj  uW  ag  tx  CJ  ]`  ah  ]i  sv  w  s@  IL  MU  IV  ab  sF  UG  kH  LI	"rUW&[$)+s*i.@(.JQWXnQoKo0	0:
(
'DG=79K+Lb-abbio  qI  jJ  dJd^"CHWT:$tGBT6UYU_U_`bUcdhikdlprmo{$42248	3Y)+t#&1M*N$N
G
'=#9Uf1effms  uP  nQ  hQ<FVjp  ~G  `c  dl  `m  F  UX  Y`  Ua  qv  w@  qA  RB  LR  _c  C  mn  HI  _c  q_  T`  C	  
D	&  E	I	  J	N	  O	e	  J	e	  f	l	  E	m	  t	x	  y	}	  t	~	  n	s	  	D
  E
I
  E
O
  E
O
  Z
j
  {
~
  
C  {
D  LQ  gj  ks  gt  KN  OV  KW  ms  tu  mu  @F  GP  @Q  pt  P
u  @D  E
E  	F  NO 	r(F47M)G*<=j5ijjkrs{  }A  lB

4%%0LVcrvwxry  sC  sC  LO  PQ  LR  jq  NU  N\  N\  N^  N  cl  mt  cu  w  c  '@  A 
t 	sc   ,G,L 	O1"O,0AM54O,5	N>O, NO,AOO,	O)&O,(O))O,,O1c            	        t        j                         } | j                  dd       | j                  dt        d       | j                  dt        d	       | j                         }t        |j                  j                         |j                        S # t        $ rF}t        t        j                  d
t        |      dd      t        j                          Y d }~yd }~ww xY w)Ncommand)r  )choicesz--evidence-rootT)r  requiredz	--timeoutZ   )r  defaultr  )r   reasonr  )filerM   )argparseArgumentParseradd_argumentr   float
parse_argsr  r  resolverN  r   r  r)   rR   r   sysr=  )r&   r3   r   s      r   mainr     s    Q^^Il^KANN[lrv  AEN  MF  GH  GU  GU  Va  gl  uw  GU  Gx  {|  {G  {G  {I  yzAOO++-aii88wE$**}c!f%MX\]cfcmcmnvwws   (-B 	C%<C  C%__main__)r!   r  returnr   )r&   r   r  r   )r&   r   r  r   )r3   r   r-   bool)r&   r   r!   r  r  None)r&   r   rT   objectr  r  )r&   r   r  zos.stat_result)r&   r   r  r  )r  zdict[str, str])r  r  )r   r  r  dict[str, Any])rT   r  r  r  )F)r   r  r   r  r  r   )r  dict[str, object])r  zdict[str, dict[str, object]])r  r   r  r  )r  r   )r  r   rN  r  r  r  )r  r   r  r   )r  r   rN  r  r  rd  )r  rd  )@__doc__
__future__r   r  r   r   r)   r=   rY   r1   r  r   pathlibr   typingr   r   rx   r   r4  r3  r   r   r   r   r  r   r   r   r   r   r   r   r   r   r   r   RuntimeErrorr   r"   r'   r,   r2   rK   rU   r_   rg   r}   r   r   r   r   r   r  r   r7  rL  rR  rP  rq  r  r  r   
SystemExitr   r   r   <module>r     s|   B " F F F F F  =$8967GY@Y00IIPTUXY`UabiUiPj4	0H
L	RPS U U R8z  pr  jl  
m	  B  
C
  i  j	  \   : 0 6 bV _
H&
e9$z
YNi
@
>.]<x Zj00r   