feat: Agentic QE Fleet v2.0.0 - 14-agent quality engineering platform
- 14 specialized AI agents across 5 battle zones (Prepare/Analyze/Design/Review/Monitor) - New: risk-assessor, test-strategist, data-builder, coverage-auditor, quality-gatekeeper, execution-analyst, knowledge-curator - New: fleet_runner.py orchestrator with multi-zone manifest pipeline - New: fleet_config.yml for centralized configuration - New: knowledge activation system (keyword + semantic matching) - New: semantic conflict detection with severity grading (P0-P3) - New: three-tier quality gate (PASS/PASS_WITH_FIX/BLOCKED) - New: monitor zone for test execution analysis and auto knowledge curation - Backward compatible: /case_generate alias, case_pipeline.py preserved - Comprehensive docs: USER_GUIDE.md + MAINTENANCE_GUIDE.md
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# 营销叠加互斥规定
|
||||
|
||||
> 核心业务规则,生成用例时**严禁**违反以下逻辑(以 `/zanmall_order/order/confirm` + `/zanmall_order/order/submit` 当前代码为准):
|
||||
|
||||
1. **优惠券规则(作用域互斥)**:
|
||||
- 同一作用域(同店铺券池 / 平台券池)一次只会生效 **1 张券**,不可多张叠加。
|
||||
- 平台券与店铺券可同时生效(前提各自命中可用条件)。
|
||||
- 套餐商品(`comboId > 0`)不参与优惠券分摊。
|
||||
2. **优先级逻辑**:
|
||||
- 用户未手动指定优惠券(`userChangeCoupon != 1`)时,系统默认选择**优惠金额最大**的可用券。
|
||||
- 用户手动指定(`userChangeCoupon = 1`)时,仅按传入 `couponIds` 选择;也可手动不使用优惠券。
|
||||
3. **积分与优惠券关系**:
|
||||
- 普通订单中,**优惠券可与积分抵现叠加**(积分开关开启且 `isScorePay = 1`)。
|
||||
- 积分在会员权益阶段之后计算,提交时会单独锁积分。
|
||||
4. **一口价互斥**:
|
||||
- 命中一口价(`fixedPriceId != null`)时,不走平台券、会员折扣、积分抵现链路。
|
||||
- 一口价会重算店铺金额并覆盖此前店铺侧优惠计算结果,不与常规营销链路叠加。
|
||||
5. **满减送互斥**:
|
||||
- 满减送对以下商品组直接跳过:已命中旧满减、拼团/秒杀/积分类商品、限时折扣、一口价、套餐。
|
||||
6. **会员折扣链路差异(配置项)**:
|
||||
- 会员价开关关闭(legacy)时:会员折扣可继续叠加在已优惠商品上。
|
||||
- 会员价开关开启(hybrid)时:已命中营销活动或已使用优惠券的商品不再叠加会员折扣。
|
||||
7. **运费规则**:
|
||||
- 运费按“店铺 + 运费模板(含供应商维度)”计算后累加。
|
||||
- 包邮只作用于命中的模板或模板条件,不是“只要有一件包邮就全单免邮”。
|
||||
8. **确认单链路顺序(普通路径)**:
|
||||
- 先计算店铺侧营销(折扣/套餐、满减、店铺券等),再处理平台券,再处理会员与积分,再汇总运费。
|
||||
- 若命中一口价,直接进入一口价分支并覆盖店铺金额,不再进入平台券+会员+积分常规链路。
|
||||
9. **提交单锁定规则**:
|
||||
- 提交单阶段不会重新“试算”营销组合,按确认单结果执行资源锁定。
|
||||
- 优惠券、积分分别在提交阶段单独锁定,确保与确认单结果一致。
|
||||
|
||||
## 关系速查(按当前接口逻辑)
|
||||
|
||||
| 活动A | 活动B | 关系 | 条件说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| 优惠券 | 优惠券(同作用域) | ❌ | 同一券池仅生效 1 张 |
|
||||
| 平台券 | 店铺券 | ✅ | 分池计算,可同时生效 |
|
||||
| 优惠券 | 套餐商品 | ⬇️ | 套餐商品不参与券分摊,非套餐可用券 |
|
||||
| 优惠券 | 积分抵现 | ✅ | 积分开关开启且 `isScorePay=1` 时可叠加 |
|
||||
| 会员折扣 | 优惠券 | ⬇️ | legacy 可叠加;hybrid 对已用券商品不叠加 |
|
||||
| 满减送 | 旧满减/限时折扣/套餐/一口价/拼团秒杀积分类 | ❌(同商品组) | 命中互斥条件即跳过满减送 |
|
||||
| 一口价 | 平台券 | ❌ | 一口价分支跳过平台券链路 |
|
||||
| 一口价 | 会员折扣 | ❌ | 一口价分支跳过会员链路 |
|
||||
| 一口价 | 积分抵现 | ❌ | 积分在会员链路内计算,一口价整体跳过 |
|
||||
| 一口价 | 店铺侧营销结果(满减/店铺券/套餐) | ❌(覆盖) | 一口价重算并覆盖此前店铺优惠汇总 |
|
||||
| 提交阶段 | 优惠券锁定 | 执行 | 按确认单结果锁券 |
|
||||
| 提交阶段 | 积分锁定 | 执行 | 按确认单结果锁积分 |
|
||||
| 运费 | 包邮模板 | ⬇️ | 按店铺+模板累加;仅命中模板免运费 |
|
||||
|
||||
## 符号定义
|
||||
|
||||
- `✅`:可叠加(同一条 confirm 链路会连续生效,且无显式跳过/覆盖)
|
||||
- `❌`:互斥(代码显式跳过,或后置计算覆盖前置结果)
|
||||
- `⬇️`:条件叠加(依赖配置开关、活动命中、商品类型、券作用域等)
|
||||
|
||||
## 可配置项(影响叠加结果)
|
||||
|
||||
- `memberPriceSwitchConfig(enabled/failOpenLegacy)`:控制会员折扣走 legacy 还是 hybrid。
|
||||
- `SCORE_CONFIG(shoppingScoreSwitch/useRatioLimit/shoppingUseScoreRatio)`:控制积分抵现开关、比例与上限。
|
||||
- `会员权益 rightsType/freeFeeType`:控制会员包邮是否命中。
|
||||
- `userChangeCoupon + couponIds`:控制是否手动指定优惠券。
|
||||
Reference in New Issue
Block a user