diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index a6c8da2fb..bfa8da0f1 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,14 @@ +## 2026-07-03 — 01:05 Gitea all-project repo / dev-main / bundle backup closure + +**完成內容**: +- 12 個主線專案 Gitea SSH readback 全部具備 `main` 與 `dev`:`awoooi`、`ewoooc`、`2026FIFAWorldCup`、`agent-bounty-protocol`、`AwoooGo`、`stockplatform-v2`、`vibework`、`momo-pro-system`、`tsenyang-website`、`clawbot-v5`、`bitan-pharmacy`、`vtuber`。 +- `bitan-pharmacy` 從 110 legacy bare repo 透過 Gitea 官方 `dump-repo` / `restore-repo` 掛回正式 `wooo/bitan-pharmacy` namespace;`wooo/bitan-pharmacy.git` 已讀回 `main/dev=e122c8cbd9`。 +- 188 已建立完整 12 repo Git bundle snapshot:`/home/ollama/backup/110/gitea/git-bundles/20260703-0100-codex-all-projects-complete`,12 個 `.bundle` 遠端 `git bundle verify` 全部通過,並切換 `latest-private-complete` / `latest`。 +- `scripts/backup/gitea-repo-bundle-backup.sh` 與 `scripts/ops/backup-health-textfile-exporter.py` 的預設 Gitea bundle expected repos 從 9 擴到 12;補 regression test 鎖住目前專案集合。 + +**仍維持**: +- 未讀 secret / token / `.env` / raw sessions / SQLite / auth;未使用 GitHub / gh;未 force push;未刪除 repo / refs;未重啟 host / Docker / K8s / DB / firewall。 + ## 2026-07-03 — 00:55 P0-006 runtime blocker action-matrix classification **完成內容**: diff --git a/scripts/backup/gitea-repo-bundle-backup.sh b/scripts/backup/gitea-repo-bundle-backup.sh index ab98eef3a..7e16a2fac 100755 --- a/scripts/backup/gitea-repo-bundle-backup.sh +++ b/scripts/backup/gitea-repo-bundle-backup.sh @@ -78,6 +78,9 @@ if [ "${#REPOS[@]}" -eq 0 ]; then "wooo/vibework" "wooo/momo-pro-system" "wooo/tsenyang-website" + "wooo/clawbot-v5" + "wooo/bitan-pharmacy" + "wooo/vtuber" ) fi diff --git a/scripts/ops/backup-health-textfile-exporter.py b/scripts/ops/backup-health-textfile-exporter.py index 742dff927..bc7ef6998 100755 --- a/scripts/ops/backup-health-textfile-exporter.py +++ b/scripts/ops/backup-health-textfile-exporter.py @@ -44,6 +44,9 @@ DEFAULT_GITEA_BUNDLE_EXPECTED_REPOS = [ "wooo/vibework", "wooo/momo-pro-system", "wooo/tsenyang-website", + "wooo/clawbot-v5", + "wooo/bitan-pharmacy", + "wooo/vtuber", ] ESCROW_ITEMS = [ "restic_repository_password", diff --git a/scripts/ops/tests/test_backup_health_textfile_exporter.py b/scripts/ops/tests/test_backup_health_textfile_exporter.py index e8ddb2278..97d342b35 100644 --- a/scripts/ops/tests/test_backup_health_textfile_exporter.py +++ b/scripts/ops/tests/test_backup_health_textfile_exporter.py @@ -18,6 +18,25 @@ def load_exporter(): return module +def test_default_gitea_bundle_expected_repos_cover_current_project_set() -> None: + exporter = load_exporter() + + assert exporter.DEFAULT_GITEA_BUNDLE_EXPECTED_REPOS == [ + "wooo/awoooi", + "wooo/ewoooc", + "wooo/2026FIFAWorldCup", + "wooo/agent-bounty-protocol", + "wooo/AwoooGo", + "wooo/stockplatform-v2", + "wooo/vibework", + "wooo/momo-pro-system", + "wooo/tsenyang-website", + "wooo/clawbot-v5", + "wooo/bitan-pharmacy", + "wooo/vtuber", + ] + + def test_gitea_bundle_metrics_require_all_expected_repos(tmp_path: Path, monkeypatch) -> None: exporter = load_exporter() bundle_root = tmp_path / "latest-private-complete"