# 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:生产门禁和发布决策