File size: 5,827 Bytes
1a3dda6
 
74ee21a
1a3dda6
74ee21a
1a3dda6
74ee21a
1a3dda6
 
74ee21a
1ec221d
74ee21a
1a3dda6
 
347a4d6
74ee21a
1a3dda6
74ee21a
 
 
1a3dda6
 
 
 
 
347a4d6
 
f54fafa
1a3dda6
2f1532d
a3aa614
1a3dda6
 
772a79f
 
1a3dda6
 
 
 
347a4d6
 
1a3dda6
 
 
 
 
 
772a79f
 
 
1a3dda6
 
 
 
 
74ee21a
 
 
1a3dda6
 
 
 
 
772a79f
 
 
1a3dda6
 
 
 
 
74ee21a
 
1a3dda6
 
 
 
 
 
 
 
 
 
 
 
 
772a79f
 
1a3dda6
 
 
 
 
 
 
 
 
 
 
 
 
 
772a79f
 
 
 
1a3dda6
 
 
 
 
 
 
 
 
 
 
 
 
772a79f
 
 
1a3dda6
 
 
74ee21a
 
1a3dda6
 
 
 
 
347a4d6
1a3dda6
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{
  "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
  }
}