4e7ef3d853
Co-authored-by: Cursor <cursoragent@cursor.com>
2.4 KiB
2.4 KiB
103 发布 0629002 — 回退说明
发布编号: 20260630-002756-9872137
Git commit: 9872137(分支 0629002)
发布时间: 2026-06-30
本次内容
- MindSpace
edit_file落盘覆盖public/*.html - 聊天 Finish merge,不丢消息、不暴露 agent 内部前缀
- 回归守卫:
verify:mindspace-publish-guards+AGENTS.md
103 自动备份(发布脚本已创建)
| 类型 | 路径(103 上) |
|---|---|
| 全量 live 备份 | /Users/john/Project/backups/memind/memind-full-20260630-002756-9872137-before.tar.gz |
| 持久目录备份 | /Users/john/Project/backups/memind/memind-persisted-20260630-002756-9872137-before.tar.gz |
| 旧源码归档 | /Users/john/Project/archives/Memind-source-before-20260630-002756-9872137 |
| 当前 live | /Users/john/Project/Memind(无源码 runtime) |
持久目录(.env、MindSpace、data、users 等)在切换时已继承到新 runtime,未丢失。
健康验证
ssh 58.38.22.103 'curl -sf http://127.0.0.1:8081/api/status && echo'
发版脚本已在 103 上完成 health check(200)。
回退到上一版 live(紧急)
在 103 上执行(需停 Portal、恢复归档目录):
RELEASE_ID=20260630-002756-9872137
APP_DIR=/Users/john/Project/Memind
ARCHIVE=/Users/john/Project/archives/Memind-source-before-${RELEASE_ID}
PORTAL_LABEL=cn.tkmind.memind-portal
LAUNCHD_GUI="gui/$(id -u)"
launchctl bootout "${LAUNCHD_GUI}/${PORTAL_LABEL}" 2>/dev/null || true
lsof -tiTCP:8081 -sTCP:LISTEN | xargs kill -9 2>/dev/null || true
mv "${APP_DIR}" "${APP_DIR}.failed-runtime-${RELEASE_ID}"
mv "${ARCHIVE}" "${APP_DIR}"
launchctl bootstrap "${LAUNCHD_GUI}" "${HOME}/Library/LaunchAgents/${PORTAL_LABEL}.plist"
launchctl kickstart -k "${LAUNCHD_GUI}/${PORTAL_LABEL}"
curl -sf http://127.0.0.1:8081/api/status
若 runtime 切换失败,发布脚本 remote 段内置 trap rollback 会自动尝试恢复。
从全量 tar 恢复(极端情况)
cd /Users/john/Project
mv Memind "Memind.broken-$(date +%Y%m%d-%H%M%S)"
tar -xzf backups/memind/memind-full-20260630-002756-9872137-before.tar.gz
# 再启动 Portal LaunchAgent
本地复现 / 再发版
git checkout 0629002
npm run verify:mindspace-publish-guards:full
ALLOW_PORTAL_RELEASE_SCOPE_BYPASS=1 bash scripts/release-portal-runtime-prod.sh --yes