
    zI[j                         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 dZ ed          ez  Zedz  Z	d Z
d Zd Zed	k    r e             dS dS )
    N)Pathgacmai_20260718_091744z(/data/video-pipeline/GacMaiAudio/project	artifactsc                     t          j        t          |                                                                                     S )N)hashlibsha256r   
read_bytes	hexdigest)ps    b/data/video-pipeline/GacMaiAudio/project/gacmai_20260718_091744/artifacts/scripts/promote_story.pyshar      s/    '.a!3!3!5!566@@BBB    c                     |                      | j        dz             }|                    t          j        |dd          dz              t          j        ||            d S )Nz.tmpF   )ensure_asciiindent
)with_suffixsuffix
write_textjsondumpsosreplace)r   dts      r   atomicr      s]    ==&!!!,,tz!VW/X/X/XY]/]"^"^"^_a_ijklm_n_n_n_n_nr   c                     t          t          j                  dk    rt          d          t	          t
          t          j        dd                    \  } }}t          j        |                                           }t          j        |                                          }t          j        |                                          }t          |           }t          dz  }|                                sJ t          |          }|d         t          k    r|d         |k    sJ |                    d          dk    r|                    d	          |k    r|                    d
          |k    ro|                    d          dk    rV|                    d          dk    r=d|                    dd          cxk    rdk    rn n|                    d          g k    sJ |                    d          dk    rI|                    d          |k    r0|                    d          du r|                    d          g k    sJ t          dz  }	|	                                rJ |	                    |                                            t          |	          |k    sJ t           j                            t           j        j                                                  }
dt          ||t          |          t          |          dd|d         |
d
}t+          t          dz  |           dt          |t          |          dddd|
d	}t+          t          dz  |           d D ]`}t,          |z  }t          j        |                                          }|                    d!|ddddd|
d"           t+          ||           at1          t          j        d#|t          |          |d         dd$                     d S )%N   z.usage: promote_story.py STORY VALIDATION AUDIT   zoutline_selected.json
project_idsource_outline_sha256statuspassedsource_sha256outline_sha256parts   
paragraphs   i6  
word_countr   i:  errorsverdictpassstory_sha256all_144_readTblocking_findingszstory_canonical.json)
r#   r!   r&   r/   validation_sha256audit_sha256r'   r)   r+   released_atzstory_release_receipt.jsonF)	r#   r!   r/   story_audit_sha256tts_authorizedvisual_contract_authorizedrender_authorizedpublish_authorizedauthorized_atzproduction_authorization.json)zproject.jsonzstatus.jsontts_projection)stagecanonical_story_sha256story_locked
tts_lockedvisual_spend_lockedrender_lockedpublish_locked
updated_atreleased)r#   r/   r3   r+   r6   )lensysargv
SystemExitmapr   r   loads	read_textr   AexistsPROJECTgetwrite_bytesr	   datetimenowtimezoneutc	isoformatr   ROOTupdateprintr   )spvpapsvashoutlineohdstrR   releaseauthfnr   r   s                   r   mainrf      s   MM1:&VWWW
d38ABB<
 
 Br4:bllnn#=#=
2<<>>@Z@Za]a]ghjhththvhv]w]w[\{~  @B  |C  |Cxz  LM  Ne  Le  DK  mt  m{  m{  m}  m}  f}  f}  f}  AD  EL  AM  AM  ~@	,  Q'>%?%C%C%C%C	h!!aeeO&<&<b&@&@QUUK[E\E\^`E`E`efejejkresesuwewew|}  }B  }B  CO  }P  }P  RU  }U  }U  Z_  ab  af  af  gs  tu  av  av  Z}  Z}  Z}  Z}  x}  Z}  Z}  Z}  Z}  Z}  BC  BG  BG  HP  BQ  BQ  SU  BU  BU  BU  BU	i&  QUU>%:%:B%>%>155CXCX\`C`C`efejejk~ee  BD  fD  fD  fD  fD555coobmmoo6V6V6V^abe^f^fhj^j^j^j^jow  pA  pE  pE  FN  FW  F[  p\  p\  pf  pf  ph  phkn"TVknoqkrkr  CF  GI  CJ  CJ  SU  cf  tu  vB  tC  RU  
V  
V  W]  ^_  `|  ^|  }D  WE  WE  WEgRUXY[U\U\nr  QU  jo  EJ  [^  _  _  `f  gh  iH  gH  IM  `N  `N  `N) t tRG!dj''A:Jdfv{  JO  fj  {  QU  cf  2g  2g  )h  )h  )h  io  pq  rs  it  it  it  ittzJbB]^_k]l  C  D  D  E  E  F  F  F  F  Fr   __main__)r   r   rF   rQ   r   pathlibr   rN   rV   rL   r   r   rf   __name__ r   r   <module>rk      s    # # # # # # # # # # # # # # # # # # # #       dd+U&V&VW^&^aefqaq_` B B Bo o oF F F Zr   