
    
jQ                       d dl mZ d dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
Z
 ee      j                  Zej                  j                  dedz        Zerej"                  sJ ej                  j%                  e      Zeej(                  ej*                  <   ej"                  j-                  e       ddZd Zd	 Zd
 Zd Zd ZddZy)    )annotationsN)Path)Any
continuouszcontinuous_lifecycle.pyc                    ddt         j                  t         j                  ddt         j                  t         j                  dgdddi d	gd
dddddidt         j                  ddddt         j                  dgddidgg d g g i i g dS )NAWAITING_ACTIVATION   )state
generation
session_idsid_hashF0)enabledroute
collectingr      r
   cursoranswersconsumed_updates	COMMITTED   r
   )r   r
   
message_idpayloadcustomer)r   r   r
   r   roler   r   )	bootstrapr   workflowpublicationoutboxowner_callbackswizardgenerationscardsdrafts
deliveries
activation)mSESSIONSIDCUSTOMER     e.omo/evidence/task26/task26-continuous-lifecycle-observer-st_01a007da-v1/test_continuous_lifecycle.pybaser/      s     +))	
 !&QZZ0MN!!$	
  .	
  ii$!"**c*#\2

 K& &r-   c                     t         j                  t                     } | j                  dk(  sJ | j                  dk(  sJ | j
                  dk(  sJ t         j                  j                  d      sJ y )NREADY_CUSTOMER_ONBOARDING161zsubmit_answer:date_of_birth30bcd663)r(   classifyr/   statusr   action	SUCCESSOR
startswith)ps    r.   )test_current_prompt_and_successor_bindingr:   >   sb    	

46A882222<<5   884444;;!!*---r-   c            	        t               } | d   j                  dd       | d   j                  ddddi	       t        | d
   d   ddddi	      | d
   d<   t        j	                  |       }|j
                  dk(  sJ |j                  dk(  sJ |j                  j                  d      sJ d| d   d<   | d   j                  ddddi	       t        | d
   d   dddt        j                  dgddi      | d
   d<   t        j	                  |       }|j
                  dk(  sJ |j                  t        j                  k(  sJ y )Nr   customer_attestation   )r
   r   r         r
   r   r   r   r    READY_CUSTOMER_ATTEST190znon2:attest:23:owner_review      ownerr   r   r   r   r   r   READY_OWNER_ONBOARDING_APPROVE)r/   updatedictr(   r4   r5   r   r6   r8   OWNERactorsr9   s     r.   1test_onboarding_handoffs_learn_committed_messagesrP   F   sf   AjM5bAm#9O/P   	(B01	AhKO 	


1A88....<<5   880111+AjM'm#/H   	(Bwwn.)AhKO 	


1A88777777aggr-   c            	        t               } ddi ddgd| d<   | d   j                  dd	d
di       t        | d   d   dd	dt        j                  dgd
di      | d   d<   t        j                  |       }|j                  dk(  sJ dt        j                  z   |j                  v sJ d|j                  v sJ d|j                  v sJ y )Nreadyr=   r      r   r   r         r
   r@   r    rA   rG   r   rH   !READY_OPERATOR_ACTIVATION_CUTOVERz--bootstrap-session z--expected-generation 5z<CHECKLIST_EVIDENCE>)	r/   rJ   rK   r(   rL   r4   r5   r)   commandrN   s     r.   ,test_ready_emits_exact_operator_cutover_gaterX   g   s    A #J	AjM mrcGWCUV	(Bwwn'"AhKO 	


1A88::::!AII-:::$		111!QYY...r-   c            	        t               } d| d   d<   d| d   d<   d| d   d<   t        j                  |       j                  d	k(  sJ d
dddt        j                  dgd d| d<   t        j                  |       j                  dk(  sJ | d   j                  ddd       t        j                  |       j                  dk(  sJ dt        j                  d
dddg| d<   dddt        j                  t        j                  ddddg| d<   d t        j                  d
d!d"i| d#<   t        j                  |       }|j                  d$k(  sJ |j                  dk(  sJ d%| d#   d    d&<   t        j                  |       j                  d'k(  sJ d(t        j                  d
d d)d*t        j                  dd+i| d,<   t        j                  |       j                  d-k(  sJ d.| d   d<   t        j                  |       j                  d/k(  sJ y )0NACTIVEr   r
      r   Tr   r   READY_CUSTOMER_START_CHECKINwiz1   calories201r   )r   versionstepr   r   finalized_event_idr"   READY_CUSTOMER_CHECKIN_ANSWERsummary   evt1)rb   ra   rc   WAIT_AUTOMATIC_GENERATIONtok1	generated)tokencustomer_keyr   r
   r   r#   	published210)user_idchat_idtopic_id)rk   r
   r   destinationr   r$   draft1created)rl   r   r5   r%   READY_OWNER_DRAFT_REVIEWapprovedr5   READY_OWNER_EXPLICIT_SENDdsent_audited220)rl   r   draft_idr5   r   provider_chat_idprovider_topic_idr&   READY_OPERATOR_DISABLEFREADY_CLEANUP_HANDOFF)	r/   r(   r4   r5   r+   rJ   KEYrL   r   rN   s     r.   6test_active_checkin_generation_review_delivery_cleanupr      s   A&AkN7#$AkN< #AjM)::a=#AAAA**c""AhK ::a=#BBBBhKIrfM::a=#>>>> EE  	
Am  '(ww177PST	
AgJ 	155)TAhK 	


1A881111<<5   &0AhK(#::a=#>>>>EE  $ !

!$

AlO ::a=#;;;;$AjM)::a=#::::r-   c                    t               } t        j                  t        j                  |             }d|d   d<   d|d   d<   t        j                  | |       t        j                  t        j                        5  t        j                  ||        d d d        t        j                  t        j                  |            }|d   j                  t        |d   d                t        j                  t        j                        5  t        j                  |       d d d        t        j                  t        j                  |            }dd	g|d   d   d
<   t        j                  t        j                        5  t        j                  |       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)N   r   r   r   r   r    r   9r   r   )r/   jsonloadsdumpsr(   validate_transitionpytestraisesLifecycleErrorappendrK   validate_snapshot)abbads      r.   8test_monotonic_guard_rejects_stale_duplicate_wrong_router      s>   A

4::a=!AAjM(%&Am\"!Q	q''	(	a# 
)
**TZZ]
#CMc(mA./0	q''	(	C  
)
**TZZ]
#C!$c
CM!W	q''	(	C  
)	( 
)	( 
)	( 
)	(s$   <F	F+?F7F(+F47G c                p   | dz  }t         j                  |ddi       t         j                  |ddi       t        |j                         j                  dz        dk(  sJ |j                         j                         D cg c]  }t        j                  |       }}|d   d   |d	   d
   k(  sJ y c c}w )Nzevents.jsonlr5   ABi  0o600r   previous_event_sha256r   event_sha256)	r(   append_eventoctstatst_mode	read_text
splitlinesr   r   )tmp_pathr9   xrowss       r.   .test_append_ledger_is_private_and_hash_chainedr      s    >!ANN1xo&NN1xo&qvvx%'(G333#$;;=#;#;#=>#=aDJJqM#=D>7*+tAw~/FFFF ?s   B3)returnzdict[str, Any])r   r   )
__future__r   importlib.util	importlibr   syspathlibr   typingr   r   __file__parentHEREutilspec_from_file_locationSPECloadermodule_from_specr(   modulesnameexec_moduler/   r:   rP   rX   r   r   r   r,   r-   r.   <module>r      s    "   
   H~~~--$22  NN##D)DII     'T.B/08;v!$Gr-   