backblaze-proofframe / tasks.json
ADJCJH's picture
Sync post-live local Genblaze proof evidence
74ee21a verified
Raw
History Blame Contribute Delete
73.1 kB
{
"project": "ProofFrame",
"updated_at": "2026-07-03T10:38:20Z",
"tasks": [
{
"id": "T001",
"title": "Select target hackathon and record decision evidence",
"phase": "P0 Foundation",
"owner": "controller",
"status": "done",
"done_criteria": "docs/research.md names the selected event, alternatives, evidence, and deadlines.",
"notes": "Selected Backblaze Generative Media Hackathon."
},
{
"id": "T002",
"title": "Create independent project repo and branch",
"phase": "P0 Foundation",
"owner": "controller",
"status": "done",
"done_criteria": "Git repo exists inside current directory on feature/backblaze-proofframe.",
"notes": "Avoids parent /Users/junhaocheng dirty tree."
},
{
"id": "T003",
"title": "Write PRD, technical spec, submission plan, and task board",
"phase": "P0 Foundation",
"owner": "controller",
"status": "done",
"done_criteria": "docs/prd.md, docs/spec.md, docs/submission.md, docs/todo.md, and tasks.json exist.",
"notes": "Foundation docs created"
},
{
"id": "T004",
"title": "Create Agent Bus team and attach at least one active role",
"phase": "P0 Foundation",
"owner": "controller",
"status": "done",
"done_criteria": "Team id and attached role are recorded in AGENTS.md.",
"notes": "Team proofframe-hackathon-58c62c50; scout attached."
},
{
"id": "T005",
"title": "Create GitHub repository and push foundation commit",
"phase": "P0 Foundation",
"owner": "controller",
"status": "done",
"done_criteria": "Remote origin exists and feature/backblaze-proofframe is pushed.",
"notes": "GitHub repo https://github.com/adjcjh777/backblaze-proofframe created and branch pushed"
},
{
"id": "T006",
"title": "Implement task ledger CLI",
"phase": "P0 Foundation",
"owner": "controller",
"status": "done",
"done_criteria": "scripts/task.py can list, show, mark done, and block tasks.",
"notes": "Task CLI supports list/show/status updates"
},
{
"id": "T010",
"title": "Build local FastAPI skeleton",
"phase": "P1 MVP",
"owner": "executor",
"status": "done",
"done_criteria": "GET /api/health returns app, storage, and generation readiness.",
"notes": "FastAPI app exposes /api/health and campaign flow"
},
{
"id": "T011",
"title": "Implement manifest model and checksum utility",
"phase": "P1 MVP",
"owner": "executor",
"status": "done",
"done_criteria": "Unit tests cover manifest output and deterministic checksums.",
"notes": "Manifest and checksum utilities implemented with tests"
},
{
"id": "T012",
"title": "Implement mock media provider",
"phase": "P1 MVP",
"owner": "executor",
"status": "done",
"done_criteria": "Mock provider creates deterministic sample assets without network calls.",
"notes": "Deterministic mock SVG provider implemented"
},
{
"id": "T013",
"title": "Implement local storage backend",
"phase": "P1 MVP",
"owner": "executor",
"status": "done",
"done_criteria": "Assets and manifests write under var/storage and are retrievable.",
"notes": "Local storage backend writes assets under var/storage"
},
{
"id": "T014",
"title": "Create first browser UI",
"phase": "P1 MVP",
"owner": "executor",
"status": "done",
"done_criteria": "apps/web/index.html presents brief intake, asset review, manifest panel, and Deerflow signature.",
"notes": "Implemented apps/web/index.html and served it from FastAPI root"
},
{
"id": "T015",
"title": "Choose UI visual direction",
"phase": "P1 MVP",
"owner": "controller",
"status": "done",
"done_criteria": "User chooses option 1 Archive Desk, option 2 Signal Lab, option 3 Proof Ledger, or requests a remix.",
"notes": "Controller selected Option 3 Proof Ledger for award-focused provenance story"
},
{
"id": "T020",
"title": "Integrate Backblaze B2-compatible storage",
"phase": "P2 Integrations",
"owner": "executor",
"status": "done",
"done_criteria": "B2 backend stores an asset and manifest using env-only credentials.",
"notes": "B2 live proof passed with scoped standard key against bucket proofframe-demo-a6b4e49 and prefix campaigns/; sanitized B2 evidence is saved at docs/assets/b2-live-proof-evidence.json, and the later final proof also stores Genblaze local-provider assets/manifests in B2."
},
{
"id": "T021",
"title": "Integrate Genblaze-compatible generation",
"phase": "P2 Integrations",
"owner": "executor",
"status": "done",
"done_criteria": "Generation adapter records provider/model metadata and fails closed without config.",
"notes": "Final B2 plus Genblaze live proof passed through the credential-free local Genblaze Pipeline provider; sanitized evidence is saved at docs/assets/final-live-proof-evidence.json with asset_provider=genblaze/local-image, storage_backend=b2, checksums, and B2 object keys."
},
{
"id": "T084",
"title": "Add Genblaze B2 sink contract path",
"phase": "P2 Integrations",
"owner": "executor",
"status": "done",
"done_criteria": "",
"notes": "Genblaze provider now uses official ObjectStorageSink plus S3StorageBackend.for_backblaze in final B2 mode; preflight checks genblaze_s3 and B2 region."
},
{
"id": "T085",
"title": "Add Genblaze SDK contract check",
"phase": "P2 Integrations",
"owner": "tester",
"status": "done",
"done_criteria": "",
"notes": "Added no-secret Genblaze/B2 SDK import and signature contract report, CI step, submission bundle artifact, and public sync required artifact coverage."
},
{
"id": "T086",
"title": "Add Docker smoke and build-context secret guard",
"phase": "P3 Public Demo",
"owner": "tester",
"status": "done",
"done_criteria": "",
"notes": "Added .dockerignore, Docker build/run/API smoke report, CI step, submission bundle artifact coverage, and evidence-backed submission checklist updates."
},
{
"id": "T087",
"title": "Add final closeout status control report",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "",
"notes": "Added final_closeout_status.py, report outputs, CI step, submission bundle coverage, and evidence/verification docs so final proof/video/Devpost/receipt gates are visible in one no-secret closeout report."
},
{
"id": "T088",
"title": "Expose final closeout status in public evidence",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "",
"notes": "Added final closeout status to the public judge evidence index and public Space sync validation so the no-secret final blocker ledger is publicly visible and fail-closed."
},
{
"id": "T089",
"title": "Harden final closeout review findings",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "",
"notes": "Addressed read-only review findings: final_closeout_status accepts real live_env_handoff output, directly requires T020/T021 done with live evidence, public sync/evidence index verify raw closeout status, and submission_bundle strict closeout now requires a fresh final closeout report without circular gating."
},
{
"id": "T090",
"title": "Expose final closeout in judge UI and API",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "",
"notes": "Added /api/judge/final-closeout, judge-mode Final Closeout panel/link, API smoke coverage, and public Space HTML marker validation so the no-secret blocker ledger is visible in the product UI as well as raw evidence."
},
{
"id": "T091",
"title": "Harden final closeout public sync for final-ready state",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "",
"notes": "Addressed independent reviewer finding: public Space sync now accepts both pre-final fail-closed and final_closeout_ready all-green status, validates /api/judge/final-closeout against raw closeout evidence, API smoke enforces required gates/secret policy, and the UI always shows the next command."
},
{
"id": "T092",
"title": "Refresh no-secret live credential handoff from local env",
"phase": "P4 Submit",
"owner": "controller",
"status": "done",
"done_criteria": "",
"notes": "Generated docs/assets/live-credential-handoff.* from .env.final.local without printing values; non-secret B2 bucket/endpoint and backend modes are present, and remaining secret blockers are narrowed to b2_key_id, b2_application_key, and genblaze_api_key."
},
{
"id": "T093",
"title": "Harden final env readiness preflight",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "",
"notes": "final_env_wizard.py --check-only now reports git-ignore status, .env.final.local presence, chmod 0600 status, missing required names, placeholder names, B2 region derivation, and ready_for_live_entry without printing credential values; B2_APP_KEY is accepted and mirrored as a B2_APPLICATION_KEY alias."
},
{
"id": "T094",
"title": "Refresh final rehearsal checklist from current credential handoff",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Final rehearsal checklist must be regenerated from the current operator brief and show only the three expected secret blockers before live credential entry.",
"notes": "Regenerated docs/assets/final-rehearsal-checklist.* after the live credential handoff narrowed blockers to b2_key_id, b2_application_key, and genblaze_api_key; strict rehearsal gate now passes."
},
{
"id": "T095",
"title": "Refresh public Space sync evidence after final rehearsal",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "Public Space sync report must pass against the live HF Space and downstream final rehearsal/bundle evidence must be regenerated without changing safe_to_submit=false.",
"notes": "Verified live public Space sync after final rehearsal refresh; runtime d598e496 is RUNNING and final closeout raw/API checks pass, then regenerated downstream final evidence reports."
},
{
"id": "T096",
"title": "Refresh official Devpost event snapshot",
"phase": "P4 Submit",
"owner": "scout",
"status": "done",
"done_criteria": "Official Devpost overview and rules pages must be fetched live, submission must be open, requirements and judging criteria must validate, and downstream submission evidence must use the refreshed participant count.",
"notes": "Fetched official Devpost overview and rules on 2026-06-30; snapshot validation passed, submission remains open, and observed participant count is now 404 with dynamic-count recheck warning preserved."
},
{
"id": "T097",
"title": "Sync public Space after Devpost event refresh",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "HF Space must run the refreshed Devpost event snapshot, public_space_sync must pass with no failed checks, public API smoke must pass, and downstream bundle evidence must record the new runtime without marking submission ready.",
"notes": "Uploaded HF Space commit eab3ee62e8d7a21f8f2542d5b4d38675270619ab after refreshing Devpost evidence; raw Devpost snapshot and final control now report 404 participants, public_space_sync passes with no failed checks after runtime reached RUNNING, public API smoke remains local/mock fail-closed."
},
{
"id": "T098",
"title": "Add no-secret public Space upload helper",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "A repeatable dry-run-first HF Space upload helper excludes local secrets, supports explicit execute, probes raw .env.final.local after upload, is tested, documented, and included in the submission bundle.",
"notes": "Closes the half-finished public upload workflow without changing the final live-proof blockers."
},
{
"id": "T099",
"title": "Sync public Space with upload helper",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "The no-secret public Space upload helper runs with --execute, publishes the latest repo to Hugging Face Space, confirms raw .env.final.local is not public, public_space_sync passes on the new runtime sha, public API smoke passes, and final readiness remains fail-closed.",
"notes": "Uploaded through the no-secret helper; included_sensitive=[], raw .env.final.local probe OK, public_space_sync and public API smoke passed. Current HF runtime sha is tracked in docs/assets/public-space-sync-report.json."
},
{
"id": "T100",
"title": "Use portable post-credential proof commands",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "The post-credential live proof plan stores public-safe, repo-relative command strings while preserving executable argv semantics and public sync validation.",
"notes": "Post-credential plan now renders commands as python scripts/... without local absolute paths; tests cover command/argv output and no /Users path leakage."
},
{
"id": "T101",
"title": "Add public sync waits to final handoff",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "Final operator actions include public Space upload, waited public sync, and public API smoke after live proof and after final receipt, and public_space_sync supports wait attempts for HF runtime rollout.",
"notes": "Added --wait-attempts/--wait-seconds to public_space_sync and wired public upload/sync/smoke into final operator actions."
},
{
"id": "T030",
"title": "Run browser smoke test",
"phase": "P3 Polish",
"owner": "tester",
"status": "done",
"done_criteria": "Smoke creates a campaign, generates assets, approves one, and exports manifest.",
"notes": "Chrome smoke passed: create campaign, generate assets, approve one, export manifest"
},
{
"id": "T031",
"title": "Prepare demo video script and screenshots",
"phase": "P3 Polish",
"owner": "planner",
"status": "done",
"done_criteria": "docs/demo_script.md and screenshots are ready for Devpost.",
"notes": "Demo script and local UI smoke screenshot prepared."
},
{
"id": "T032",
"title": "Prepare pre-live submission evidence package",
"phase": "P3 Polish",
"owner": "planner",
"status": "done",
"done_criteria": "Pre-live evidence package includes app URL or Docker path, screenshots, repo URL, AI provider/model list, and explicit placeholders/gates for final video, B2 proof, and Genblaze proof.",
"notes": "Pre-live submission evidence package and Devpost copy bank are prepared; final video plus B2/Genblaze proofs remain gated by T020/T021 and final submission tasks."
},
{
"id": "T033",
"title": "Run public-claim freeze",
"phase": "P3 Polish",
"owner": "reviewer",
"status": "done",
"done_criteria": "Public README, Devpost text, demo script, and screenshots make only verified B2/Genblaze claims.",
"notes": "Public claim freeze doc added and README/PRD/research copy aligned to verified-vs-final-gate language."
},
{
"id": "T034",
"title": "Prepare verification scripts and Docker smoke path",
"phase": "P3 Polish",
"owner": "tester",
"status": "done",
"done_criteria": "API smoke, secret scan, Dockerfile, and verification runbook support repeatable local/Docker/live proof checks.",
"notes": "Added scripts/api_smoke.py, scripts/secret_scan.py, docs/verification.md, and fixed Docker frontend copy."
},
{
"id": "T035",
"title": "Add GitHub CI verification gate",
"phase": "P3 Polish",
"owner": "tester",
"status": "done",
"done_criteria": "GitHub Actions runs readiness, lint, tests, and secret scan on feature branches and pull requests.",
"notes": "Added .github/workflows/ci.yml for non-secret public verification."
},
{
"id": "T036",
"title": "Add downloadable evidence packet",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "Local demo can download a ZIP containing manifest, README, and available media files.",
"notes": "Added /api/campaigns/{id}/packet.zip and Download ZIP UI action."
},
{
"id": "T037",
"title": "Add one-click judge demo packet",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "UI and API can create a complete judge-ready local packet without manual form entry.",
"notes": "Added /api/demo/judge-packet, Judge Demo UI action, tests, and smoke coverage."
},
{
"id": "T038",
"title": "Prepare copy-ready Devpost draft",
"phase": "P4 Submit",
"owner": "planner",
"status": "done",
"done_criteria": "docs/devpost_draft.md contains copy-ready fields with safe pre-proof and post-proof wording.",
"notes": "Added Devpost draft with claim gates, sponsor sections, model list, and submission checklist."
},
{
"id": "T039",
"title": "Prepare public demo deployment runbook",
"phase": "P4 Submit",
"owner": "planner",
"status": "done",
"done_criteria": "docs/deployment.md explains Docker deployment, env vars, smoke checks, and public URL claim rules.",
"notes": "Added deployment runbook and made Docker listen on PORT for app hosts."
},
{
"id": "T039A",
"title": "Deploy public mock demo",
"phase": "P4 Submit",
"owner": "executor",
"status": "done",
"done_criteria": "A credential-free public URL is available, browser-smoked, and API-smoked without B2/Genblaze secrets.",
"notes": "Deployed Hugging Face Docker Space at https://adjcjh-backblaze-proofframe.hf.space/ and captured public smoke evidence."
},
{
"id": "T039B",
"title": "Add final live proof gate",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "API smoke can fail closed unless B2 and Genblaze backends are active and can write safe evidence JSON.",
"notes": "Enhanced scripts/api_smoke.py with required backend gates and evidence output for T020/T021/T042."
},
{
"id": "T039C",
"title": "Add review console polish",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "UI supports status filtering, evidence search, decision coverage, and a copy-safe summary for judges.",
"notes": "Added review console scorecard, filters, safe HTML escaping, and evidence-summary copy affordance."
},
{
"id": "T039D",
"title": "Add fail-closed evidence safety gate",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "api_smoke evidence output refuses secret-like keys and signed-token values before writing JSON.",
"notes": "Added safe-evidence validation to scripts/api_smoke.py with tests for secret-like keys and signed URL values."
},
{
"id": "T039E",
"title": "Enhance task ledger CLI",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "Task helper can add new tasks and search across ids, titles, notes, owners, phases, and done criteria.",
"notes": "Added add/search commands, README examples, docs/todo examples, and CLI tests."
},
{
"id": "T039F",
"title": "Add live proof preflight",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "A single command checks final B2/Genblaze backend modes, required env presence, package availability, and delegates safe evidence generation to api_smoke.",
"notes": "Added scripts/live_proof.py, unit tests, README, verification, integration, and evidence-package docs."
},
{
"id": "T039G",
"title": "Add final submission audit",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "A single command fails closed unless final task gates, required submission artifacts, screenshots, and B2/Genblaze live proof evidence are complete.",
"notes": "Added scripts/submission_audit.py, unit tests, and submission/verification/evidence docs."
},
{
"id": "T039H",
"title": "Generate copy-ready Devpost packet",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "A script generates JSON and Markdown Devpost copy packets in pre-live-safe mode, with an explicit post-live switch for final verified sponsor claims.",
"notes": "Added scripts/devpost_packet.py, tests, generated docs/assets packets, and evidence docs."
},
{
"id": "T039I",
"title": "Add submission gate dashboard",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "The app exposes and displays a fail-closed final submission gate with task, packet, and live-evidence status.",
"notes": "Added /api/submission/gate, sidebar gate panel, Deerflow signature, and unit/API tests."
},
{
"id": "T039J",
"title": "Add safe submission bundle manifest",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "A script generates public-safe JSON/Markdown manifests for submission artifacts, checksums, Devpost copy mode, and remaining gate blockers.",
"notes": "Added scripts/submission_bundle.py, generated docs/assets/submission-bundle-manifest.*, and tests."
},
{
"id": "T039K",
"title": "Add judge-mode demo deep link",
"phase": "P3 Polish",
"owner": "executor",
"status": "done",
"done_criteria": "Public demo supports a judge-mode URL that auto-loads the sample evidence packet without manual button hunting.",
"notes": "Added ?judge=1/?demo=1 auto-load, updated Devpost demo URL, regenerated submission packets, and added tests."
},
{
"id": "T039L",
"title": "Sync judge-mode public Space",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "HF Space serves ?judge=1 auto-load code and /api/submission/gate returns pre_live_safe task gate.",
"notes": "Pushed HF Space commit 7dedc8d; verified public HTML contains shouldAutoLoadJudgeDemo and gate API reports pre_live_safe."
},
{
"id": "T039M",
"title": "Refresh post-registration submission packet",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "Devpost packet and submission docs reflect registered status and current remaining final gates.",
"notes": "Packet generator now reads tasks.json status, Markdown includes submission checklist, and docs no longer list Devpost registration as a blocker."
},
{
"id": "T039N",
"title": "Add one-command final live proof runner",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "A single command can start the app with live B2/Genblaze env, verify health, run safe API smoke, write final evidence, and stop the server.",
"notes": "Added scripts/run_final_live_proof.py, tests, and runbook docs; current preflight fails closed because live env vars are not configured."
},
{
"id": "T039O",
"title": "Add public claim lint gate",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "CI fails if active public copy claims completed B2 or Genblaze proof before final live evidence exists.",
"notes": "Added scripts/claim_lint.py, tests, CI step, and runbook/evidence docs."
},
{
"id": "T039P",
"title": "Add demo readiness gate",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "A script and committed report prove mock recording assets are ready and final video remains gated on live B2/Genblaze evidence.",
"notes": "Added scripts/demo_readiness.py, tests, CI wiring, and docs/assets/demo-readiness-report.{json,md}."
},
{
"id": "T039Q",
"title": "Add judge recording slate",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "The first viewport shows demo mode, evidence packet state, and public claim boundary for judge recordings.",
"notes": "Added a recording slate to apps/web/index.html, tests, docs, and bundle manifest coverage."
},
{
"id": "T039R",
"title": "Sync judge slate public Space",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "The public HF Space serves the judge recording slate and still reports pre_live_safe submission gate.",
"notes": "Pushed HF Space commit ea6431e; verified public ?judge=1 HTML contains Judge recording slate, API smoke passes, and /api/submission/gate remains pre_live_safe."
},
{
"id": "T039S",
"title": "Add live credential handoff kit",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "A redacted env template, handoff report, tests, CI step, and docs make final B2/Genblaze proof setup executable without printing secrets.",
"notes": "Added .env.final.example, scripts/live_env_handoff.py, generated docs/assets/live-credential-handoff.*, CI/readiness wiring, and tests."
},
{
"id": "T039T",
"title": "Add demo storyboard gate",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "A structured demo storyboard proves the video timeline is under 3 minutes, required assets exist, and final video remains gated on live proof plus a public video URL.",
"notes": "Added scripts/demo_storyboard.py, tests, CI wiring, docs/assets/demo-storyboard.{json,md}, and submission bundle coverage."
},
{
"id": "T039U",
"title": "Add final env credential wizard",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "A local-only wizard can create .env.final.local with hidden credential prompts, 0600 permissions, git-ignore verification, tests, CI check-only coverage, and docs.",
"notes": "Added scripts/final_env_wizard.py, tests, CI check-only wiring, live handoff next-command wiring, submission bundle coverage, and final runbook docs."
},
{
"id": "T039V",
"title": "Add Devpost form kit gate",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A field-by-field Devpost form kit turns the safe packet into copy-ready fields, checks lengths and URLs, and keeps final submission gated on live proof plus video URL.",
"notes": "Added scripts/devpost_form_kit.py, tests, CI wiring, claim lint coverage, docs/assets/devpost-form-kit.{json,md}, demo readiness, submission bundle, and final audit coverage."
},
{
"id": "T039W",
"title": "Add B2-only live proof runner",
"phase": "P2 Integrations",
"owner": "codex",
"status": "done",
"done_criteria": "A one-command runner can load the local final env file, force B2 storage plus mock generation, preflight required B2 values, and write sanitized b2-live-proof evidence once the scoped key is present.",
"notes": "Added scripts/run_b2_live_proof.py, tests, docs, bundle/readiness wiring, and B2 setup next-command coverage."
},
{
"id": "T039X",
"title": "Add sponsor fit and award readiness audits",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "Sponsor-fit and award-readiness reports make Backblaze B2 and Genblaze central to judge-facing copy, verify early demo coverage, remain claim-safe before live proof, and are included in CI plus the submission bundle.",
"notes": "Added docs/sponsor_fit_matrix.md, scripts/sponsor_fit_audit.py, scripts/award_readiness.py, tests, CI steps, regenerated Devpost/form/storyboard/readiness/bundle artifacts, and expanded claim-safe sponsor-fit copy."
},
{
"id": "T039Y",
"title": "Surface sponsor evidence model in judge UI",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "Judge-mode first viewport shows a claim-safe sponsor evidence model covering Genblaze step, B2 object route, manifest proof, and current claim mode; tests and readiness audits verify the UI copy remains present.",
"notes": "Added first-viewport Sponsor Evidence Model UI for Genblaze step, B2 object route, manifest proof, and claim mode; wired API tests plus sponsor/award readiness checks and refreshed reports."
},
{
"id": "T039Z",
"title": "Sync sponsor evidence public Space",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "The public HF Space judge-mode URL serves the Sponsor Evidence Model UI and still passes public mock API smoke with pre_live_safe submission gate.",
"notes": "Pushed HF Space commits c530a1d and 3308508; verified public ?judge=1 HTML contains Sponsor Evidence Model, /api/submission/gate reports pre_live_safe with current tasks, and scripts/api_smoke.py passes against the public Space."
},
{
"id": "T039AA",
"title": "Add final submission control report",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A single command aggregates task gates, Devpost form readiness, demo storyboard, credential handoff, award readiness, public event snapshot, blocking items, and final operator commands.",
"notes": "Added scripts/final_submission_control.py, tests, CI wiring, generated docs/assets/final-submission-control.{json,md}, and submission/evidence docs; also fixed B2 setup scoring to accept bucket_name."
},
{
"id": "T039AB",
"title": "Add recording assets gate",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A script and committed report prove all no-secret recording assets exist, the public mock demo can be verified with GET-only checks, and final video remains gated on live proof.",
"notes": "Added scripts/recording_assets.py, tests, CI wiring, docs/assets/recording-assets.{json,md}, submission bundle coverage, and final control integration."
},
{
"id": "T039AC",
"title": "Add official Devpost event snapshot gate",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A script and committed report refresh official Devpost deadline, participants, requirements, judging criteria, and final-control event facts.",
"notes": "Added scripts/devpost_event_snapshot.py, tests, docs/assets/devpost-event-snapshot.{json,md}, CI validation, submission bundle coverage, and final control integration."
},
{
"id": "T039AD",
"title": "Align award readiness evidence detection",
"phase": "P3 Demo",
"owner": "codex",
"status": "done",
"done_criteria": "Award readiness correctly recognizes the implemented review console and explicit final-env ignore policy.",
"notes": "Updated award_readiness review-console detection, added an explicit .env.final.local ignore rule, refreshed reports, and added regression coverage."
},
{
"id": "T039AE",
"title": "Add final operator brief",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A no-secret operator brief turns remaining live-proof blockers into user actions, Codex follow-up commands, and safety policy.",
"notes": "Added scripts/final_operator_brief.py, generated docs/assets/final-operator-brief.{json,md}, CI/submission bundle/evidence docs wiring, and tests."
},
{
"id": "T040",
"title": "Register on Devpost",
"phase": "P4 Submit",
"owner": "controller",
"status": "done",
"done_criteria": "User account is registered for the Backblaze event.",
"notes": "Devpost registration complete; page shows Thanks for registering and manage/submissions is available."
},
{
"id": "T041",
"title": "Final submission audit",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "blocked",
"done_criteria": "Reviewer signs off on rules, secrets, claims, and public artifacts.",
"notes": "Post-live audit is blocked by missing final public video URL, T041A final scan completion, and Devpost receipt; current non-strict submission audit remains pre_submit_audit_blocked with docs/assets/submission-audit-report.json regenerated after B2 plus local Genblaze proof."
},
{
"id": "T041A",
"title": "Run final secret scan",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "blocked",
"done_criteria": "Secret scan covers repo, docs, screenshots, exported manifests, logs, and demo evidence before submission.",
"notes": "Current secret scan is clear at docs/assets/secret-scan-report.json, but final T041A stays blocked until the public video and Devpost-safe submission artifacts are staged so the last scan is truly final."
},
{
"id": "T041B",
"title": "Add pre-submit audit report gate",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "submission_audit writes schema JSON/Markdown, checks live proof/video/final reports, and strict-final fails closed before signoff.",
"notes": "Added submission-audit-report artifacts, Devpost packet schema validation, final-control audit coupling, CI wiring, and regression tests."
},
{
"id": "T041C",
"title": "Add final secret scan report",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "secret_scan writes a schema JSON/Markdown report, scans public evidence/log text, inventories screenshots/media, excludes local credential files without reading values, and final control requires the report before T041A can satisfy the gate.",
"notes": "Added docs/assets/secret-scan-report.*, final-control/submission-audit coupling, bundle coverage, docs, and regression tests."
},
{
"id": "T042",
"title": "Submit Devpost project",
"phase": "P4 Submit",
"owner": "controller",
"status": "blocked",
"done_criteria": "Devpost submission is accepted before 2026-08-04 05:00 Asia/Shanghai.",
"notes": "Devpost submission is blocked by missing public video URL plus final audit/secret-scan gates; no Devpost receipt URL is present, and final submission control remains phase=public_video."
},
{
"id": "T042A",
"title": "Add Devpost submission receipt gate",
"phase": "P4 Submit",
"owner": "controller",
"status": "done",
"done_criteria": "Final control requires a schema-ok Devpost receipt with a public project URL before T042 can satisfy the submitted gate.",
"notes": "Added devpost_submission_receipt.py, docs/assets/devpost-submission-receipt.*, final-control/operator/bundle wiring, CI step, and regression tests."
},
{
"id": "T042B",
"title": "Align API submission gate with final report artifacts",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "GET /api/submission/gate requires final secret scan, submission audit, and Devpost receipt reports before final_ready.",
"notes": "Bottom-layer browser/API gate now checks report schemas and ok=true, preventing task-status-only final readiness."
},
{
"id": "T042C",
"title": "Sync public Space with final report gate",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "Public HF Space serves the latest submission gate with report_gate, repo-relative paths, judge-mode UI markers, and passing public API smoke.",
"notes": "Pushed HF Space commit 635162b after restoring sdk: docker/app_port: 8088 metadata; verified /api/health, /api/submission/gate report_gate, ?judge=1 HTML markers, and scripts/api_smoke.py against the public Space."
},
{
"id": "T042D",
"title": "Refresh official Devpost event snapshot",
"phase": "P4 Submit",
"owner": "scout",
"status": "done",
"done_criteria": "Official Devpost overview and rules pages are re-fetched, validation remains ok, dynamic participant count is updated, and downstream control/bundle reports use the refreshed snapshot.",
"notes": "Earlier refresh on 2026-06-28 Asia/Shanghai moved participant count from 343 to 345; latest T055 refresh records 358 and keeps public copy dynamic."
},
{
"id": "T042E",
"title": "Add Agent handoff consistency gate",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "AGENTS.md points at the current repo, a machine-readable handoff report is generated, CI runs the check, and final control/bundle include the report.",
"notes": "Updated AGENTS.md from the stale Documents/Codex path to the current working-dir repo path; added a public default handoff report and a local --check-bus diagnostic that detected durable Agent Bus project metadata as stale while keeping AGENTS.md as repo authority."
},
{
"id": "T042F",
"title": "Sync public Space with Agent handoff gate",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "HF Space serves the latest handoff-aware public mock demo, runtime sha is recorded, raw handoff artifact is readable, and public API smoke passes.",
"notes": "Uploaded HF Space commit e71d73f7e55a977c4103aa4a50b0bd072314318c via huggingface_hub; runtime reports RUNNING on that sha, raw docs/assets/agent-handoff-report.json returns handoff_ready, public /api/submission/gate remains pre_live_safe, and scripts/api_smoke.py plus recording_assets --verify-public pass."
},
{
"id": "T042G",
"title": "Add public Space sync verifier",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A repeatable verifier checks HF Space metadata/runtime sha, raw handoff artifact, public health/gate APIs, judge-mode HTML markers, and feeds final control plus the submission bundle.",
"notes": "Added scripts/public_space_sync.py and docs/assets/public-space-sync-report.*; current report is public_space_synced for runtime sha a0418b6da52376ca3984294c850e368552920404."
},
{
"id": "T042H",
"title": "Align final live proof env-file CLI",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "The documented final live proof command accepts --env-file .env.final.local, loads non-secret/live env values without printing secrets, still fails closed when credentials are missing, and generated operator commands match the CLI.",
"notes": "Added --env-file support to scripts/run_final_live_proof.py, aligned live_env_handoff/final_env_wizard next commands and runbooks, and verified preflight now reports missing B2 key/application key/Genblaze API key instead of CLI argument failure."
},
{
"id": "T042I",
"title": "Harden final operator command placeholders",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "Final operator commands use shell-safe placeholder variables, generated reports are refreshed, and regression tests parse every command against the target script argparse.",
"notes": "Replaced angle-bracket public video/Devpost placeholders with quoted PROOFFRAME_* environment variables across operator reports; added parseability and shell-safety coverage."
},
{
"id": "T042J",
"title": "Audit active Agent Bus role cwd",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "Agent handoff report records active Agent Bus role cwd status, reviewer/scout registrations point at the current working-dir repo, and stale durable team.project metadata remains explicitly documented as non-authoritative.",
"notes": "Reattached active reviewer/scout roles with --cwd /Users/junhaocheng/working-dir/ai-competitions/backblaze-proofframe and added agent_handoff_check coverage for active role cwd drift."
},
{
"id": "T042K",
"title": "Resolve no-credential final audit issues",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "Reviewer no-credential audit issues are addressed: final runbooks avoid sourcing .env.final.local, pre-live evidence/package status is clearly labeled, public Space serves the new fail-closed packet status, and generated reports are refreshed.",
"notes": "Removed shell-sourcing of the final env file from runbooks/next commands, relabeled T032 as a pre-live evidence package, made /api/submission/gate require post_live_verified packet mode for final_ready, and synced HF Space runtime sha a0418b6da52376ca3984294c850e368552920404."
},
{
"id": "T042L",
"title": "Add no-secret final launch plan",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "Final launch phases are generated as public-safe JSON/Markdown, covered by tests, wired into CI, verification docs, and the submission bundle.",
"notes": "Added scripts/final_launch_plan.py plus docs/assets/final-launch-plan.*; it groups credential entry, B2 proof, Genblaze proof, public video, final audit, and Devpost receipt without secret values."
},
{
"id": "T042M",
"title": "Sync public Space with final launch plan",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "HF Space runs the launch-plan-aware build, public sync verifier checks runtime sha plus raw final-launch-plan artifact, and public API smoke passes in local/mock mode.",
"notes": "Uploaded current repo to HF Space commit 1a3dda691e94b07642da89512c3b62f360c2cef9 and extended scripts/public_space_sync.py to verify docs/assets/final-launch-plan.json is public and ready_for_credential_entry."
},
{
"id": "T042N",
"title": "Align final launch plan with final control",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "Final submission control consumes final-launch-plan.json, exposes current phase and next command, launch phases include task-ledger update checkpoints, and regression tests cover the wiring.",
"notes": "Addressed reviewer audit: final control now checks launch plan schema/actionability and renders phase/next command; launch plan phases list post-success task.py updates for T020/T021/T041A/T041/T042."
},
{
"id": "T042O",
"title": "Sync public Space after launch control alignment",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "HF Space serves the final-control/launch-plan-aware artifacts after reviewer alignment, public sync verifier targets the new runtime sha, and public API smoke passes.",
"notes": "Uploaded HF Space commit 772a79fb645e975df32f7acbe49eae15a96a6626 after final control consumed launch plan and warning/boundary copy was added."
},
{
"id": "T042P",
"title": "Add public judge brief",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A generated public-safe judge brief summarizes the 30-second pitch, why ProofFrame can win, safe claims, current blockers, walkthrough, and evidence links; it is included in CI, final audit, and the submission bundle.",
"notes": "Added scripts/judge_brief.py plus docs/assets/judge-brief.*; public Space sync now verifies the raw judge brief stays safe_to_submit=false before live proof."
},
{
"id": "T042Q",
"title": "Sync public Space with judge brief",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "HF Space serves the judge-brief-aware build, raw judge brief is publicly readable and claim-safe, public sync verifier targets the new runtime sha, and public API smoke passes.",
"notes": "Uploaded HF Space commit 0eb210c2b25cc44af1991e17e14af062b9ad5479 with docs/assets/judge-brief.* and raw judge brief verification."
},
{
"id": "T042R",
"title": "Apply Claude review to judge brief",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "Claude Code reviews the judge brief/public sync change, stale or ambiguous claim issues are resolved, the public Space is refreshed again, and verification proves raw judge brief remains public-safe.",
"notes": "Claude session 11111111-2222-4333-8444-555555555555 flagged stale runtime sha and wording risk; judge brief now avoids volatile sha, tightens B2/Genblaze language, and HF Space commit 3748545778fba56837dacf9320bb656cdf183bff was uploaded."
},
{
"id": "T042S",
"title": "Add judge comprehension pack",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "README and evidence package include a 60-second Judge Quickstart, Devpost tagline/one-liner foreground B2-ready and Genblaze-gated value without live-proof overclaiming, and demo storyboard/script opening plus close clarify the before/after outcome.",
"notes": "Applied Agent Bus reviewer guidance: added Judge Quickstart, tightened first-impression Devpost copy, and revised demo narrative while claim_lint and sponsor_fit_audit remain green."
},
{
"id": "T043",
"title": "Add in-app judge brief panel",
"phase": "P3 Polish",
"owner": "codex",
"status": "done",
"done_criteria": "Public judge-mode UI exposes a 30-second Judge Brief from the same safe judge-brief artifact, the API returns the safe brief JSON, public Space sync checks the HTML marker, and tests cover the endpoint plus marker.",
"notes": "Added /api/judge/brief, first-screen Judge Brief panel, evidence links, favicon polish, public sync marker, and API/public sync tests."
},
{
"id": "T044",
"title": "Add final submission rehearsal checklist",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A no-secret final rehearsal report combines operator readiness, launch phase, public Space sync, form kit, recording readiness, secret scan, task status, exact final commands, stop rules, and safe-to-commit artifacts so the final credential/live-proof/Devpost pass can be executed without overclaiming or leaking secrets.",
"notes": "Added scripts/final_rehearsal.py, docs/assets/final-rehearsal-checklist.*, tests, submission bundle/audit integration, and README/evidence/spec references."
},
{
"id": "T045",
"title": "Add final Devpost submission checklist",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A no-secret Devpost web submission checklist converts the final form kit into ordered copy steps, preflight gates, stop rules, and post-submit receipt commands; it is integrated into bundle/audit/operator/rehearsal/docs/tests without marking final submission ready.",
"notes": "Added scripts/devpost_submission_checklist.py, docs/assets/devpost-submission-checklist.*, tests, submission bundle/audit/operator/rehearsal integration, and README/evidence/spec references."
},
{
"id": "T046",
"title": "Add public video URL check gate",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A no-secret public video check validates the final demo video URL against Devpost video requirements, token-free public URL rules, storyboard duration, and optional GET-only accessibility before final submission; it is integrated into recording, final control, submission audit, bundle, CI, docs, and tests.",
"notes": "Added scripts/public_video_check.py, docs/assets/public-video-check.*, tests, final submission/recording/audit/bundle/CI integration, and verification/evidence/spec/submission docs."
},
{
"id": "T047",
"title": "Add judge criteria crosswalk",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A schema-stamped judge crosswalk maps official criteria and submission requirements to current evidence, safe claims, final gates, and demo shots; it is integrated into CI, submission bundle, submission audit, and docs.",
"notes": "Added scripts/judge_crosswalk.py plus docs/assets/judge-crosswalk.* with fail-closed source schema checks and pre-live claim boundaries."
},
{
"id": "T048",
"title": "Sync public Space with judge crosswalk",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "HF Space serves the Criteria crosswalk link, raw judge-crosswalk artifact is publicly readable and claim-safe, public Space sync verifier targets the new runtime sha, and public API smoke passes in local/mock mode.",
"notes": "Uploaded HF Space commit 77006332d53103cd6890f3b3cda446c096892554; public sync verifies raw docs/assets/judge-crosswalk.json is proofframe.judge_crosswalk.v1, ok=true, safe_to_submit=false, and judge HTML contains Criteria crosswalk."
},
{
"id": "T049",
"title": "Add in-app criteria crosswalk panel",
"phase": "P3 Polish",
"owner": "codex",
"status": "done",
"done_criteria": "The public judge-mode UI exposes a Criteria Crosswalk panel powered by /api/judge/crosswalk, API smoke verifies the endpoint schema and safe_to_submit boundary, and HF Space serves the updated build with public sync and CI passing.",
"notes": "Added /api/judge/crosswalk, in-app Criteria Crosswalk panel, API smoke fields, tests, and uploaded HF Space commit 413c5fe90d97eb0a137a1fc4d5ca697e3b7cab14."
},
{
"id": "T050",
"title": "Expose in-app recording runbook",
"phase": "P3 Polish",
"owner": "codex",
"status": "done",
"done_criteria": "The public judge-mode UI exposes a Recording Runbook panel powered by /api/judge/recording, API smoke verifies the recording artifact schema and shot plan, public Space sync verifies the raw recording-assets artifact plus HTML marker, and HF Space serves the updated build.",
"notes": "Added /api/judge/recording, in-app Recording Runbook panel, public-safe recording asset verification markers, tests, and API/public sync coverage."
},
{
"id": "T051",
"title": "Expose in-app Devpost kit",
"phase": "P3 Polish",
"owner": "codex",
"status": "done",
"done_criteria": "The public judge-mode UI exposes a Devpost Kit panel powered by /api/judge/devpost, API smoke verifies the Devpost form kit schema and field count, public Space sync verifies the raw devpost-form-kit artifact plus HTML marker, and HF Space serves the updated build.",
"notes": "Added /api/judge/devpost, in-app Devpost Kit panel, public sync raw form-kit check, API smoke fields, and tests."
},
{
"id": "T052",
"title": "Expose in-app submit checklist",
"phase": "P3 Polish",
"owner": "codex",
"status": "done",
"done_criteria": "The public judge-mode UI exposes a Submit Checklist panel powered by /api/judge/submission-checklist, API smoke verifies the checklist schema and preflight rows, public Space sync verifies the raw devpost-submission-checklist artifact plus HTML marker, and HF Space serves the updated build.",
"notes": "Added /api/judge/submission-checklist, in-app Submit Checklist panel, public sync raw checklist check, API smoke fields, and tests."
},
{
"id": "T053",
"title": "Add mock demo video draft",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "A schema-stamped mock demo video draft report and MP4 are generated from public screenshots, recording-assets and submission-bundle reports include the draft artifacts, tests cover the fail-closed boundary, and final public video gates remain false until live proof exists.",
"notes": "Added scripts/demo_video_draft.py, generated docs/assets/proofframe-demo-draft.mp4 plus demo-video-draft reports, and wired the draft into recording assets and submission bundle while keeping final video gates fail-closed."
},
{
"id": "T054",
"title": "Verify public demo video draft",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "Public Space sync verifies the raw demo-video-draft report stays mock_video_draft_ready and fail-closed, verifies the public MP4 is readable as video/mp4 with expected byte size, emits specific next actions on draft failures, and records only stable public URLs rather than signed redirects.",
"notes": "Extended scripts/public_space_sync.py to verify docs/assets/demo-video-draft.json and public docs/assets/proofframe-demo-draft.mp4 readability without storing signed redirect URLs."
},
{
"id": "T055",
"title": "Refresh official event snapshot",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "Official Devpost overview and rules pages are refetched live, committed snapshot validation passes with submission_open=true, the observed participant count is refreshed to 358, and downstream final-control/bundle reports can consume the updated snapshot.",
"notes": "Refetched official Devpost overview and rules pages on 2026-06-28; participant count is now 358, submission remains open, and requirements/judging criteria validated."
},
{
"id": "T056",
"title": "Sync Space after event refresh",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "HF Space serves the post-refresh public mock demo at the recorded runtime sha, public Space sync passes with no failed checks, public API smoke remains local/mock and fail-closed, and raw public Devpost snapshot/final-control artifacts show participant count 358 without marking final submission ready.",
"notes": "Uploaded HF Space commit d3b50a27e2a5062fb5411c5f0b5d966f47205ef3 after the Devpost event refresh; public Space sync, API smoke, and raw snapshot checks confirm participant count 358 and fail-closed final control."
},
{
"id": "T057",
"title": "Add missing-only credential wizard",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "final_env_wizard supports --missing-only, preserves existing .env.final.local field values and extra local-only variables, prompts only for missing required live-proof values, mirrors Genblaze/GMI aliases, never prints credential values, and regenerated handoff/launch/rehearsal/final-control reports point at the missing-only command.",
"notes": "Added final_env_wizard --missing-only so the operator only fills missing B2 key id/application key and Genblaze/GMI key while preserving existing .env.final.local values and extra local-only variables; regenerated final handoff, launch, rehearsal, judge, and control reports."
},
{
"id": "T058",
"title": "Add post-credential live proof runner",
"phase": "P4 Submit",
"owner": "codex",
"status": "done",
"done_criteria": "post_credential_live_proof can emit a no-secret plan by default, requires --execute to run live proof commands, stops on first failure, can mark T020/T021 only after successful proof commands when --update-tasks is explicit, regenerates downstream final reports, and is covered by tests and submission bundle artifacts.",
"notes": "Added scripts/post_credential_live_proof.py to plan or execute the credential-ready B2 proof, final Genblaze proof, task updates, and report regeneration sequence without storing secrets."
},
{
"id": "T059",
"title": "Harden post-credential review gates",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Post-credential live proof validates B2 and final evidence before task updates, final operator brief avoids duplicate live proof commands, submission bundle CLI ok tracks safe_to_submit instead of shareability, and reviewer-driven tests cover the fail-closed behavior.",
"notes": "Addressed independent reviewer findings from Faraday: added evidence validators before T020/T021 updates, removed duplicate runner commands, and made submission_bundle fail closed for final submit readiness."
},
{
"id": "T060",
"title": "Sync public Space after gate hardening",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "HF Space main is pushed to the latest post-credential gate hardening build, runtime is RUNNING on the expected sha, public API smoke passes, public_space_sync passes, and docs cite the new public Space sha.",
"notes": "Pushed HF Space commit f54fafafe78a5e2544c2dd0c905dca2778b25ef1, verified public_space_sync and public API smoke in local/mock mode, and kept final submission fail-closed."
},
{
"id": "T061",
"title": "Verify public hardening artifacts",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "public_space_sync verifies the public Space exposes the post-credential live proof plan with evidence validators and the submission bundle manifest with safe_to_share=true but safe_to_submit=false before final live proof.",
"notes": "Hardened after read-only reviewer findings: public_space_sync now requires the full ordered post-credential sequence, strict no-secret policy wording, malformed-command fail-closed behavior, and non-truncated submission bundle gate/artifact evidence. Verified against live HF Space runtime f54fafafe78a5e2544c2dd0c905dca2778b25ef1."
},
{
"id": "T062",
"title": "Refresh official event drift gate",
"phase": "P4 Submit",
"owner": "scout",
"status": "done",
"done_criteria": "Official Devpost snapshot is refetched, stale hard-coded participant counts are removed from docs, public_space_sync validates the raw Devpost event snapshot on the public Space, and the refreshed public artifact state is verified.",
"notes": "Added raw Devpost event snapshot freshness/requirements/criteria checks to public_space_sync, refreshed the official snapshot to participant count 365 checked 2026-06-29 Asia/Shanghai, removed stale hard-coded 358 references, pushed HF Space commit d9a3ed6964c0cf9834e18bd465baea1a4ad2d84e, and verified public_space_sync plus API smoke."
},
{
"id": "T063",
"title": "Add B2 key scope checklist gate",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "No-secret B2 application-key scope checklist is generated, tested, included in audit/bundle/CI/docs, and blocks broad or secret-bearing setup before live proof.",
"notes": "Added scripts/b2_key_scope_checklist.py, generated docs/assets/b2-key-scope-checklist.*, wired CI/submission audit/submission bundle/docs/final handoffs, and kept key creation behind explicit user confirmation."
},
{
"id": "T064",
"title": "Sync public Space with B2 key checklist",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "HF Space runs the latest public demo build containing the B2 key scope checklist, public_space_sync verifies the raw checklist schema/scope/no-secret policy, and public API smoke passes.",
"notes": "Uploaded HF Space commit 2f1532df85103b7114cfba5a1267764ee8a00fd6; public_space_sync now verifies docs/assets/b2-key-scope-checklist.json plus bundle coverage, and public API smoke passes in local/mock mode."
},
{
"id": "T065",
"title": "Refresh public deployment evidence",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Deployment runbook and evidence package point at the latest public HF Space runtime, include the B2 key scope checklist/post-credential/bundle public checks, and no longer expose stale public demo evidence.",
"notes": "Updated docs/deployment.md from stale d9a3ed Space evidence to runtime 2f1532df85103b7114cfba5a1267764ee8a00fd6, expanded docs/evidence_package.md public_space_sync coverage for B2 key checklist/post-credential plan/submission bundle, and revalidated claim_lint, secret_scan, public_space_sync, public API smoke, ruff, and pytest."
},
{
"id": "T066",
"title": "Sync B2 pre-key confirmation gate",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "B2 key scope checklist includes an explicit no-secret pre-key confirmation phrase, public_space_sync verifies the raw public checklist confirmation status and scope, and HF Space serves the updated public artifact.",
"notes": "Added pre_key_creation_confirmation to the B2 key scope checklist and final operator/launch artifacts; uploaded HF Space commit a3aa614b569d277d81229606783c4444ff5d2155; public_space_sync, raw checklist spot-check, and public API smoke pass."
},
{
"id": "T067",
"title": "Refresh public judge screenshot evidence",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "Public judge screenshot is refreshed from the live HF Space, verified for visible/html judge markers and nonblank image stats, included in recording assets/submission bundle/public Space sync gates, and synced to the public Space.",
"notes": "Captured docs/assets/proofframe-hf-public-smoke.png via scripts/public_demo_screenshot.py; uploaded HF Space commit 6a909b229afd3f08099877fb4cff633438f72ba5; public_space_sync and public API smoke pass with raw public-demo-screenshot-report verification."
},
{
"id": "T068",
"title": "Add Devpost submission preview",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "A one-page Devpost preview consolidates copy blocks, public demo evidence, screenshot evidence, readiness modes, and final blockers while separating safe_to_share from safe_to_submit.",
"notes": "Added scripts/devpost_submission_preview.py with tests; generated docs/assets/devpost-submission-preview.*; wired preview into CI, submission bundle, evidence docs, and public_space_sync raw artifact validation."
},
{
"id": "T069",
"title": "Wire Devpost preview into post-credential chain",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Post-credential runner, operator brief, final rehearsal, and public Space sync all require/regenerate the Devpost submission preview so live-proof submission materials cannot go stale.",
"notes": "Added devpost_submission_preview.py to post-credential report regeneration, final operator actions, final rehearsal steps, and raw public post-credential plan verification."
},
{
"id": "T070",
"title": "Harden post-credential preview review gates",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Public Space sync fails closed when the post-credential report tail omits or misorders Devpost preview, and operator brief runs a no-value secret scan after preview regeneration.",
"notes": "Addressed read-only reviewer findings: added ordered report-tail validation for submission_audit -> devpost_submission_preview -> secret_scan -> submission_bundle, added missing/misordered preview public sync tests, and added a post-preview secret scan to final operator actions."
},
{
"id": "T071",
"title": "Refresh official Devpost event evidence",
"phase": "P4 Submit",
"owner": "scout",
"status": "done",
"done_criteria": "Official Devpost overview and rules pages are fetched live, submission-open/deadline/requirements/criteria are validated, and downstream judge/submission reports are regenerated.",
"notes": "Refreshed docs/assets/devpost-event-snapshot.* with live official pages; observed 369 participants, deadline 2026-08-03T21:00:00Z, and submission_open=true; regenerated judge, Devpost, control, audit, public sync, and bundle reports."
},
{
"id": "T072",
"title": "Harden final post-Devpost closeout chain",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "After Devpost submission receipt, operator-facing runbooks require a clean secret scan plus strict final control, launch plan, Devpost preview, and submission bundle before final commit/push.",
"notes": "Added submission_bundle.py --strict-final, wired final closeout commands into final operator brief, final rehearsal, and final submission control, and covered the receipt-to-bundle sequence with tests."
},
{
"id": "T073",
"title": "Require fresh post-receipt closeout reports",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "The final submission bundle strict gate fails unless Devpost receipt is submitted and the post-receipt secret scan, final control, launch plan, and Devpost preview are final-ready and generated after the receipt.",
"notes": "Addressed read-only reviewer findings: final_launch_plan now emits created_at, submission_bundle has a closeout freshness gate, stale closeout reports fail safe_to_submit, and final rehearsal tests assert the exact receipt-to-green-gate sequence."
},
{
"id": "T074",
"title": "Harden public video host gate",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Public video URL validation fails closed unless the URL uses an official public host family accepted by event rules and has no credential/token/signed query material.",
"notes": "Added YouTube/Vimeo/Youku host-family validation to public_video_check.py, report output, and tests so generic public URLs cannot satisfy final video gate."
},
{
"id": "T075",
"title": "Verify public video gate in Space sync",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "public_space_sync fails closed unless the public Hugging Face Space exposes docs/assets/public-video-check.json with the official YouTube/Vimeo/Youku host gate and safe pre-live video status.",
"notes": "Added raw public-video-check validation to public_space_sync.py, observed report output, and failure tests so the official public video host gate is checked by CI and public Space sync."
},
{
"id": "T076",
"title": "Upgrade CI Node runtime actions",
"phase": "P4 Submit",
"owner": "tester",
"status": "done",
"done_criteria": "GitHub Actions workflow uses current Node-24-compatible checkout/setup-python action majors so CI does not emit the Node 20 deprecation annotation.",
"notes": "Updated actions/checkout from v4 to v7 and actions/setup-python from v5 to v6 after verifying latest official GitHub action releases via gh api."
},
{
"id": "T077",
"title": "Refresh official Devpost event snapshot",
"phase": "P4 Submit",
"owner": "scout",
"status": "done",
"done_criteria": "Official Devpost event snapshot is refreshed from the live overview and rules pages, with submission still open and event requirements/judging criteria validated.",
"notes": "Refreshed live official Devpost snapshot on 2026-06-29T00:44:06Z; observed participants increased from 369 to 372, deadline remains 2026-08-03T21:00:00Z, and validation remains ok."
},
{
"id": "T078",
"title": "Add final control health flag",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Final submission control JSON exposes a top-level ok flag for report health while preserving safe_to_submit as the final Devpost submission gate.",
"notes": "Added final_submission_control ok semantics, markdown display, and tests so pre-live control reports are machine-readable as healthy without being final-submit-ready."
},
{
"id": "T079",
"title": "Clarify final control health semantics",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Final submission control exposes explicit control_health_ok semantics and CLI-level tests prove non-strict health does not bypass strict final submit gates.",
"notes": "Added control_health_ok alias, clarified markdown output, and covered non-strict vs strict-final CLI behavior after reviewer pass."
},
{
"id": "T080",
"title": "Add judge evidence index",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "A public-safe judge evidence index is generated, exposed through the app API, included in submission bundle artifacts, verified by public Space sync, and kept fail-closed with safe_to_submit=false until final live proof.",
"notes": "Added scripts/judge_evidence_index.py, docs/assets/judge-evidence-index.*, /api/judge/evidence-index, frontend Evidence index link, API smoke coverage, public Space sync validation, bundle registration, and tests."
},
{
"id": "T081",
"title": "Add final video publish kit",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Final video upload copy, chapters, official host requirements, Devpost video field gate, API endpoint, public Space validation, bundle registration, and tests are in place while safe_to_submit remains false until the final public video URL and final control pass.",
"notes": "Added scripts/final_video_publish_kit.py, docs/assets/final-video-publish-kit.*, /api/judge/video-publish-kit, frontend Video publish kit link, API smoke coverage, public Space sync validation, recording asset registration, bundle registration, and tests."
},
{
"id": "T082",
"title": "Add judge decision brief",
"phase": "P4 Submit",
"owner": "reviewer",
"status": "done",
"done_criteria": "Decision brief is generated, exposed in judge API/frontend, checked by public Space sync, and included in bundle.",
"notes": "Added scripts/judge_decision_brief.py, docs/assets/judge-decision-brief.*, /api/judge/decision-brief, frontend Decision brief link, public Space sync validation, submission bundle registration, and tests."
},
{
"id": "T083",
"title": "Refresh official Devpost event snapshot",
"phase": "P4 Submit",
"owner": "scout",
"status": "done",
"done_criteria": "Official Devpost overview/rules snapshot refreshed from live pages, downstream reports regenerated, public Space sync passed, and dynamic participant count references avoid stale hard-coded copy.",
"notes": "Updated docs/assets/devpost-event-snapshot.* from official Devpost pages: submission remains open, requirements and judging criteria validate, observed participants are now 383. Synced HF Space and regenerated final evidence reports."
}
]
}