This commit is contained in:
parent
acf03222e9
commit
476c85ac56
@ -834,3 +834,18 @@ go vet ./...
|
||||
- **验证结果**:本地自动化测试通过;未将真实浏览器、Ubuntu、Telegram Bot 和生产插件进程验证标记为通过。
|
||||
- **遗留风险**:真实环境中的 iframe 渲染、插件进程隔离、Telegram API 连通性和用户可见页面仍需实机复审。
|
||||
- **复审日期**:2026-08-29(本机自动化复审)。
|
||||
|
||||
## 2026-08-30 回滚票据并发与失败重试整改记录
|
||||
|
||||
- **本轮状态**:`[x] 已完成,等待复审`
|
||||
- **执行任务**:继续复审配置回滚票据的代次冲突、一次性消费、并发执行、失败重试及错误响应边界。
|
||||
- **修改文件**:`server/config/manager.go`、`server/config/manager_v2.go`、`server/config/manager_v2_test.go`、`server/controllers/config_error.go`、`server/controllers/config_error_test.go`。
|
||||
- **实施摘要**:回滚票据增加执行中状态,防止同一票据被并发请求重复执行;请求取消或运行时快照暂时不可用时恢复票据的可重试状态;实际回滚已提交但审计写入失败时销毁票据,避免重复提交;新增 `CONFIG_ROLLBACK_IN_PROGRESS` 稳定错误码和中文提示。
|
||||
- **测试命令**:`go test ./config ./controllers -run 'Test(ConfigManagerRollbackTicket|ConfigErrorDetailsMapsRollbackInProgress)' -count=1`、`go test ./... -count=1 -timeout 30m`、`go vet ./...`、`git diff --check`。
|
||||
- **测试结果**:回滚票据专项测试、服务端全量测试和 `go vet ./...` 通过;前端 ESLint 与生产构建在上一轮已通过。
|
||||
- **安全检查**:错误响应不返回底层错误文本;票据仍绑定用户和会话,过期后清理;并发执行期间返回稳定冲突错误;成功提交后的票据不可重放。
|
||||
- **遗留问题**:真实 MySQL/PostgreSQL/SQLite 数据复制、校验和原子切换执行器,Ubuntu 22.04/24.04、Windows、真实浏览器、SMTP/IMAP/POP3、多实例和生产部署仍未完成实机验收。
|
||||
- **Git 证据**:`acf0322 完善回滚票据并发与失败重试`,已推送至 `smail/main`。
|
||||
- **回退验证**:未删除或覆盖既有配置、数据和保留的 `.codex*` 文件;若复审不通过,可回退本次提交。
|
||||
- **结束状态**:待复审
|
||||
- **复审人**:待人工复审。
|
||||
|
||||
@ -1245,3 +1245,18 @@ CG-053~CG-056 → AD-066 → CG-057
|
||||
- **发布阻塞**:真实 MySQL/PostgreSQL/SQLite 数据复制、校验、原子切换执行器尚未实现;真实 Ubuntu 22.04、Windows、浏览器、三数据库、邮件投递、多实例和生产环境验收尚未完成;CG-013 及依赖真实迁移执行器的任务不得标记为 `[✓]`。
|
||||
- **Git 操作**:没有执行 `git add`、`git commit` 或 `git push`;既有工作区改动和未跟踪文件保持原样,等待用户授权后再按文件范围提交。
|
||||
- **复审人**:待人工复审。
|
||||
|
||||
## 2026-08-30 回滚票据并发与失败重试实施记录
|
||||
|
||||
- **本轮状态**:`[x] 已完成,等待复审`
|
||||
- **执行任务**:继续实施配置系统回滚票据的并发消费、临时失败重试和稳定错误映射。
|
||||
- **开始状态**:配置回滚票据已具备操作者绑定和成功后失效能力,但临时失败会提前消耗票据,并发执行状态缺少明确错误边界。
|
||||
- **修改文件**:`server/config/manager.go`、`server/config/manager_v2.go`、`server/config/manager_v2_test.go`、`server/controllers/config_error.go`、`server/controllers/config_error_test.go`。
|
||||
- **实施摘要**:增加票据 `InFlight` 状态;在回滚执行前原子标记执行中,避免并发重复消费;对上下文取消和运行时快照暂不可用保留票据并允许在有效期内重试;通过已应用标志区分审计失败与未提交失败;新增 `CONFIG_ROLLBACK_IN_PROGRESS` 中文错误响应。
|
||||
- **测试命令**:`go test ./config ./controllers -run 'Test(ConfigManagerRollbackTicket|ConfigErrorDetailsMapsRollbackInProgress)' -count=1`、`go test ./... -count=1 -timeout 30m`、`go vet ./...`、`git diff --check`。
|
||||
- **测试结果**:配置管理器回滚票据专项测试通过;服务端全量测试通过;`go vet ./...` 和差异检查通过;前端 ESLint、生产构建已在上一轮复核通过。
|
||||
- **安全检查**:票据不落盘、不回显;错误响应使用稳定中文信息;会话绑定、过期清理和成功后单次消费语义保持不变。
|
||||
- **遗留问题**:CG-013 依赖的真实三数据库复制、校验、原子切换执行器尚未接入;跨平台、真实浏览器、邮件投递、多实例和生产验收仍开放,不能标记配置系统整体完成。
|
||||
- **回退验证**:只新增回滚票据状态和错误映射,未删除既有配置管理路径;可通过回退提交 `acf0322` 恢复上一版本。
|
||||
- **结束状态**:待复审
|
||||
- **复审人**:待人工复审。
|
||||
|
||||
Loading…
Reference in New Issue
Block a user