背景与约束
截至 2026-09-10,架构审计与本轮改进已合并到 main:MyBatis 持久化、Flyway/MySQL 迁移与隔离恢复、结构化日志与 Prometheus、固定 PCM 背压基线,以及 WebSocket 会话编排拆分均已有独立 Issue/PR 和验证记录。
本 Issue 是本轮收尾后的路线协调入口,不包含实现提交、不替代设计评审,也不授权直接发布或变更生产环境。开始任一后续工作前,必须建立一个范围单一、可验证的子 Issue,再使用短生命周期分支和独立 PR 完成。
约束:
- 不将 mock、单机、隔离 MySQL 或单次模型实验外推为生产 SLA、容量、多节点 HA、RTO/RPO 或灾备结论。
- 禁止提交 API key、token、Cookie、私钥、真实用户音频、会话文本或生产库详情。
- 不因“主流技术栈”机械增加 MyBatis-Plus、微服务、服务网格或中间件;先写清楚问题、替代方案和可验证收益。
当前边界与问题
| 优先级 |
能力线 |
已有证据 |
尚未证明或待决问题 |
| P0 |
发布一致性 |
main 已通过本地/CI 质量门禁;历史部署、回滚和配置边界已有文档 |
最新 main 的构建产物、部署版本、健康检查与回滚证据必须在受控发布任务中重新闭环 |
| P1 |
实时语音 |
固定合成 PCM 的 5 次受控模拟已输出分位数;浏览器与服务端背压策略有单测 |
真实 provider、浏览器与授权测试素材下的 5 次端到端分位数、断网/超时和长时稳定性尚未作为同一实验闭环 |
| P1 |
Java 后端运行 |
Flyway、MyBatis、outbox、指标与隔离 MySQL 验证已完成 |
指标抓取、告警阈值、访问边界和故障响应仍需在实际运行环境留存脱敏操作证据 |
| P2 |
实时架构 |
WebSocket 适配、协调、租约和 handoff 已拆分且协议回归通过 |
RealtimeSessionRunner 仍是长生命周期编排类;是否进一步提取段落状态/纠偏/报告边界,要先由单独 Issue 以行为测试驱动 |
| P2 |
韧性与容量 |
有界队列、租约、timeout 降级与报告收尾均有单元/隔离证据 |
无 20 分钟受控 soak、无多节点 RabbitMQ/ES HA、无容量或资源曲线结论 |
分阶段方案
- P0 发布可追溯性:建立发布验证 Issue,绑定一个具体
main commit、不可变构建产物、健康检查、版本回显与已验证回滚步骤;不得以“替换 jar”代替版本和回滚证据。
- P1 真实实时验证:建立语音体验实验 Issue,仅使用合成或已授权脱敏 PCM。至少同环境运行 5 次,记录首个 transcript/translation/audio、
session_report 的 P50/P95/P99,浏览器 bufferedAmount、服务端 droppedFrames、provider timeout/断网的用户可见结果和不可外推边界。
- P1 运行可观测性闭环:建立运维验证 Issue,限定在获授权环境,检查 Prometheus 抓取、actuator 网络暴露、日志脱敏、关键指标阈值和一条故障演练;不得暴露环境地址、凭据或生产数据。
- P2 受控韧性与代码演进:分别建立长时 soak 与 runner 内部职责拆分 Issue。前者记录资源和错误曲线;后者先补行为测试,再以可回滚小 PR 移动状态机或纯函数。
每个子 Issue 必须明确范围、非范围、风险、回滚、验收命令和所需授权。P0/P1/P2 不是允许合并成一个“大 PR”的理由。
验收与回滚
本路线 Issue 的完成定义是:
本 Issue 不执行代码或数据回滚。各后续子 Issue 必须为自身的发布与回滚路径负责。
关联
背景与约束
截至 2026-09-10,架构审计与本轮改进已合并到
main:MyBatis 持久化、Flyway/MySQL 迁移与隔离恢复、结构化日志与 Prometheus、固定 PCM 背压基线,以及 WebSocket 会话编排拆分均已有独立 Issue/PR 和验证记录。本 Issue 是本轮收尾后的路线协调入口,不包含实现提交、不替代设计评审,也不授权直接发布或变更生产环境。开始任一后续工作前,必须建立一个范围单一、可验证的子 Issue,再使用短生命周期分支和独立 PR 完成。
约束:
当前边界与问题
main已通过本地/CI 质量门禁;历史部署、回滚和配置边界已有文档main的构建产物、部署版本、健康检查与回滚证据必须在受控发布任务中重新闭环RealtimeSessionRunner仍是长生命周期编排类;是否进一步提取段落状态/纠偏/报告边界,要先由单独 Issue 以行为测试驱动分阶段方案
maincommit、不可变构建产物、健康检查、版本回显与已验证回滚步骤;不得以“替换 jar”代替版本和回滚证据。session_report的 P50/P95/P99,浏览器bufferedAmount、服务端droppedFrames、provider timeout/断网的用户可见结果和不可外推边界。每个子 Issue 必须明确范围、非范围、风险、回滚、验收命令和所需授权。P0/P1/P2 不是允许合并成一个“大 PR”的理由。
验收与回滚
本路线 Issue 的完成定义是:
<Gitmoji> type(scope): 中文摘要及仓库模板。本 Issue 不执行代码或数据回滚。各后续子 Issue 必须为自身的发布与回滚路径负责。
关联