- 根因: CreditReservation.task 是 OneToOneField(CASCADE), AITask.project 也是 CASCADE
—— 删项目→级联删任务→ACTIVE 预留行被吞, 账户冻结份额永不归还(实测 4 账户漂移共 ¥42,
且随删项目持续增长)
- 修法: billing/signals.py 挂 AITask pre_delete, 删除前先 release_credit 释放(级联同样
触发, release 自带行锁+幂等); apps.py ready() 接线
- 回归测试 x3: 直删任务/删项目级联/已扣费不重复释放
- qa/repair_reserved_drift.py: 存量漂移回填脚本(dry-run 默认, --apply 落 RELEASE 流水),
已对线上 4 账户执行并复验清零
- qa/function-audit/output: 本轮 18 页模拟点击审计报告(0 真死按钮 0 JS 报错)
验证: 后端测试 213/213 通过, django check 无警告
补齐 aab4d7e: 该提交带走了 signals.py 之外的测试轮改动, 信号挂载点与回归测试在本提交收口
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
功能审计 · dashboard
路由:/dashboard · 模式:quick
合计 31 · ✅ works 28 · ❌ dead 0 · 🛑 error 0 · ⏭ skipped(破坏性)3 · ◷ noop-active 0 · ⚪ disabled 0
🔍 设计稿里有、React 没渲染出来的控件(MISSING · 启发式)
按控件文字与设计稿
/exact对比,可能含装饰/动态文案误报,人工过一眼。
- 搜索
- E E2E 桥接测试团队 20260529
- 余额 ¥14,074.00
- 总项目 ALL 20 本月完成 0
- 进行中 WIP 16 全部正常推进
- 本月成片 DONE 4 累计完成 4
- 余额 ¥ ¥14,074.00 已用 ¥947.00 / ¥15,021.00
- [ ALL · 20 ]
- 9:16内衣-文胸 · 短视频 · v2内衣-文胸 / AI 全生 / 4 镜已完成打开
- 资产库资产 20 个
- 充值¥14,074.00
- 基础资产生成中
- 已完成
⏭ 破坏性按钮(未自动点,需人工验)
- 9:16南卡 · 短视频 · v4南卡 Lite Pro 蓝牙耳机 / AI 全生 / 1 镜基
button - 9:16南卡 · 短视频 · v12南卡 Lite Pro 蓝牙耳机 / AI 全生 / 1 镜
button - 9:16内衣-文胸 · 短视频 · v2内衣-文胸 / AI 全生 / 1 镜视频片段继续
button