# Codex Gitea Blocked Products Owner Pick List

- generated_at: `2026-06-24T13:40:00+08:00`
- scope: remaining products that are not yet safe to convert into Gitea `dev` workspaces
- blocked_products: `8`
- ready_for_remote_dev_branch_creation: `0`

## 結論

目前不能把剩餘 8 個產品直接建立成 Gitea `dev`。阻塞不是單純缺分支，而是本機工作樹含 drift、dirty、untracked、internal repo inventory 或 repository identity 問題。直接推會有三個風險：

- 把舊版本當最新版本。
- 把未審核刪檔 / untracked 產物 / 壓縮包 / log 混進 source control。
- 把 internal repo 或錯 repo 當成產品主線。

## 建議順序

| Order | Product | Why |
|------:|---------|-----|
| 1 | ClawBot / OpenClaw | 只有 2 個 tracked file drift，最小可審核面。 |
| 2 | Tsenyang Website | internal repo 需 inventory，但 dirty 面小。 |
| 3 | Agent Bounty | A2A / treasury surface 明確，但有 untracked source 和 backup archives 需要分離。 |
| 4 | 2026FIFA | local HEAD 與 Gitea main 不同，且 analytics / web route untracked 需要 path-based review。 |
| 5 | VibeWork | monorepo packages / MCP / brand assets 需要 owner pick。 |
| 6 | StockPlatform v2 | 60 tracked dirty + 3800 untracked，必須先分類 generated vs source。 |
| 7 | Bitan | internal repo + 大 dirty 面 + public-content evidence，需要先 owner export。 |
| 8 | VTuber | repository identity / HEAD 異常，先修 inventory。 |

## Product Gates

| Product | Current state | Owner decision before dev |
|---------|---------------|---------------------------|
| `clawbot-openclaw` | local head differs from Gitea main; dirty `docker-compose.yml`, `main.py`; untracked `0` | Review two-file drift, choose local head or Gitea main as baseline, approve `dev`. |
| `tsenyang-website` | internal repo; tracked dirty `6`; untracked `2` presentation outputs | Provide authenticated inventory/export, decide whether OG assets and presentation outputs are source. |
| `agent-bounty-protocol` | local head differs; untracked `19`; includes A2A / treasury routes and backup archives | Separate source from `sync-backup-*.tgz`, owner-pick included files, approve baseline. |
| `2026fifa` | local head differs; status/diff timeout; untracked `38` | Run narrow analytics / web route drift review, owner-pick local changes, approve baseline. |
| `vibework` | local head differs; status/diff timeout; untracked `97` | Bucket docs / packages / MCP / public brand assets and choose source baseline. |
| `stockplatform-v2` | local head equals Gitea main; tracked dirty `60`; untracked `3800` | Classify source / migration / asset / generated outputs before any remote branch. |
| `bitan-pharmacy` | internal repo; tracked dirty `64`; untracked `252` | Provide owner export, separate logs/generated outputs, review public-content evidence. |
| `vtuber` | Gitea repo not found; local head readback abnormal; untracked `84` | Repair repository identity before any Gitea action. |

## Hard Gates

- No remote `dev` branch creation in this stage.
- No product repo write in this stage.
- No raw `.git` copy.
- No `.env`, runtime volume, raw Codex App DB, raw conversations, or secret value sync.
- No source-control inclusion of backup archives, logs, generated outputs, or presentation exports unless owner marks them as release artifacts.
