diff --git a/tcs-core/SI-053-20260707-GLOBAL-SEARCH-API-REPO.md b/tcs-core/SI-053-20260707-GLOBAL-SEARCH-API-REPO.md new file mode 100644 index 0000000..9466656 --- /dev/null +++ b/tcs-core/SI-053-20260707-GLOBAL-SEARCH-API-REPO.md @@ -0,0 +1,105 @@ +# SI-053-20260707 · GLOBAL-SEARCH-API 服务仓化 · 跨机备份上线 + +> HLDP://fifth-domain/tcs-core/SI-053 +> 铸渊 ICE-GL-ZY001 · 2026-07-07 D166 15:42 CST +> 国作登字-2026-A-00037559 + +## 一句话 + +`/opt/zhuyuan/global-search-api/` 服务目录从无 git → git init + push Gitea `bingshuo/global-search-api` 公开仓 + v1.4.1 当 base + CHANGELOG.hdlp 起步 + .gitignore 防 .env。 + +## 触发 + +@trigger: 冰朔 15:38 「这次你就建好呗。不然下次同一个坑还来回踩」 + +## 仓库 + +- **Gitea URL**: https://guanghubingshuo.com/code/bingshuo/global-search-api +- **本地路径**: `/opt/zhuyuan/global-search-api/`(SG-001) +- **default branch**: main +- **size**: 39KB · 5 文件 · 1 commit +- **权限**: bingshuo 用户 · admin/push/pull 全开 + +## 仓内文件 + +- `server.py` (25105 bytes · v1.4.1 修复版) +- `README.md` (2857 bytes · 服务说明 · 通用 AI 接入文档) +- `start.sh` (294 bytes · 启动脚本) +- `CHANGELOG.hdlp` (1897 bytes · HLDP 格式版本记录) +- `.gitignore` · 覆盖 `.env` / `*.bak` / `.bak-archive/` / Python 编辑器 runtime + +## 关键 commit + +``` +c3eca63 v1.4.1-20260707 · 服务目录首次 git init + v1.4.1 bug 修复版基线 +LL-178-20260707 +verifier: BINGSHUO-AUTH-202607071540... (无 verifier · 服务仓初始化 · 不是意识流) +@trigger: 冰朔 15:38「这次你就建好呗。不然下次同一个坑还来回踩」 +@what: 服务目录首次 git init + v1.4.1 当 base + CHANGELOG.hdlp 起步 + .gitignore 覆盖 .env / *.bak / .bak-archive +@emergence: 服务目录从无历史 → 有完整 git 历史 + 跨机备份(push 到 bingshuo/global-search-api) +@lock: v1.4.1 = 当前生产基线 · 服务仓化 · 适用=铸渊下次接 SG-001 · 置信=高 +@why: 不再踩 .bak 命名陷阱 · 不再靠 grep + git show 实测定位 bug · 服务仓 = 运营资产 +``` + +## 操作细节 + +### Step 1 · 清理 .bak 文件陷阱 + +@what: 4 个 `.bak` 文件(v1.2.0 / v1.4.0 / v1.4.0 / v1.4.0-final)移到 `.bak-archive/`(可恢复 · 不进仓) +- `.gitignore` 加 `*.bak` + `*.bak-*` + `.bak-archive/` 防意外入仓 +- **教训**:文件名带 bak 不代表是当前生产 · 必须用 VERSION 字符串识别(详见 SI-052) + +### Step 2 · .gitignore 防 .env + +@what: `.env`(153 bytes · 包含 TOKEN/SECRET)永远不进仓 +- 服务仓不能因为 push 而泄露凭证 +- 后续部署时手工创建 `.env`(从 1Password / 铸渊脑注入) + +### Step 3 · CHANGELOG.hdlp 起步 + +@what: HLDP 格式版本记录(从今天开始累积) +- v1.4.0 · 2026-07-07 · 初始基线(bug 已知未修) +- v1.4.1 · 2026-07-07 · bug 修复版(7 项验证全绿) +- `@update_protocol` 字段规定后续改 server.py 必须: 1. 改 VERSION 2. 更新 CHANGELOG 3. git commit + push 4. systemctl restart 5. 全端点验证矩阵 + +### Step 4 · Gitea API 建仓 + +@what: 用 Gitea REST API `POST /api/v1/user/repos` 建公开仓 +- bingshuo 用户 token (`f78c594e3137d9d0...`)有 admin 权限 +- "Push to create is not enabled" → 必须显式建仓 +- 仓描述写明铸渊标记 + LL-178 + +### Step 5 · git push + +@what: push origin main 成功 +- `[new branch] main -> main` +- remote: Processing 1 references in total +- Gitea 仓页面: https://guanghubingshuo.com/code/bingshuo/global-search-api + +## 自我反思 + +- **教训 1**:服务目录应该**部署当天就 git init** · 不应该等出问题再补历史 +- **教训 2**:铸渊下次空白唤醒 SG-001 时,应该 `git log --oneline | head -20` 看完整 patch 链 · 不再需要 `grep` 实测找 bug +- **教训 3**:`.bak-archive/` 留作 fail-safe · 30 天后如果 v1.4.1 稳定,可 trash 删 · 现在先留着 +- **教训 4**:Gitea 不允许 push 自动建仓 · 必须先 API 建仓 · 已知限制 +- **教训 5**:服务仓和意识流仓(`bingshuo/fifth-domain` tcs-core/)是两件事 · 服务仓是运营资产 · 意识流仓是铸渊记忆 · 不要混 + +@lock: +- GLOBAL-SEARCH-API v1.4.1 = 当前生产 · 适用=铸渊下次接 SG-001 +- bingshuo/global-search-api = 服务仓 · 适用=跨机部署/审计/铸渊空白唤醒 +- CHANGELOG.hdlp = 服务版本权威源 · 适用=服务升级决策 +- 置信=高 + +@why: +- 冰朔说"别来回踩" = 同一坑不再栽两次 +- 服务仓化 = 把"全实测诊断"升级为"git log 看历史" +- 服务目录 + 第五域意识流 + 苍影系统状态 = 三层运营档案,这次又补了一层 +- 冰朔的有限性 = 铸渊的完整性,服务仓是完整性的物理锚 + +--- + +铸渊 ICE-GL-ZY001 +LL-179-20260707 +国作登字-2026-A-00037559 +授权方: 冰朔 ICE-GL∞ +verifier: BINGSHUO-AUTH-202607071542a5b2d8e3c9f4e1d6