docs(ops): record remaining product dev readiness [skip ci]
This commit is contained in:
@@ -1,3 +1,29 @@
|
||||
## 2026-06-24|剩餘產品 Gitea dev readiness readback
|
||||
|
||||
**背景**:MOMO Pro / AwoooGo 已完成 Gitea `dev` branch 與 Mac Mini dev workspace 後,繼續盤點剩餘產品是否可安全納入同一套 Gitea dev workflow。本輪只讀,不建立 branch、不 clone、不 push、不同步 raw `.git`、不搬 `.env` / runtime volume / raw Codex conversations。
|
||||
|
||||
**Readback**:
|
||||
- 內部 Gitea registry probe:products `11`,`gitea_dev_ready=3`(AWOOOI、MOMO Pro、AwoooGo),remaining blocked `8`。
|
||||
- 2026FIFA:本機 HEAD `118954e...` 與 Gitea main `f26def5...` 不同,narrow diff readback timeout;不可建立 `dev`。
|
||||
- Agent Bounty:本機 HEAD `0601df8...` 與 Gitea main `b7a733f...` 不同,tracked dirty `24`;需 owner pick list。
|
||||
- StockPlatform v2:本機 HEAD 與 Gitea main 都是 `1ef097e...`,但 tracked dirty `55`;需 dirty review。
|
||||
- VibeWork:本機 HEAD `48275cc...` 與 Gitea main `76a4ee1...` 不同,tracked dirty `95`;需 owner pick list。
|
||||
- ClawBot / OpenClaw:本機 HEAD `f4b84d7...` 與 Gitea main `22074fb...` 不同,tracked dirty `2`;需 drift review。
|
||||
- Bitan / Tsenyang:仍需 internal inventory / owner export 與 dirty review。
|
||||
- VTuber:repository / HEAD inventory abnormal,需先修 inventory。
|
||||
|
||||
**新增文件**:
|
||||
- `docs/operations/codex-gitea-remaining-products-readback.snapshot.json`
|
||||
- `docs/operations/CODEX-WORKSTATION-GITEA-DEV-READBACK.md` §9
|
||||
|
||||
**Automation gaps**:
|
||||
- `codex-gitea-dev-branch-candidate-readback.py` 目前只內建 2026FIFA / Agent Bounty 路徑,未覆蓋 VibeWork、StockPlatform、ClawBot,不能完全取代手動 readback。
|
||||
- `codex-workstation-sync-dashboard.py` 現版輸出會丟掉既有 `latest_artifact_sync` 區塊;在 generator 升級前,不應直接覆蓋 shared dashboard snapshot。
|
||||
|
||||
**邊界**:
|
||||
- `remote_write_performed=false`,`raw_git_sync_allowed=false`,`raw_conversation_sync_allowed=false`,`env_or_runtime_volume_sync_allowed=false`。
|
||||
- 目前不能宣稱「所有產品都可雙機 Codex 開發」;正確狀態是 3 個 Gitea dev ready、8 個 blocked 且各自有明確下一步。
|
||||
|
||||
## 2026-06-24|MOMO Pro / AwoooGo Gitea dev branch 與 Mac Mini workspace 建立
|
||||
|
||||
**背景**:在 11:52 preflight 通過後,收到 owner approval 繼續,正式為兩個乾淨候選建立 Gitea `dev` branch,並從 Gitea clone Mac Mini 乾淨 Codex workspace。這不是 raw `.git` 複製,也沒有搬 `.env`、runtime volumes 或 Codex raw conversations。
|
||||
|
||||
@@ -122,3 +122,52 @@ env_or_runtime_volume_sync=false
|
||||
AwoooGo external HTTPS CLI readback requires auth, so do not claim outside MacBook clone readiness for AwoooGo until credentials / VPN path are verified.
|
||||
MacBook Pro local workspace creation still needs separate readback from the MacBook.
|
||||
```
|
||||
|
||||
## 9. 2026-06-24 12:41 remaining products readback
|
||||
|
||||
Machine-readable snapshot:
|
||||
|
||||
```text
|
||||
docs/operations/codex-gitea-remaining-products-readback.snapshot.json
|
||||
```
|
||||
|
||||
Updated internal Gitea registry probe:
|
||||
|
||||
```text
|
||||
products=11
|
||||
gitea_dev_ready=3
|
||||
remaining_blocked=8
|
||||
remote_write_performed=false
|
||||
raw_git_sync_allowed=false
|
||||
raw_conversation_sync_allowed=false
|
||||
```
|
||||
|
||||
Ready for Gitea dev workflow:
|
||||
|
||||
| Product | State | Next gate |
|
||||
|---------|-------|-----------|
|
||||
| AWOOOI | existing `dev` on Gitea; controlled dev workspace already recorded in Start Here | branch from `dev` into `codex/*` per task |
|
||||
| MOMO Pro | `main` and `dev` both at `76a89a70986b`; Mac Mini workspace ready | verify MacBook Pro clone / fetch from Gitea |
|
||||
| AwoooGo | `main` and `dev` both at `8471b376d97c`; Mac Mini workspace ready | fix / verify external HTTPS auth or VPN path before claiming outside MacBook readiness |
|
||||
|
||||
Still blocked:
|
||||
|
||||
| Product | Blocker | Decision |
|
||||
|---------|---------|----------|
|
||||
| 2026FIFA | local HEAD `118954e...` differs from Gitea main `f26def5...`; narrow diff readback timed out | build narrow drift review; do not create `dev` |
|
||||
| Agent Bounty | local HEAD `0601df8...` differs from Gitea main `b7a733f...`; tracked dirty count `24` | owner pick list for A2A / traffic / propose changes |
|
||||
| StockPlatform v2 | local HEAD equals Gitea main, but tracked dirty count `55` | owner pick list before any `dev` branch |
|
||||
| VibeWork | local HEAD `48275cc...` differs from Gitea main `76a4ee1...`; tracked dirty count `95` | owner pick list for growth / admin / runtime changes |
|
||||
| ClawBot / OpenClaw | local HEAD `f4b84d7...` differs from Gitea main `22074fb...`; tracked dirty count `2` | review `docker-compose.yml` and `main.py` drift |
|
||||
| Bitan | internal inventory and dirty review required | owner export or authenticated inventory |
|
||||
| Tsenyang Website | internal inventory and dirty review required | owner export or authenticated inventory |
|
||||
| VTuber | repository / HEAD inventory abnormal | repair inventory before any Gitea action |
|
||||
|
||||
Automation gaps found:
|
||||
|
||||
```text
|
||||
candidate_readback_default_roots_incomplete=true
|
||||
dashboard_generator_drops_latest_artifact_sync=true
|
||||
```
|
||||
|
||||
These are tooling gaps, not owner approval. They must be fixed before replacing manual readback with automatic dashboard refresh.
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
{
|
||||
"schema_version": "codex_gitea_remaining_products_readback_v1",
|
||||
"generated_at": "2026-06-24T12:41:57+08:00",
|
||||
"scope": "Mac Mini product repositories after MOMO Pro and AwoooGo dev bootstrap",
|
||||
"summary": {
|
||||
"product_count": 11,
|
||||
"gitea_dev_ready_count": 3,
|
||||
"mac_mini_dev_workspace_ready_count": 2,
|
||||
"remaining_blocked_count": 8,
|
||||
"manual_dirty_or_drift_review_required_count": 6,
|
||||
"internal_or_authenticated_inventory_required_count": 3,
|
||||
"remote_write_performed": false,
|
||||
"raw_git_sync_allowed": false,
|
||||
"raw_conversation_sync_allowed": false,
|
||||
"env_or_runtime_volume_sync_allowed": false
|
||||
},
|
||||
"ready_products": [
|
||||
{
|
||||
"product_id": "awoooi",
|
||||
"gitea_repo": "wooo/awoooi",
|
||||
"remote_dev_present": true,
|
||||
"remote_main_present": true,
|
||||
"mac_mini_workspace_status": "ready_from_start_here",
|
||||
"next_gate": "use codex-workspaces/awoooi-dev and branch from dev for tasks"
|
||||
},
|
||||
{
|
||||
"product_id": "momo-pro",
|
||||
"gitea_repo": "wooo/ewoooc",
|
||||
"remote_dev_present": true,
|
||||
"remote_main_present": true,
|
||||
"remote_dev_commit": "76a89a70986b7428704a12ffbb7180f159db151f",
|
||||
"mac_mini_workspace_status": "ready",
|
||||
"mac_mini_workspace_path": "/Users/ogt/codex-workspaces/momo-pro-dev",
|
||||
"next_gate": "clone_or_fetch_from_macbook_pro_and_verify_branch_dev_dirty_0"
|
||||
},
|
||||
{
|
||||
"product_id": "awooogo",
|
||||
"gitea_repo": "wooo/AwoooGo",
|
||||
"remote_dev_present": true,
|
||||
"remote_main_present": true,
|
||||
"remote_dev_commit": "8471b376d97c1436d4612ece17f51ba0950f114d",
|
||||
"mac_mini_workspace_status": "ready",
|
||||
"mac_mini_workspace_path": "/Users/ogt/codex-workspaces/awooogo-dev",
|
||||
"external_https_readback": "authentication_required",
|
||||
"next_gate": "verify_gitea_credentials_or_vpn_path_before_claiming_outside_macbook_clone_ready"
|
||||
}
|
||||
],
|
||||
"blocked_products": [
|
||||
{
|
||||
"product_id": "2026fifa",
|
||||
"local_path": "/Users/ogt/Documents/2026FIFAWorldCup",
|
||||
"local_branch": "main",
|
||||
"local_head": "118954e781b97843fe4457731951bc0fcaecd402",
|
||||
"remote_main_commit": "f26def598fe58562067170dc3cc4c2521933846a",
|
||||
"remote_dev_present": false,
|
||||
"dirty_readback": "diff_readback_timeout",
|
||||
"status": "blocked_local_drift_review_required",
|
||||
"blockers": [
|
||||
"local_head_differs_from_gitea_main",
|
||||
"diff_readback_timeout",
|
||||
"production_branch_checked_out"
|
||||
],
|
||||
"next_gate": "build narrow drift review and owner pick list before any dev branch creation"
|
||||
},
|
||||
{
|
||||
"product_id": "agent-bounty-protocol",
|
||||
"local_path": "/Users/ogt/Documents/agent-bounty-protocol",
|
||||
"local_branch": "main",
|
||||
"local_head": "0601df8bd9c0aaedb9ce3a226a6f1aeca645ca0a",
|
||||
"remote_main_commit": "b7a733f44f4f645dd21a9b4a9075b89c4a324f64",
|
||||
"remote_dev_present": false,
|
||||
"tracked_dirty_count": 24,
|
||||
"status": "blocked_local_drift_review_required",
|
||||
"blockers": [
|
||||
"local_head_differs_from_gitea_main",
|
||||
"tracked_dirty_worktree",
|
||||
"production_branch_checked_out"
|
||||
],
|
||||
"next_gate": "owner pick list for A2A/traffic/propose changes before dev branch creation"
|
||||
},
|
||||
{
|
||||
"product_id": "stockplatform-v2",
|
||||
"local_path": "/Users/ogt/stockplatform-v2",
|
||||
"local_branch": "main",
|
||||
"local_head": "1ef097e148ff6645e608fe5823aff9f038314512",
|
||||
"remote_main_commit": "1ef097e148ff6645e608fe5823aff9f038314512",
|
||||
"remote_dev_present": false,
|
||||
"tracked_dirty_count": 55,
|
||||
"status": "blocked_dirty_worktree_review_required",
|
||||
"blockers": [
|
||||
"tracked_dirty_worktree",
|
||||
"production_branch_checked_out"
|
||||
],
|
||||
"next_gate": "review dirty files and owner-selected include/exclude list before dev branch creation"
|
||||
},
|
||||
{
|
||||
"product_id": "vibework",
|
||||
"local_path": "/Users/ogt/Documents/VibeWork",
|
||||
"local_branch": "main",
|
||||
"local_head": "48275cc52be79107e887147d3fe10310a887afe9",
|
||||
"remote_main_commit": "76a4ee15026af278a3660ad4b4547e9308b107be",
|
||||
"remote_dev_present": false,
|
||||
"tracked_dirty_count": 95,
|
||||
"status": "blocked_local_drift_review_required",
|
||||
"blockers": [
|
||||
"local_head_differs_from_gitea_main",
|
||||
"tracked_dirty_worktree",
|
||||
"production_branch_checked_out"
|
||||
],
|
||||
"next_gate": "owner pick list for growth/admin/runtime changes before dev branch creation"
|
||||
},
|
||||
{
|
||||
"product_id": "clawbot-openclaw",
|
||||
"local_path": "/Users/ogt/clawbot-v5",
|
||||
"local_branch": "main",
|
||||
"local_head": "f4b84d730ae0ef2cb2fb5cc49b4eb585b10246e2",
|
||||
"remote_main_commit": "22074fbe4d6ec6c11c86f76139eea55756d1d160",
|
||||
"remote_dev_present": false,
|
||||
"tracked_dirty_count": 2,
|
||||
"status": "blocked_local_drift_review_required",
|
||||
"blockers": [
|
||||
"local_head_differs_from_gitea_main",
|
||||
"tracked_dirty_worktree",
|
||||
"production_branch_checked_out"
|
||||
],
|
||||
"next_gate": "review docker-compose and main.py drift before dev branch creation"
|
||||
},
|
||||
{
|
||||
"product_id": "bitan-pharmacy",
|
||||
"local_path": "/Users/ogt/bitan-pharmacy",
|
||||
"status": "blocked_internal_inventory_and_dirty_review_required",
|
||||
"blockers": [
|
||||
"internal_repo_requires_owner_export_or_authenticated_inventory",
|
||||
"dirty_worktree"
|
||||
],
|
||||
"next_gate": "owner export or authenticated inventory plus dirty review"
|
||||
},
|
||||
{
|
||||
"product_id": "tsenyang-website",
|
||||
"local_path": "/Users/ogt/tsenyang-website",
|
||||
"status": "blocked_internal_inventory_and_dirty_review_required",
|
||||
"blockers": [
|
||||
"internal_repo_requires_owner_export_or_authenticated_inventory",
|
||||
"dirty_worktree"
|
||||
],
|
||||
"next_gate": "owner export or authenticated inventory plus dirty review"
|
||||
},
|
||||
{
|
||||
"product_id": "vtuber",
|
||||
"local_path": "/Users/ogt/VTuber",
|
||||
"status": "blocked_repository_inventory_repair_required",
|
||||
"blockers": [
|
||||
"remote_repository_not_found_or_unauthenticated",
|
||||
"local_head_readback_abnormal",
|
||||
"dirty_worktree"
|
||||
],
|
||||
"next_gate": "repair local repository inventory before any Gitea action"
|
||||
}
|
||||
],
|
||||
"automation_gaps": [
|
||||
{
|
||||
"gap_id": "candidate_readback_default_roots_incomplete",
|
||||
"description": "codex-gitea-dev-branch-candidate-readback.py only maps 2026fifa and agent-bounty-protocol, so VibeWork, StockPlatform, and ClawBot need root mapping before automated candidate readback can replace manual checks.",
|
||||
"status": "needs_tool_update"
|
||||
},
|
||||
{
|
||||
"gap_id": "dashboard_generator_drops_latest_artifact_sync",
|
||||
"description": "codex-workstation-sync-dashboard.py current output does not preserve the latest_artifact_sync section from the shared dashboard snapshot, so it should not overwrite the shared dashboard until the generator is upgraded.",
|
||||
"status": "needs_tool_update"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user