收口审计治理与套餐任务进展

Constraint: 在线热修前必须保存当前迭代分支全部有效代码进展
Confidence: medium
Scope-risk: broad
Directive: 后续修改需保持审计事件与业务事务边界一致
Tested: git diff --cached --check
Not-tested: 未运行全量测试,提交用于切换分支前保存既有工作
This commit is contained in:
2026-08-05 14:30:54 +08:00
parent b3499adfca
commit 5e552d99bc
178 changed files with 16797 additions and 5674 deletions

View File

@@ -4,7 +4,7 @@
七月迭代分支虽然仍保留旧 `enqueueActivationTask`,但已经具备更合适的本地接续边界:`ActivationService.ActivateNextPendingMainPackage` 负责载体锁、队首选择、条款快照、状态事务和提交后复机;实际激活事务还会原子追加 `card.observation.series.requested` Outbox。套餐状态推进本身是本地数据库用例不需要再经过一次 Asynq 才能执行。
本设计仅适用于 `Iteration/7-11`,不包含任何 `main` 分支兼容、纯 Asynq 热修或跨分支移植决策。
本设计仅适用于 `Iteration/7-11`,不包含跨分支兼容或移植决策。
## Goals / Non-Goals
@@ -18,7 +18,7 @@
**Non-Goals:**
-涉及 `main`,不生成可向 `main` cherry-pick 的修复提交
-提供跨分支兼容或移植方案
- 不新增套餐激活 Outbox 事件、消费者、迁移或队列类型。
- 不删除仍可能被其他旧入口使用的 `TaskTypePackageQueueActivation` 和 Handler只停止过期接续与孤儿恢复继续走该路径。
- 不修改购买、优先级分配、实名激活、流量扣减、退款失效和停复机规则。
@@ -106,12 +106,12 @@ Outbox 写入失败时套餐激活事务回滚,避免状态已生效但后续
1.`Iteration/7-11` 实施真实孤儿查询和同步接续调用。
2. 更新审计覆盖基线与功能总结,执行格式化、静态检查和 `go build ./...`
3. 用只读 SQL/查询计划验证候选公平性,用运行日志和数据库事实核验同步接续及卡观测 Outbox。
4. 形成七月分支专属 Lore commit该提交不面向 `main` 移植
4. 复核七月分支专属差异并保留在当前工作树,不创建提交
5. 发布七月迭代时观察至少两个轮询周期,确认真实孤儿收敛且卡观测 Outbox 正常投递。
### 回滚
- 无数据库迁移,回滚七月专属修复提交并重新部署 Worker。
- 无数据库迁移,发布后如需回滚,则回退七月专属修复代码并重新部署 Worker。
- 已正确激活的套餐保持业务事实,不执行反向 SQL。
- 回滚后出现孤儿时,使用带状态条件的单卡修复 SQL逐条处理。