
    _j+                         d dl Z d dlZd dlZd dlmZmZ d dlmZ  ee                                          j	        d         Z
e
dz  Zg dZd Zd Zd	 Zd
 Zd Zedk    r e             dS dS )    N)datetimetimezone)Path   zscript/project-manifest.json)		candidateoutlinestory_brief
charactersledgeridentity_registryreveal_ledgercandidate_validationoriginality_receiptc                 r    t          j        |                                                                           S N)hashlibsha256
read_bytes	hexdigest)paths    script/freeze-run002-story.pyr   r      s(    >$//++,,66888    c                     t          j        d | D             ddd                              d          }t          j        |                                          S )Nc                 ,    i | ]}|d          |d         S )r   r    .0rows     r   
<dictcomp>z$audit_set_digest.<locals>.<dictcomp>   s"    <<<Vc(m<<<r   FT),:)ensure_ascii	sort_keys
separatorsutf-8)jsondumpsencoder   r   r   )locked_filespayloads     r   audit_set_digestr+      s`    j<<|<<<	  
 fWoo  >'"",,...r   c                    | j                             dd           |                     | j        dz             }t	          j        |dd          dz                       d          }t          |d	          5 }|                    |           |	                                 t          j        |                                           d d d            n# 1 swxY w Y   t          j        ||            d S )
NT)parentsexist_okz.partF   )r"   indent
r%   xb)parentmkdirwith_suffixsuffixr&   r'   r(   openwriteflushosfsyncfilenoreplace)r   valuepartdatahandles        r   atomic_jsonrB   %   s   KdT222DK'122DJu5;;;dBJJ7SSD	dD		 "VT
!!!" " " " " " " " " " " " " " " JtTs   7ACCCc                      t          |           r   )RuntimeError)messages    r   failrF   0   s    
w

r   c                  T   t          j        t                              d                    } |                     d          dk    s|                     d          dk    rt          d           | d         }t          |d	         z  }t          |d
         z  }|                                rt          d           |                                st          d           t          j        |                    d                    }|                    d          dk    s|                    d          durt          d           |                    d          durt          d           t          |d         z  }|                    d          t          |          k    rt          d           t          j        t          |d         z                      d                    }t          j        t          |d         z                      d                    }|                    d          dk    s|                    d          durt          d           |                    d          dk    s|                    d          durt          d           |                    d          t          |          k    s&|                    d          t          |          k    rt          d           |                    d          dk    s|                    d          dk    rt          d           g }t          D ]t          |         z  }	|	                                st          d            |
                    t          |	                    t                              |	                                j        |	                                j        t          |	          d            |                    d!i           }
d"D ]Ht!          fd#|D                       }|
                              |k    rt          d$            It#          j        t&          j                                                  }d%ddd&t          |          t-          |          |t/          |          |d	         t          |          d'd(d|d         d&d)d*|d+}t1          ||           t          j        |                    d                    }d, |d-         D             }||d-         k    st/          |          |d.         k    rt          d/           t3          t          j        d%|d         |d.         t          |          t-          |          d0d(1                     d S )2Nr%   )encoding
active_runzrun-002statusz'run-002_producer_closed_ready_to_freezez0run-002 producer close is not enabled for freezeactive_pathsproducer_closeaudit_set_lockzaudit-set lock must be virginzproducer-close receipt missingPASSverifiedTz#producer-close is not terminal PASSmanual_full_read_verifiedzmanual full read not verifiedr   candidate_sha256z#producer-close candidate hash driftr   r   z&candidate validation not terminal PASSzoriginality not terminal PASSz1candidate lineage drift in validation/originalitycorpus_project_count   semantic_architecture_verdictz'originality corpus/semantic gate failedzfreeze file missing: keyr   bytesmtime_nsr   authority_hashes)r   r	   r
   r   r   r   c              3   @   K   | ]}|d          k    |d         V  dS )rV   r   Nr   )r   r   rV   s     r   	<genexpr>zmain.<locals>.<genexpr>`   s5      SS#UsARARHARARARARSSr   z%producer-close authority hash drift: FROZENv4zqexactly nine listed files are read-only until terminal verdict; descriptor hash is distinct from audit_set_sha256F)rI   r   revision)included_in_nine_file_setrouting_fields_must_remain)rJ   rO   run_idr^   rQ   locked_file_countr)   audit_set_sha256producer_close_pathproducer_close_sha256freeze_contractmanifest_scope	frozen_atc                     g | ]{}|d          |d         t           |d         z                                  j        t           |d         z                                  j        t	          t           |d         z            d|S )rV   r   rU   )ROOTstatst_sizest_mtime_nsr   r   s     r   
<listcomp>zmain.<locals>.<listcomp>}   s     	 	 	  u:KS[(..008F+1133?TCK/00	
 	
	 	 	r   r)   rc   z#post-write freeze readback mismatch)rJ   rQ   rc   audit_lock_receipt_sha256rb   )r"   )r&   loadsMANIFEST	read_textgetrF   rj   existsr   FREEZE_KEYSappendstrrelative_tork   rl   rm   nextr   nowr   utc	isoformatlenr+   rB   printr'   )manifestactiveproducer_path	lock_pathproducercandidate_path
validationoriginalityr)   r   expected_authorityobservedrz   lockreadbackcurrentrV   s                   @r   mainr   4   s   z(,,g,>>??H||L!!Y..(,,x2H2HLu2u2u?@@@n%F6"233Mv.//I .,---!! /-...z-1171CCDDH||H''8<<
+C+C4+O+O2333||/00<<,---F;//N||&''6.+A+AAA2333TF+A$BBMMW^M__``J*dV,A%BBMMW^M__``K~~h6))Z^^J-G-Gt-S-S5666x  F**kooj.I.IQU.U.U,---~~())VN-C-CCC{WiGjGjnt  vD  oE  oE  HE  HE@AAA-.."44Hg8h8hlr8r8r6777L 
 
fSk!{{}} 	0...///((..//YY[[(		/Tll
 
 	 	 	 	 "&8"==g @ @SSSSSSSSS!!#&&(22>>>???
,x|
$
$
.
.
0
0C">22 ..$,\::%&67!'!6!6 O).'#K0 + +
 
 ) D, 	4   z)--w-??@@H	 	 N+	 	 	G (>***.>w.G.G8TfKg.g.g2333	$* !34 !34%+I%6%6 ..         r   __main__)r   r&   r:   r   r   pathlibr   __file__resolver-   rj   rq   ru   r   r+   rB   rF   r   __name__r   r   r   <module>r      s      				 ' ' ' ' ' ' ' '      tH~~'*00
 
 
9 9 9/ / /       [ [ [| zDFFFFF r   