"""Append observed regression results only; do not mark QA passed or alter requirements."""
import json
import sys
from pathlib import Path

HERE=Path(__file__).resolve().parent
ROOT=HERE.parents[1]
sys.path.insert(0,str(ROOT/'work_store/VWCG-1450-consume-order-department-bulk-select/yunxiao'))
from transport import api,PREFIX,ENV

assert ENV['YUNXIAO_CREATOR_NAME']=='兰海军'
def rows(value): return value if isinstance(value,list) else (value or {}).get('result',(value or {}).get('items',[]))
marker='GX-DAILY-REGRESSION-20261019-09c08b1d6'
messages={
 'VWCG-1459': '1500容量真实HTTP验收未通过：开发环境堂食batchImport上传1500行，隔离测试人余额充足、现有30元价格规则，末行人员姓名错误。180秒无响应，nginx180.002秒HTTP499；超时后申请/明细0、资金无变动。两场景5行有效落库/重复拒绝/末行错误零新增/提交后撤回通过；1501堂食快速拒绝。不能把parser测试当作1500真实通过，便利店完整1500未验证。逐行完整预览多次远程DB/Redis读取放大，需限定批量导入路径优化与复测；没有据此断言正式环境必然超时。未改业务源码/未部署，请保留待测试，不标测试完成。',
 'VWCG-1461': '关联1459容量验收发现180秒HTTP超时，1500完整业务容量不通过。补充小批次双场景真实入库与原子性、重复文件拒绝通过；不能据此放行1500，需优化后在目标环境复测。申请阶段原子性不等于审核后所有扣款整批单事务；既有执行允许部分失败和幂等续跑。本轮只测与审查，未改共享消费策略/核心资金逻辑。',
 'VWCG-1467': '今日6组回归：PHP国信161测试2023断言、Node14前端17套76项、Node14构建通过。真实开发HTTP补贴新增/初审/终审/负数/重复终审，两充值方式均入补贴现金不变；堂食30元/小卖店0.01实际补单扣款→退款余额恢复，重复审核/执行/退款不重复变动；8类原worker异步导出均生成下载200；退款列顺序与流水14列逐笔/合计一致。无菜单4接口拒绝、停用账号排队后status5无文件通过。测试数据精确备份清理，既有资金指纹不变。仍有1459堂食1500行180秒超时容量阻断；1500便利店/目标部署压测、真实浏览器各框及横拖、H5/硬件/第三方真实交易、全仓旧基线失败签名对照未完成。保持测试处理中，不标全绿。',
}
evidence=[]
for serial,body in messages.items():
 item=api('GET',PREFIX+'/workitems/'+serial)
 assert item['serialNumber']==serial
 path=PREFIX+'/workitems/'+item['id']+'/comments'
 comments=rows(api('GET',path))
 if not any(marker in str(c.get('content','')) for c in comments):
  api('POST',path,{'content':marker+'\n'+body+'\n本地完整证据：work/2026-10-19-guoxin-daily-regression/summary.md 和 capacity-findings.md。无凭据/人员明细，无生产变更。'})
 readback=rows(api('GET',path))
 assert any(marker in str(c.get('content','')) for c in readback)
 after=api('GET',PREFIX+'/workitems/'+item['id'])
 assert after['status']['id']==item['status']['id']
 evidence.append({'serial':serial,'id':item['id'],'status':after['status']['name'],'commentConfirmed':True,'statusChanged':False})
 print(serial,after['status']['name'],'regression comment verified',flush=True)
(HERE/'yunxiao.sanitized.json').write_text(json.dumps(evidence,ensure_ascii=False,indent=2)+'\n')
