""" Generate a single launch-status snapshot for quick operator checks. """ from pathlib import Path from datetime import datetime, timezone def has(path, token=None): p=Path(path) if not p.exists(): return False if token is None: return True txt=p.read_text(encoding='utf-8', errors='ignore') return token in txt def main(): ts=datetime.now(timezone.utc).strftime('%Y-%m-%d %H:%M UTC') checks=[ ('Ready signal is READY', has('docs/RELEASE_READY_SIGNAL.md','SIGNAL: READY')), ('Final RC exists', has('docs/FINAL_RELEASE_CANDIDATE.md')), ('Release dashboard exists', has('docs/RELEASE_DASHBOARD.md')), ('Space smoke test exists', has('docs/SPACE_SMOKE_TEST.md')), ('Release-ready badge exists', has('assets/badge_release_ready.svg')), ] ok=sum(int(v) for _,v in checks) total=len(checks) lines=['# Launch Status','',f'Generated: {ts}','','| Check | Status |','|---|---|'] for k,v in checks: lines.append(f'| {k} | {"✅" if v else "❌"} |') lines += ['', f'**Launch status:** {ok}/{total}', f'**State:** {"GREEN" if ok==total else "YELLOW"}'] out=Path('docs/LAUNCH_STATUS.md') out.write_text('\n'.join(lines)+'\n', encoding='utf-8') print(f'Generated {out}') if __name__=='__main__': main()