{
  "schema_version": "codex_gitea_blocked_products_owner_pick_list_v1",
  "generated_at": "2026-06-24T13:40:00+08:00",
  "scope": "Remaining products that are not yet safe to convert into Gitea dev workspaces",
  "summary": {
    "blocked_product_count": 8,
    "remote_dev_missing_count": 5,
    "internal_or_missing_repo_count": 3,
    "local_head_drift_count": 4,
    "dirty_or_untracked_count": 8,
    "ready_for_remote_dev_branch_creation_count": 0,
    "remote_write_performed": false,
    "local_product_write_performed": false,
    "secret_values_collected": false,
    "raw_git_sync_allowed": false,
    "raw_conversation_sync_allowed": false,
    "env_or_runtime_volume_sync_allowed": false
  },
  "products": [
    {
      "product_id": "2026fifa",
      "priority": "P1",
      "risk_class": "local_head_drift_and_heavy_status",
      "local_path": "/Users/ogt/Documents/2026FIFAWorldCup",
      "local_branch": "main",
      "local_head": "118954e781b97843fe4457731951bc0fcaecd402",
      "gitea_repo": "wooo/2026FIFAWorldCup",
      "remote_main": "f26def598fe58562067170dc3cc4c2521933846a",
      "remote_dev": "",
      "tracked_status": "timeout",
      "untracked_count": 38,
      "diff_shortstat": "timeout",
      "sample_paths": [
        "docs/crawler-source-policy.md",
        "docs/fifa-official-data-seed-2026-06-14.md",
        "platform/backend/app/analytics/agent_review_worker.py",
        "platform/web/app/agent-verification/page.tsx",
        "platform/web/app/api/analytics/source-health/route.ts"
      ],
      "owner_decision_required": [
        "accept_or_reject_gitea_main_as_dev_baseline",
        "decide_whether_local_untracked_analytics_and_web_routes_are_product_changes",
        "approve_remote_dev_branch_creation_only_after_pick_list"
      ],
      "recommended_next_gate": "Build a narrow path-based drift review for analytics / web route additions before any dev branch creation."
    },
    {
      "product_id": "agent-bounty-protocol",
      "priority": "P1",
      "risk_class": "local_head_drift_and_untracked_product_surface",
      "local_path": "/Users/ogt/Documents/agent-bounty-protocol",
      "local_branch": "main",
      "local_head": "0601df8bd9c0aaedb9ce3a226a6f1aeca645ca0a",
      "gitea_repo": "wooo/agent-bounty-protocol",
      "remote_main": "b7a733f44f4f645dd21a9b4a9075b89c4a324f64",
      "remote_dev": "",
      "tracked_status": "timeout",
      "untracked_count": 19,
      "diff_shortstat": "timeout",
      "sample_paths": [
        "apps/web/src/app/agents/connect/actions.ts",
        "apps/web/src/app/api/a2a/agents/connect/route.ts",
        "apps/web/src/app/api/admin/treasury/usdc-balance/route.ts",
        "apps/web/src/lib/a2a-agent-connect.ts",
        "sync-backup-a2a-campaign-kit-20260611183651.tgz"
      ],
      "owner_decision_required": [
        "decide_whether_a2a_and_treasury_untracked_files_are_latest_product_source",
        "exclude_sync_backup_archives_from_source_control_unless_owner_marks_them_as_release_artifacts",
        "approve_dev_branch_baseline_after_pick_list"
      ],
      "recommended_next_gate": "Separate source files from backup archives, then create an owner-selected include / exclude list."
    },
    {
      "product_id": "stockplatform-v2",
      "priority": "P1",
      "risk_class": "large_dirty_worktree",
      "local_path": "/Users/ogt/stockplatform-v2",
      "local_branch": "main",
      "local_head": "1ef097e148ff6645e608fe5823aff9f038314512",
      "gitea_repo": "wooo/stockplatform-v2",
      "remote_main": "1ef097e148ff6645e608fe5823aff9f038314512",
      "remote_dev": "",
      "tracked_dirty_count": 60,
      "untracked_count": 3800,
      "diff_shortstat": "60 files changed, 8355 insertions(+), 3173 deletions(-)",
      "sample_paths": [
        "apps/admin/src/app/admin-dashboard.tsx",
        "apps/api/app/api/routes/recommendations.py",
        "apps/api/app/main.py",
        "apps/admin/src/app/agents/page.tsx",
        "apps/api/migrations/versions/20260613_0035_notification_action_audit_trail.py"
      ],
      "owner_decision_required": [
        "classify_3800_untracked_paths_before_source_control",
        "separate_generated_assets_from_source",
        "approve_stock_dev_branch_only_after_dirty_review"
      ],
      "recommended_next_gate": "Run a path-classification inventory that buckets source / migration / asset / generated outputs before any remote branch write."
    },
    {
      "product_id": "vibework",
      "priority": "P1",
      "risk_class": "local_head_drift_and_large_untracked_product_surface",
      "local_path": "/Users/ogt/Documents/VibeWork",
      "local_branch": "main",
      "local_head": "48275cc52be79107e887147d3fe10310a887afe9",
      "gitea_repo": "wooo/vibework",
      "remote_main": "76a4ee15026af278a3660ad4b4547e9308b107be",
      "remote_dev": "",
      "tracked_status": "timeout",
      "untracked_count": 97,
      "diff_shortstat": "timeout",
      "sample_paths": [
        "docs/PHASE_1_COMMERCIAL_BATTLE_PLAN.md",
        "packages/contracts/src/index.ts",
        "packages/mcp-server/src/index.ts",
        "pnpm-workspace.yaml",
        "public/brand/vibework-logo-full.svg"
      ],
      "owner_decision_required": [
        "decide_whether_local_monorepo_packages_are_latest_source",
        "review_brand_assets_and_docs_before_source_control",
        "approve_dev_branch_after_pick_list"
      ],
      "recommended_next_gate": "Bucket docs / packages / public brand assets, then decide which become the Gitea dev baseline."
    },
    {
      "product_id": "clawbot-openclaw",
      "priority": "P1",
      "risk_class": "small_tracked_drift",
      "local_path": "/Users/ogt/clawbot-v5",
      "local_branch": "main",
      "local_head": "f4b84d730ae0ef2cb2fb5cc49b4eb585b10246e2",
      "gitea_repo": "wooo/clawbot-v5",
      "remote_main": "22074fbe4d6ec6c11c86f76139eea55756d1d160",
      "remote_dev": "",
      "tracked_dirty_count": 2,
      "untracked_count": 0,
      "diff_shortstat": "2 files changed, 9 insertions(+), 1 deletion(-)",
      "sample_paths": [
        "docker-compose.yml",
        "main.py"
      ],
      "owner_decision_required": [
        "review_docker_compose_and_main_py_drift",
        "decide_whether_local_head_or_gitea_main_is_dev_baseline",
        "approve_dev_branch_creation"
      ],
      "recommended_next_gate": "This is the smallest next candidate: inspect two tracked files and create a precise owner decision record."
    },
    {
      "product_id": "bitan-pharmacy",
      "priority": "P2",
      "risk_class": "internal_repo_large_dirty_worktree",
      "local_path": "/Users/ogt/bitan-pharmacy",
      "local_branch": "main",
      "local_head": "e122c8cbd9522999fd9844c2b63790fadcc89c20",
      "gitea_repo": "internal:bitan-pharmacy",
      "remote_main": "",
      "remote_dev": "",
      "tracked_dirty_count": 64,
      "untracked_count": 252,
      "diff_shortstat": "64 files changed, 4069 insertions(+), 665 deletions(-)",
      "sample_paths": [
        "messages/zh-TW.json",
        "next.config.ts",
        "src/app/admin/layout.tsx",
        "scripts/deploy-production-safe.sh",
        "logs/public-content-cleanliness.latest.json"
      ],
      "owner_decision_required": [
        "provide_authenticated_gitea_inventory_or_owner_export",
        "separate_logs_and_generated_outputs_from_source",
        "review_public_content_cleanliness_evidence_before_dev_branch"
      ],
      "recommended_next_gate": "Resolve internal repo inventory first, then run dirty review."
    },
    {
      "product_id": "tsenyang-website",
      "priority": "P2",
      "risk_class": "internal_repo_small_dirty_worktree",
      "local_path": "/Users/ogt/tsenyang-website",
      "local_branch": "main",
      "local_head": "b369ed8cb6666e8ddaa2d31e1418a02794fdea9d",
      "gitea_repo": "internal:tsenyang-website",
      "remote_main": "",
      "remote_dev": "",
      "tracked_dirty_count": 6,
      "untracked_count": 2,
      "diff_shortstat": "6 files changed, 163 insertions(+), 63 deletions(-)",
      "sample_paths": [
        "public/og/taiwan-ai-agent-checklist.png",
        "public/og/taiwan-ai-agent-webinar.svg",
        "outputs/manual-20260605-ai-agent-deck-v2/presentations/tsenyang-ai-agent-proposal-fixed/output/TsenYang_AI_Agent_Proposal_V2_Fixed_20260605.pptx"
      ],
      "owner_decision_required": [
        "provide_authenticated_gitea_inventory_or_owner_export",
        "decide_whether_presentation_outputs_belong_in_source_control",
        "approve_dev_branch_after_small_dirty_review"
      ],
      "recommended_next_gate": "Small candidate after internal repo inventory: review OG assets and presentation outputs."
    },
    {
      "product_id": "vtuber",
      "priority": "P3",
      "risk_class": "repository_inventory_repair_required",
      "local_path": "/Users/ogt/VTuber",
      "local_branch": "main",
      "local_head": "HEAD",
      "gitea_repo": "wooo/vtuber",
      "remote_error": "remote: Repository not found",
      "tracked_dirty_count": 2,
      "untracked_count": 84,
      "diff_shortstat": "",
      "sample_paths": [
        "apps/admin/public/.gitkeep",
        "apps/web/public/.gitkeep",
        ".env.example",
        "README.md",
        "apps/api/package.json"
      ],
      "owner_decision_required": [
        "repair_local_HEAD_or_confirm_new_repo_bootstrap",
        "create_or_identify_correct_gitea_repository",
        "exclude_env_and_generated_outputs_before_source_control"
      ],
      "recommended_next_gate": "Repair repository identity before any Gitea action."
    }
  ],
  "recommended_execution_order": [
    "clawbot-openclaw",
    "tsenyang-website",
    "agent-bounty-protocol",
    "2026fifa",
    "vibework",
    "stockplatform-v2",
    "bitan-pharmacy",
    "vtuber"
  ]
}
