From 84bc03c9baf11b80c9d1c76f23017f8e47eb2f28 Mon Sep 17 00:00:00 2001 From: john Date: Mon, 6 Jul 2026 17:11:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(ops):=20=E5=B0=86=20goose=20session=20postg?= =?UTF-8?q?res=20ensure=20=E8=84=9A=E6=9C=AC=E6=89=93=E5=85=A5=20runtime?= =?UTF-8?q?=20=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 发版后 Portal live 目录为无源码 runtime,ensure 脚本需随包发布;文档与发布检查改为引用 goosed-prod 稳定路径作为 103 兜底。 Co-authored-by: Cursor --- docs/103-runtime-topology.md | 2 +- scripts/build-portal-runtime.mjs | 5 +++++ scripts/release-portal-runtime-prod.sh | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/103-runtime-topology.md b/docs/103-runtime-topology.md index 5ed1a94..b3335b9 100644 --- a/docs/103-runtime-topology.md +++ b/docs/103-runtime-topology.md @@ -64,7 +64,7 @@ Portal must be released as a runtime artifact. Do not edit source directly on 10 **Critical:** Colima goosed reaches the session DB via `host.docker.internal:5432`. If host PostgreSQL is stopped, H5 `/agent/start` hangs ~60s then fails with `pool timed out`, and the UI stays on「正在创建新对话…」. Recovery: ```bash -ssh john@58.38.22.103 'bash /Users/john/Project/Memind/scripts/ensure-goose-session-postgres.sh' +ssh john@58.38.22.103 'bash /Users/john/Project/goosed-prod/scripts/ensure-goose-session-postgres.sh' ssh john@58.38.22.103 '/opt/homebrew/opt/postgresql@17/bin/pg_isready -h 127.0.0.1 -p 5432' ``` diff --git a/scripts/build-portal-runtime.mjs b/scripts/build-portal-runtime.mjs index 0ea8ddb..a179259 100755 --- a/scripts/build-portal-runtime.mjs +++ b/scripts/build-portal-runtime.mjs @@ -352,6 +352,10 @@ async function writeMetadata() { path.join(root, 'scripts', 'resume-agent-run-prod.sh'), path.join(runtimeRoot, 'scripts', 'resume-agent-run-prod.sh'), ); + await fs.copyFile( + path.join(root, 'scripts', 'ensure-goose-session-postgres.sh'), + path.join(runtimeRoot, 'scripts', 'ensure-goose-session-postgres.sh'), + ); await writeFile( path.join(runtimeRoot, 'RUNBOOK.txt'), [ @@ -463,6 +467,7 @@ async function main() { await fs.chmod(path.join(runtimeRoot, 'scripts', 'agent-run-guard.mjs'), 0o755); await fs.chmod(path.join(runtimeRoot, 'scripts', 'install-agent-run-guard-agent.sh'), 0o755); await fs.chmod(path.join(runtimeRoot, 'scripts', 'resume-agent-run-prod.sh'), 0o755); + await fs.chmod(path.join(runtimeRoot, 'scripts', 'ensure-goose-session-postgres.sh'), 0o755); await fs.chmod(path.join(runtimeRoot, 'scripts', 'check-tool-runtime.mjs'), 0o755); await fs.chmod(path.join(runtimeRoot, 'scripts', 'check-agent-run-worker.mjs'), 0o755); await fs.chmod(path.join(runtimeRoot, 'scripts', 'memind-portal-tunnel.sh'), 0o755); diff --git a/scripts/release-portal-runtime-prod.sh b/scripts/release-portal-runtime-prod.sh index 464f0b9..ed4ab63 100755 --- a/scripts/release-portal-runtime-prod.sh +++ b/scripts/release-portal-runtime-prod.sh @@ -205,7 +205,7 @@ pg_isready_bin="/opt/homebrew/opt/postgresql@17/bin/pg_isready" if [[ -x "${pg_isready_bin}" ]]; then if ! "${pg_isready_bin}" -h 127.0.0.1 -p 5432 -q 2>/dev/null; then echo "goosed dependency check failed: host PostgreSQL (127.0.0.1:5432) is not accepting connections" >&2 - echo "Run: bash /Users/john/Project/Memind/scripts/ensure-goose-session-postgres.sh" >&2 + echo "Run: bash /Users/john/Project/goosed-prod/scripts/ensure-goose-session-postgres.sh" >&2 missing=1 fi else -- 2.52.0