
    j                       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 ZddZy)    )annotationsN)Path)Any
continuous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     n.omo/evidence/task26/task26-continuous-lifecycle-observer-st_01a007da-v2-e788f5d5/test_continuous_lifecycle.pybaser0      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                  dk(  sJ t         j                  dk(  sJ t         j                  dk(  sJ y )NREADY_CUSTOMER_ONBOARDING161zsubmit_answer:date_of_birth@e788f5d56aef04da3097007e2ab79614f2060607d4331162169733b1208d9377@a113a57564a11710dffd238688dd73f8037eabaed0b48532b4bc90b2996e69fc@2fbd6c9ad9d4b5ee979e7671d44e32fd4769e8737e26d7459fe73c81a525c656)	r)   classifyr0   statusr   action	SUCCESSORCOREWHEEL)ps    r/   )test_current_prompt_and_successor_bindingr>   >   s    	

46A882222<<5   884444	M	N	N 66WWWW77XXXXr.   c                     t         j                  dz  dz  j                         } t         dz  j                         }|j                  t        j
                  d      | k(  sJ y )Nz3task26-continuous-lifecycle-observer-st_01a007da-v1r   @30bcd6633875050aa4f56f49a8bb26cd616ffa2409fc04caef523a8a62d5d1cc)HEREparent	read_textreplacer)   r:   )v1v2s     r/   ?test_v2_observer_differs_from_v1_only_by_full_candidate_bindingrG   K   sh    
?	@
#	$ ik	 
 *
*	5	5	7B


KKN	
 			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)r0   updatedictr)   r7   r8   r   r9   
startswithOWNERactorsr=   s     r/   1test_onboarding_handoffs_learn_committed_messagesr^   [   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readyrJ   r      r   r   r          r   rM   r!   rN   rT   r   rU   !READY_OPERATOR_ACTIVATION_CUTOVERz--bootstrap-session z--expected-generation 5z<CHECKLIST_EVIDENCE>)	r0   rW   rX   r)   rZ   r7   r8   r*   commandr\   s     r/   ,test_ready_emits_exact_operator_cutover_gaterf   |   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)rp   ro   rq   WAIT_AUTOMATIC_GENERATIONtok1	generated)tokencustomer_keyr   r   r   r$   	published210)user_idchat_idtopic_id)ry   r   r   destinationr   r%   draft1created)rz   r   r8   r&   READY_OWNER_DRAFT_REVIEWapprovedr8   READY_OWNER_EXPLICIT_SENDdsent_audited220)rz   r   draft_idr8   r   provider_chat_idprovider_topic_idr'   READY_OPERATOR_DISABLEFREADY_CLEANUP_HANDOFF)	r0   r)   r7   r8   r,   rW   KEYrZ   r   r\   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   )r0   jsonloadsdumpsr)   validate_transitionpytestraisesLifecycleErrorappendrX   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.jsonlr8   ABi  0o600r   previous_event_sha256r   event_sha256)	r)   append_eventoctstatst_moderC   
splitlinesr   r   )tmp_pathr=   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__rB   rA   utilspec_from_file_locationSPECloadermodule_from_specr)   modulesnameexec_moduler0   r>   rG   r^   rf   r   r   r   r-   r.   r/   <module>r      s    "   
   H~~~--$22  NN##D)DII     'T
Y B/08;v!$Gr.   