Files
danyang-match/docs/superpowers/plans/2026-10-15-release-readiness-execution.md
T
WorkBuddy 3c2b967274
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s
release: freeze 2026-10-15 validated release baseline
2026-10-15 09:47:31 +08:00

125 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# V1.1 可发布条件实施计划
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 在不扩大业务范围的前提下,完成丹阳公益婚恋平台 V1.1 的发布前验证,并输出可复现的 `GO`、`CONDITIONAL GO` 或 `NO-GO` 决策。
**Architecture:** 保持模块化单体、PostgreSQL Source of Truth 和现有 Docker Compose。验证分为代码测试、真实 PostgreSQL、运行中服务、人工 UAT、运维发布五层;任一层的结果不替代其他层。
**Tech Stack:** Java 21、Spring Boot 3、PostgreSQL 16、Redis、Docker Compose、Vue 3、微信原生小程序、Edge、Maven 阿里云镜像。
**Spec:** `docs/superpowers/plans/2026-10-15-next-phase-validation-roadmap.md`、`docs/STATUS.md`、`AGENTS.md`。
## Global Constraints
- 不清理、回滚或覆盖现有未提交修改。
- 不把 H2、内存模拟、Mock 微信或演示 Seed 结果写成生产验收证据。
- 不安装 Chrome/Chromium;管理端使用 Edge。
- 测试账号、密码、Token 只通过环境变量注入,不写入仓库或日志。
- 不修改生产业务逻辑,除非真实验证复现出根因并完成回归测试。
- 不执行不可逆数据库清理;所有演示数据操作前先备份。
---
### Task 1:发布基线与环境确认
**Files:**
- Inspect: `git status`、`infrastructure/docker-compose.yml`、`.env.example`、`docs/PENDING_DECISIONS.md`
- Create: `.mimosa/release-baseline-20261015.log`
- Modify: `docs/STATUS.md`
**Interfaces:**
- Produces:当前提交/工作区、Flyway 版本、容器健康状态、配置缺口清单。
- [ ] 检查工作区,不修改既有未提交文件。
- [ ] 检查 `.env` 必需变量是否存在,仅输出变量名,不输出值。
- [ ] 启动或复用完整 Docker 演示栈,确认 PostgreSQL、Redis、后端、管理端、Nginx 健康。
- [ ] 备份演示数据库并记录 Flyway 版本。
- [ ] 将缺失项分为代码可执行项和必须由用户/运营提供的条件。
验收:环境健康、备份文件存在、无敏感值进入日志。
### Task 2:真实 PostgreSQL 并发门禁
**Files:**
- Inspect/Modify:`backend/src/test/java/com/danyang/match/platform/concurrent.ConcurrentTests.java`
- Inspect/Modify:`backend/src/test/resources/application-test.yml`
- Create:`.mimosa/postgres-concurrency-test.log`
**Interfaces:**
- Consumes:隔离 PostgreSQL 数据库、真实 Service/Mapper。
- Produces:Like 并发无重复 active Match;活动报名/审核不超过容量;失败有明确业务错误。
- [ ] 为每次测试生成唯一 run id 和隔离用户/活动数据。
- [ ] 将内存 `AtomicInteger` 模拟替换为真实 Service/Mapper 调用。
- [ ] 执行同一目标的并发 Like 和超容量活动报名/审核。
- [ ] 查询 PostgreSQL 结果,断言重复 Match 为 0、approved 数不超过 capacity。
- [ ] 清理本次 run id 数据并保留日志。
验收:真实 PostgreSQL 测试通过;否则标记 `NOT_VERIFIED`,不得给正式生产 GO。
### Task 3:完整业务闭环 E2E
**Files:**
- Inspect/Modify:`backend/src/test/java/com/danyang/match/platform/core/CoreE2ETest.java`
- Create:`.mimosa/core-e2e-postgres-test.log`
**Interfaces:**
- Consumes:微信 Mock Provider、实名/资料审核、推荐、Like、双向 Match、聊天、牵手服务。
- Produces:真实 PostgreSQL 下可复现的注册到牵手闭环和负向权限断言。
- [ ] 拆解现有 `@Disabled` 占位测试。
- [ ] 每个步骤先查询数据库状态,再进入下一步。
- [ ] 增加未审核资料不能推荐、未 Mutual 不能聊天、单方确认不能完成的负向断言。
- [ ] 在隔离 PostgreSQL 数据库执行并保存日志。
- [ ] 只有完整链路通过才移除 `@Disabled`;否则保留并标记 `NOT_VERIFIED`。
验收:主流程和负向流程均通过。
### Task 4:运行中服务与前端发布冒烟
**Files:**
- Use:`tests/public-id-web-live.cjs`
- Use:`tests/admin-dashboard-behavior.cjs`
- Use:`scripts/miniapp-compile-check.mjs`
- Create:`.mimosa/release-smoke-20261015.log`
- Modify:`docs/STATUS.md`
**Interfaces:**
- Consumes:完整 Docker 栈、Edge、微信开发者工具。
- Produces:登录、工作台、红娘服务、授权审批、公开编号、401、重启恢复证据。
- [ ] 执行后端健康、管理端 `/admin/`、未登录 401 和公开编号 API 冒烟。
- [ ] 用 Edge 验证管理端登录、工作台统计、红娘服务、服务详情、跟进、完成服务、联系授权审批。
- [ ] 用演示数据走用户确认服务到管理端完成服务的闭环,核对统计回写。
- [ ] 重启后端和前端服务,重复登录、工作台和编号查询。
- [ ] 运行小程序编译检查并由用户在微信开发者工具/真机完成红娘端关键路径复验。
验收:核心页面、接口和重启恢复均通过。
### Task 5:生产配置、备份恢复和人工发布条件
**Files:**
- Inspect:`infrastructure/docker-compose.prod.yml`、`infrastructure/scripts/backup.sh`、`infrastructure/scripts/restore.sh`、`docs/legal/privacy-policy.md`、`docs/security/PIA.md`
- Create:`docs/RELEASE-READINESS-2026-10-15.md`
- Modify:`docs/STATUS.md`
**Interfaces:**
- Produces:发布条件矩阵、剩余 P0/P1、最终 `GO/CONDITIONAL GO/NO-GO`。
- [ ] 验证生产配置关闭 Mock 微信、演示 Seed、Debug、Swagger,并使用注入密钥。
- [ ] 执行加密备份和干净环境恢复演练,记录数据库校验结果。
- [ ] 验证 HTTPS、域名、监控、日志、回滚目标和端口暴露。
- [ ] 核对隐私政策法务确认、微信小程序审核、运营真实内容和待决策项。
- [ ] 形成发布决策:全部 P0 通过才允许 `GO`;有人工条件未完成则 `CONDITIONAL GO`;真实数据库/E2E/安全门禁缺失则 `NO-GO`。
验收:发布报告包含每项证据、负责人、阻塞原因和下一步。
## 执行顺序
1. Task 1:基线和环境
2. Task 2:真实 PostgreSQL 并发
3. Task 3:完整 PostgreSQL E2E
4. Task 4:运行中服务和人工验收
5. Task 5:生产门禁和发布决策