Spaces:
Sleeping
Sleeping
| { | |
| "schema": "proofframe.final_launch_plan.v1", | |
| "created_at": "2026-07-03T10:37:59Z", | |
| "ok": false, | |
| "mode": "ready_for_public_video", | |
| "repo_root": "/Users/junhaocheng/working-dir/ai-competitions/backblaze-proofframe", | |
| "current_phase": "public_video", | |
| "summary": { | |
| "total": 6, | |
| "done": 3, | |
| "ready": 1, | |
| "blocked": 2 | |
| }, | |
| "task_statuses": { | |
| "T020": "done", | |
| "T021": "done", | |
| "T040": "done", | |
| "T041": "blocked", | |
| "T041A": "blocked", | |
| "T042": "blocked" | |
| }, | |
| "phases": [ | |
| { | |
| "id": "credential_entry", | |
| "title": "Enter final credentials locally", | |
| "status": "done", | |
| "detail": "Live credential handoff is complete; no missing ids remain.", | |
| "command": "python scripts/final_env_wizard.py --output .env.final.local --missing-only --force", | |
| "expected_artifacts": [ | |
| "docs/assets/b2-key-scope-checklist.md reviewed before key creation", | |
| "B2 pre-key confirmation phrase recorded without secrets: I confirm ProofFrame B2 key scope: standard key, bucket proofframe-demo-a6b4e49, prefix campaigns/, no all-bucket access, no delete/admin permissions, and no secrets in chat/docs/git.", | |
| ".env.final.local (git-ignored, never committed)" | |
| ], | |
| "safe_to_commit_after_scan": [], | |
| "task_updates_after_success": [] | |
| }, | |
| { | |
| "id": "b2_live_proof", | |
| "title": "Capture Backblaze B2 live proof", | |
| "status": "done", | |
| "detail": "Sanitized B2 evidence is present and T020 is done.", | |
| "command": "python scripts/run_b2_live_proof.py --env-file .env.final.local --evidence-out docs/assets/b2-live-proof-evidence.json", | |
| "expected_artifacts": [ | |
| "docs/assets/b2-live-proof-evidence.json" | |
| ], | |
| "safe_to_commit_after_scan": [ | |
| "docs/assets/b2-live-proof-evidence.json" | |
| ], | |
| "task_updates_after_success": [ | |
| "python3 scripts/task.py done T020 --note \"B2 live proof evidence captured in docs/assets/b2-live-proof-evidence.json.\"" | |
| ] | |
| }, | |
| { | |
| "id": "genblaze_live_proof", | |
| "title": "Capture final B2 plus Genblaze proof", | |
| "status": "done", | |
| "detail": "Sanitized final B2 plus Genblaze evidence is present and T021 is done.", | |
| "command": "python scripts/run_final_live_proof.py --env-file .env.final.local --genblaze-provider local --genblaze-image-model local-svg-v1 --evidence-out docs/assets/final-live-proof-evidence.json", | |
| "expected_artifacts": [ | |
| "docs/assets/final-live-proof-evidence.json" | |
| ], | |
| "safe_to_commit_after_scan": [ | |
| "docs/assets/final-live-proof-evidence.json" | |
| ], | |
| "task_updates_after_success": [ | |
| "python3 scripts/task.py done T021 --note \"Final B2 plus Genblaze live proof evidence captured in docs/assets/final-live-proof-evidence.json.\"" | |
| ] | |
| }, | |
| { | |
| "id": "public_video", | |
| "title": "Record and verify public demo video", | |
| "status": "ready", | |
| "detail": "Record and upload the public demo after live proof evidence exists.", | |
| "command": "python scripts/devpost_packet.py --post-live --video-url \"$PROOFFRAME_PUBLIC_VIDEO_URL\"", | |
| "expected_artifacts": [ | |
| "public demo video URL", | |
| "docs/assets/devpost-submission-packet.json", | |
| "docs/assets/devpost-form-kit.json", | |
| "docs/assets/demo-storyboard.json", | |
| "docs/assets/recording-assets.json" | |
| ], | |
| "safe_to_commit_after_scan": [ | |
| "docs/assets/devpost-submission-packet.json", | |
| "docs/assets/devpost-form-kit.json", | |
| "docs/assets/demo-storyboard.json", | |
| "docs/assets/recording-assets.json" | |
| ], | |
| "task_updates_after_success": [] | |
| }, | |
| { | |
| "id": "final_safety_audit", | |
| "title": "Run final secret scan and submission audit", | |
| "status": "blocked", | |
| "detail": "Waiting on final public video.", | |
| "command": "python scripts/secret_scan.py && python scripts/submission_audit.py --strict-final", | |
| "expected_artifacts": [ | |
| "docs/assets/secret-scan-report.json", | |
| "docs/assets/submission-audit-report.json" | |
| ], | |
| "safe_to_commit_after_scan": [ | |
| "docs/assets/secret-scan-report.json", | |
| "docs/assets/submission-audit-report.json" | |
| ], | |
| "task_updates_after_success": [ | |
| "python3 scripts/task.py done T041A --note \"Final secret scan clear after live proof and public video.\"", | |
| "python3 scripts/task.py done T041 --note \"Final submission audit passed after live proof and public video.\"" | |
| ] | |
| }, | |
| { | |
| "id": "devpost_submit", | |
| "title": "Submit Devpost and capture receipt", | |
| "status": "blocked", | |
| "detail": "Waiting on all pre-submit gates.", | |
| "command": "python scripts/devpost_submission_receipt.py --project-url \"$PROOFFRAME_DEVPOST_PROJECT_URL\" --submitted-at \"$PROOFFRAME_DEVPOST_SUBMITTED_AT\" --confirmation-note \"Devpost accepted/submitted the ProofFrame project.\"", | |
| "expected_artifacts": [ | |
| "docs/assets/devpost-submission-receipt.json" | |
| ], | |
| "safe_to_commit_after_scan": [ | |
| "docs/assets/devpost-submission-receipt.json" | |
| ], | |
| "task_updates_after_success": [ | |
| "python3 scripts/task.py done T042 --note \"Devpost project submitted and public receipt captured.\"" | |
| ] | |
| } | |
| ], | |
| "next_command": "python scripts/devpost_packet.py --post-live --video-url \"$PROOFFRAME_PUBLIC_VIDEO_URL\"", | |
| "next_detail": "Record and upload the public demo after live proof evidence exists.", | |
| "safety_policy": { | |
| "no_secret_values_in_report": true, | |
| "never_commit": [ | |
| ".env.final.local", | |
| "Backblaze key IDs or application keys", | |
| "Genblaze provider API keys", | |
| "Devpost cookies or browser session files", | |
| "raw signed URLs or provider temporary URLs" | |
| ], | |
| "source_env_files": false | |
| } | |
| } | |