Spaces:
Sleeping
Sleeping
| { | |
| "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." | |
| } | |
| ] | |
| } | |