From e2ad1e2932455c4cbaccae3ee0f89db33d3b7197 Mon Sep 17 00:00:00 2001 From: shunli Date: Sat, 8 Aug 2026 12:49:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95(08-08-production-deployment-?= =?UTF-8?q?execution):=20=E8=BF=BD=E6=BA=AF=E9=83=A8=E7=BD=B2=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=9D=A5=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../08-08-production-deployment-execution/implement.md | 7 +++++++ .../tasks/08-08-production-deployment-execution/task.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.trellis/tasks/08-08-production-deployment-execution/implement.md b/.trellis/tasks/08-08-production-deployment-execution/implement.md index 0013c219..5c7bf567 100644 --- a/.trellis/tasks/08-08-production-deployment-execution/implement.md +++ b/.trellis/tasks/08-08-production-deployment-execution/implement.md @@ -71,3 +71,10 @@ - 生产输入存在性检查:`EXPECTED_PRODUCTION_ORIGIN`、`EXPECTED_PRODUCTION_DB_NAME`、`EXPECTED_PENDING_MIGRATIONS`、`DEPLOY_SERVER`、`DEPLOY_REFRESH_SERVER` 五个进程输入均未注入;受控 contract 路径按设计应在连接目标后由 systemd unit 读取,未把它们误当作本地输入缺失。 - 生产动作:未执行 SSH、target gate、`prisma migrate status`、`migrate deploy`、数据库写入、refresh、公网 smoke 或真机验证;AC1 的生产体检及 AC2–AC7 保持未验收并标记 PAUSED。 - 失败分流:停止在生产输入门禁,未出现“门禁失败但继续推进”。后续必须在同一受控执行环境注入输入后,从 target gate 重新开始。 + +## Input Traceback Evidence (2026-08-08) + +- 当前 OPS7 运维交接 Runbook 仍提供公网 origin 作为只读检查基准;它没有提供生产数据库名或 SSH 身份。 +- 仓库外的三份验收 env 文件仍存在且为受控用户、`0600` 权限;它们只包含 live smoke、SMTP 或一次性账号键,不包含生产部署身份/数据库输入,未被本 task 读取或 source。 +- Git 历史没有 `deploy/trialrun/.env`、`deploy.env` 或上述验收 env 文件的删除记录;`.gitignore` 从始终将 `.env` 排除在版本库之外。 +- shell 历史没有五个部署变量的字面赋值记录。结论:部署输入不是被本 task 删除,而是按运维合同设计为每次执行时临时注入。 diff --git a/.trellis/tasks/08-08-production-deployment-execution/task.json b/.trellis/tasks/08-08-production-deployment-execution/task.json index 830b3178..7b8462f5 100644 --- a/.trellis/tasks/08-08-production-deployment-execution/task.json +++ b/.trellis/tasks/08-08-production-deployment-execution/task.json @@ -31,6 +31,6 @@ ".trellis/spec/hyb-oa/deployment-trialrun.md", "server/prisma/migrations/20260807193000_contract_registry_termination_workspace" ], - "notes": "本 task 只执行获批生产发布与只读验收,不执行真实 terminated 或其他业务写入。target/pre-status/terminated 窗口检查必须先于任何写入;首条已提交 terminated 记录按事件关闭回滚窗口。严格 wrapper 拒绝 unpublished override;规划提交 4596ed0 与暂停证据提交 73f1467 均已发布且 provenance PASS。2026-08-08 执行因五个必需生产进程输入(预期 origin、数据库名、pending allowlist、部署 SSH 身份、刷新 SSH 身份)未注入而 PAUSED;受控 contract 路径按设计由远端 systemd unit 读取,不属于本地输入缺失。未连接生产、未写库;后续必须在同一受控环境从 target gate 重新开始。原始 status 仅留受控现场,任务证据脱敏。", + "notes": "本 task 只执行获批生产发布与只读验收,不执行真实 terminated 或其他业务写入。target/pre-status/terminated 窗口检查必须先于任何写入;首条已提交 terminated 记录按事件关闭回滚窗口。严格 wrapper 拒绝 unpublished override;规划提交 4596ed0 与暂停证据提交 73f1467 均已发布且 provenance PASS。2026-08-08 执行因五个必需生产进程输入(预期 origin、数据库名、pending allowlist、部署 SSH 身份、刷新 SSH 身份)未注入而 PAUSED;追溯确认部署输入未被本 task 删除,而是按合同不持久化、每次临时注入。受控 contract 路径按设计由远端 systemd unit 读取,不属于本地输入缺失。未连接生产、未写库;后续必须在同一受控环境从 target gate 重新开始。原始 status 仅留受控现场,任务证据脱敏。", "meta": {} }