
    7q]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        d         Zedz  ZdZdZddZddZ
ddZddZedk    r ej         e                       dS dS )    )annotationsN)Path   zscript/project-manifest.jsoni      pathr   returnstrc                   t          j                    }|                     d          5 t          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                 .                          d          S )Ni   )read)handles   script/wait-story-close.py<lambda>zsha256.<locals>.<lambda>   s    &++o">">     r   )hashlibsha256openiterupdate	hexdigest)r   digestchunkr   s      @r   r   r      s    ^F	4 !F>>>>DD 	! 	!EMM%    	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s   ,A##A'*A'rootvaluec                    t          |          }|                                s| |z  }|                                                    |                                            |S )N)r   is_absoluteresolverelative_to)r   r   r   s      r   r   r      sS    ;;D d{LLNNt||~~...Kr   messageintc                X    t          t          j        dd| dd          d           dS )NfailedF)statusverifiederrorensure_asciiTflushr   )printjsondumps)r    s    r   failr.   !   s5    	$*egNN]b
c
c
ckopppp1r   c                 d	   t          j                    } t          j        t                              d                    }|                    d          pi }|                    d          pi }t          t          |d                   }t          t          |d                   }|	                                s[t          j                    | z
  t          k    rt          d          S t          j        t                     |	                                [	 t          j        |                    d                    }n># t          $ r1}t          dt          |          j         d	|           cY d }~S d }~ww xY w|                    d
          dk    s|                    d          durt          d          S |	                                st          d          S t#          |          }|                                j        }	|                    d          |k    s-|                    d|                    d                    |	k    rt          d          S t          j        t                              d                    }
|
                    d          pi                     d          |                    d          k    rt          d          S |                    d          pi }|                                D ]n\  }}t          t          |d                   }|	                                r&t#          |          |                    d          k    rt          d|           c S ot*          j        dgt*          j        dgt*          j        dgg}g }|D ]}t/          j        |t          dd          }|                    d                    |          |j        |j                                        |j                                        d           |j        d k    rGt?          t          j         d!d"|d                    |          |d#d"$          d%           |j        c S t?          t          j         dd||	|                    d&          |d'd"$          d%           d S )(Nzutf-8)encoding	story_runactive_pathsproducer_close_receipt	candidatezproducer-close wait timed outzproducer-close is unreadable: z: r$   	completedwriter_closedTzproducer-close is not terminalz)candidate is missing after producer-closecandidate_sha256bytes
byte_countz,candidate differs from producer-close markerrun_idz&active story run changed while waitingauthority_hashesr   r   zauthority drift detected: zscript/validate-candidate.pyzscript/run-originality.pyz script/check-semantic-markers.py)cwdtextcapture_output )command	exit_codestdoutstderrr   r#   F)r$   r%   r7   failed_commandresultsr'   r)   
word_count)r$   r%   r7   candidate_bytesrF   rE   )!time	monotonicr,   loadsMANIFEST	read_textgetr   ROOTis_fileTIMEOUT_SECONDSr.   sleepPOLL_SECONDS	Exceptiontype__name__r   statst_sizeitemssys
executable
subprocessrunappendjoin
returncoderB   striprC   r+   r-   )startedinitialr\   active
close_pathcandidate_pathcloseexcobserved_hashobserved_bytescurrentlockedkeyrecordr   commandsrE   r@   r5   s                      r   mainro   &   s   nGj++W+==>>G
++k
"
"
(bC[[((.BFv&>?@@JT6+#677N  "" !>g%887888
<      "" !
R
:///AABB R R RPT#YY5GPP3PPQQQQQQQQRyyk))UYY-G-Gt-S-S4555!!## A?@@@>**M#((**2Nyy#$$557EIIVbLcLc9d9dhv9v9vBCCCj++W+==>>GK  &B++H559J9JJJ<===WW'((.BF||~~ < <VtVF^,,||~~ 	<H1E1E!E!E:S::;;;;; "F 
78	45	;<H
 G ( (N74PTUUU	xx(("-&,,..&,,..	
 
 	 	 	 1$$$*"!$1"%((7"3"3"  "# # # +/0 0 0 0 '''' % 
$*))ii--     #'( ( ( ( 1s   (D> >
E9&E4.E94E9__main__)r   r   r   r	   )r   r   r   r	   r   r   )r    r	   r   r!   )r   r!   )
__future__r   r   r,   r[   rY   rH   pathlibr   __file__r   parentsrN   rK   rP   rR   r   r.   ro   rU   exit r   r   <module>rw      s   " " " " " "       



       tH~~'*00         
C C C CL zCHTTVV r   