{
  "task": 106,
  "redmineIssue": 35,
  "round": "staging-beta2-20261031-R1",
  "counts": {
    "Pass": 9,
    "Fail": 1,
    "Blocked": 0,
    "Skipped": 0
  },
  "cases": [
    {
      "id": "QA106-STG-ENV",
      "impact": "IMP106-12",
      "name": "部署版本与管理员角色",
      "status": "Pass",
      "actual": "消费Ops收据并p1实际加载beta.2/测试API、profile20 active；0028/worker隔离不重复现场探测",
      "evidence": "actual-browser-candidate.json; runtime-gate.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-CREATE",
      "impact": "IMP106-01/09",
      "name": "普通API创建A/B默认与独占归属",
      "status": "Pass",
      "actual": "A148/B149直接finished、各1000/flagfalse，项目96/需求31/PC27；年度客户15实际owner16/20各1000，ownMissingOwnerTaskIds为空",
      "evidence": "task-a-after-create-read.json; task-b-after-create-read.json; final-task-incentive-owners-read.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-QUICK-CREATE",
      "impact": "IMP106-01",
      "name": "真实快速创建C带标记",
      "status": "Pass",
      "actual": "UI唯一POST创建C150，project96/requirement31未新建；ongoing、flagtrue、收入null，精确GET证明归属",
      "evidence": "ui-quick-c-result.json; c-exact-detail-read.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-QUICK-EDIT",
      "impact": "IMP106-01/11",
      "name": "列表快编仅改B统计标记",
      "status": "Pass",
      "actual": "真实UI B149 true→false→true，各1TaskPUT/0CostPUT；项目70%→40%，原金融字段不变；保存后重新打开仍true",
      "evidence": "ui-quick-b-include-result.json; ui-quick-b-exclude-result.json; ui-pair-assertions.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-PAIR",
      "impact": "IMP106-02",
      "name": "70%→排除B后40%与原金额",
      "status": "Pass",
      "actual": "原2000/600毛利70%；排除B后basis1000/600、40%，原收入2000与成本600不变；API+项目实际列表图",
      "evidence": "baseline-project-list-read.json; pair-assertions.json; ui-quick-project-40-read.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-NEUTRAL",
      "impact": "IMP106-08/09",
      "name": "全排除基数0/0与系数1",
      "status": "Pass",
      "actual": "A/B均排除时excluded2/applicablefalse，项目legacy数值0但UI不适用；激励年度factor1、fallback；原2000/600与归属资格保留",
      "evidence": "neutral-assertions.json; neutral-ui-incentive-read.json; neutral-ui-basis.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-KM",
      "impact": "IMP106-10",
      "name": "已排除B仍进入零成本提醒",
      "status": "Pass",
      "actual": "Task149 actual_income1000、cost0、flagtrue，KM真实行可见，不因毛利标签隐藏",
      "evidence": "km-excluded-b-read.json; km-ui-refresh-and-link.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-REFRESH",
      "impact": "IMP106-10",
      "name": "刷新一致性与确切详情跳转",
      "status": "Pass",
      "actual": "真实刷新完成一次GET200/code200仍返回B149，UI行不计入；点击到/project_tasks/149；列表/项目刷新读回保持结果",
      "evidence": "km-ui-refresh-and-link.json; final-task-b-read.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-COST-SNAPSHOT",
      "impact": "IMP106-11",
      "name": "105必填兼容与未付成本保护",
      "status": "Pass",
      "actual": "成本42完整独立合成snapshot readytrue、600RMB unpaid；无payment_info_id/旧id；最终DTO与创建后相等；账户25仍缺银行，不改主档/豁免",
      "evidence": "cost-a-after-create-read.json; final-a-costs-read.json; final-reference-account25-read.json",
      "defect": null,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    },
    {
      "id": "QA106-STG-ORDINARY-EDIT",
      "impact": "IMP106-01/11",
      "name": "finished/unpaid普通编辑保存统计标记",
      "status": "Fail",
      "actual": "管理员20，B149 finished/unpaid，checkbox未禁用可勾但无保存/更新按钮，0编辑请求；primary确认DEF106-02，Redmine37；不被快编Pass覆盖",
      "evidence": "finished-unpaid-edit-ui-gap.json; final-task-b-read.json",
      "defect": 37,
      "environment": "deployed-staging",
      "backend": "1.20.15b2/473cc345",
      "frontend": "2.16.9-beta.2/578fdc8d",
      "actorId": 20
    }
  ],
  "localReuse": {
    "count": 49,
    "journal": 349,
    "environment": "local-only",
    "promotedToStaging": false
  },
  "fixtureManifest": "fixture-manifest.json",
  "defect": 37,
  "productSourceChangedByQA": false
}
