
    D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  ee	      j                         j                  Z ed      Zedz  edz  edz  ed	z  ed
z  edz  fZdZddZddZedk(  r e e             y)zBIndependent arm-only verification; never writes profile authority.    )annotationsN)Pathz)/home/cube/.hermes/profiles/dualcoachtestzcustomers/registry.jsonz:data/onboarding/telegram-customer-bootstrap-v1/ledger.jsonzadata/customers/task26_live_2e_r2_20260815_8527916639/nutrition-onboarding/transient/workflow.jsonz:data/onboarding/telegram-publication-outbox-v1/ledger.jsonzVdata/customers/task26_live_2e_r2_20260815_8527916639/nutrition-onboarding/session.jsonz7data/telegram-ingress-receipts-v1-d0aacf0f4bdbb7c0.json@e788f5d56aef04da3097007e2ab79614f2060607d4331162169733b1208d9377c                d    t        j                  | j                               j                         S )N)hashlibsha256
read_bytes	hexdigest)paths    g.omo/evidence/task26/task26-continuous-lifecycle-observer-st_01a007da-v2-e788f5d5/independent_verify.pydigestr      s!    >>$//+,6688    c                    t         D  ci c]  } t        |       t        |        }} t        dz  }|j	                         rt        d|       t        j                  t        j                  t        t        dz        ddt        t              dt        |      gddd      }t        j                  |j                        }t         D  ci c]  } t        |       t        |        }} ||k7  rt        d	      |j                  d
      dk7  rt        d      |j                  di       j                  d      t        k7  rt        d      |j                  di       }|j                  d
      dk7  s(|j                  d      dk7  s|j                  d      dk7  rt        d      ddd|t        |      t        |d}t        dz  }|j!                  d      }		 t        j"                  ||	dd       |	j%                  d       |	j'                          |	j)                          |j+                  d       t-        t        j.                  |d              y!c c} w c c} w # |	j)                          w xY w)"Nzindependent-arm-only.jsonz'refusing to replace append-only proof: zobserver_v2.pyzarm-onlyz	--profilez--readyT)checkcapture_outputtextz3live authority changed during arm-only verificationstatusREADY_CONTINUOUS_LIFECYCLEz!arm-only did not return readinessbindings	successorzsuccessor binding mismatchinitial_handoffREADY_CUSTOMER_ONBOARDING
message_id161actionzsubmit_answer:date_of_birthzlive initial handoff driftz0task26-continuous-lifecycle-independent-proof-v2PASS_INDEPENDENT_ARM_ONLY)schemar   authority_unchangedauthority_sha256arm_only_sha256r   r   zindependent-proof.jsonx),:)	sort_keys
separators
i  )r$   r   )AUTHORITIESstrr   ROOTexistsRuntimeError
subprocessrunsys
executablePROFILEjsonloadsstdoutgetEXPECTED_SUCCESSORopendumpwriteflushclosechmodprintdumps)
r   beforearmresultdocumentafterhandoffprooftargetfds
             r   mainrG      s    2=>+$c$i%+F>
,
,C
zz|DSEJKK^^NN''(LH	
 F zz&--(H1<=SYt$E=PQQ||H!==>??||J#''48JJ788ll,b1GH!<<;;|$-;;x $AA788D-#!!#;'"E ,,F	S	B		%t
C





LL	$**Ud
+,i ?& >< 	
s   I	I:I I,__main__)r   r   returnr(   )rI   int)__doc__
__future__r   r   r1   r,   r.   pathlibr   __file__resolveparentr)   r0   r'   r5   r   rG   __name__
SystemExit r   r   <module>rT      s    H "    
 H~&&
:
;''JJijJJ^_GG	 X 95p z
TV
 r   