验收证据 / 周报附件

业务验收矩阵

取证快照 2026-09-28 · HEAD 0d539b1b · 文件提交 93a241e5

来源:docs/reports/验收矩阵.md

场景版本 a3c628b|由 tools/acceptance/matrix.py 生成,请勿手改。

验收矩阵

场景文本在 apps/acceptance/*.feature,两层绑的是同一份:集成层 pytest-bdd(apps/api/tests/acceptance/),端到端层 playwright-bdd(apps/web/e2e/)。 重新生成跑仓库根 make matrix。「场景版本」是全部场景文件的内容哈希(git hash-object 口径),只随场景文本变,跟这份表什么时候跑出来无关。

场景 AC 编号 集成层 端到端层
Story三件套保存刷新并提交后自动验收结算 AC-013、AC-014、AC-027 通过 通过
提取和直接归类均不自动覆盖已保存交付 AC-012、AC-015 通过 通过
失效分享不改写交付也不触发自动完成 AC-015 通过 通过
更换Story链接立即清除选择且重新提取也不自动选中 AC-026 不适用(@e2e-only) 通过
更换链接后迟到的Story结果不能重新成为交付候选 AC-026 不适用(@e2e-only) 通过
按原型归类后保留成片与过程资产预览并可重新归类 AC-026 不适用(@e2e-only) 通过
已填入的Story预览在身份复验失败后清除且恢复访问不复活 AC-026 不适用(@e2e-only) 通过
仅有成片时过程资产显示真实空态 AC-026 不适用(@e2e-only) 通过
Story待归类草稿刷新后保留全部未标记资产 AC-013、AC-026 通过 通过
Story提示词与生成文本分别保留且不泄漏内部助手 AC-026、AC-027 通过 通过
切换工程来源清除旧Story资源并且只显式保存写入 AC-015、AC-026 不适用(@e2e-only) 通过
在任务内提取公开分享并归类图片与成片 — 通过 通过
失效分享不保留旧结果并可以重新提取 — 通过 通过
尚无结果的项目显示空态 — 通过 通过
拒绝非 Story 域名 — 通过 通过
上游异常有明确提示 — 通过 通过
兼容旧版结果字段 — 通过 通过
过滤不安全媒体地址 — 通过 通过
私有画布必须有独立 UC 授权 — 通过 通过
拒绝无效画布路径 — 通过 通过
任一自动验收步骤故障都会完整回滚 AC-014、AC-015 通过 不适用(@integration-only)
独立连接相同幂等键并发提交只完成一次 AC-014 通过 不适用(@integration-only)
不同幂等键并发提交只能一方完成 AC-014、AC-015 通过 不适用(@integration-only)
历史零尾款阶段无需发放且不新增积分流水 AC-014 通过 不适用(@integration-only)
已自动完成的交付不能被新幂等键重复结算 AC-014、AC-015 通过 不适用(@integration-only)
已缓存旧版本的会话不能误判新草稿状态 AC-011、AC-015 通过 不适用(@integration-only)
保存半成草稿后刷新仍恢复链接与版本 AC-010、AC-013 通过 通过
非HTTPS链接被拒并保留输入 AC-012、AC-015 通过 通过
完整未保存的编辑可自动保存后确认提交 AC-012、AC-015 通过 通过
保存并确认提交后自动验收发尾款且作品默认隐藏 AC-014、AC-027 通过 通过
已承接任务过期仍能保存并提交 AC-013、AC-014 通过 通过
另一页面保存新版本后旧页面不能覆盖 AC-011、AC-015 通过 通过
确认框打开后新版本不会被旧提交覆盖 AC-014、AC-015 通过 通过
提交已落库但响应丢失重试仍为同一自动验收结果 AC-014 通过 通过
已完成提交再次重试只发一次尾款并保留同一作品 AC-014、AC-027 通过 通过
上传私有工程包与手动下载链接形成完整三件套 AC-013、AC-014、AC-027 通过 通过
工程上传失败保留输入且缺少过程资产不能提交 AC-015、AC-026 不适用(@e2e-only) 通过
私有工程成片与过程文件在自动验收后仅公开成片 AC-013、AC-014、AC-018、AC-027 通过 通过
自动验收后非本人仍不能读取私有三件套且不存在人工验收入口 AC-015、AC-018 通过 不适用(@integration-only)
项目分栏与匿名作品展示真实完成结果 AC-016、AC-027 通过 通过
缺少任一已保存链接都不能提交 AC-015 通过 不适用(@integration-only)
非本人不能读写或占用提交幂等键 AC-015 通过 不适用(@integration-only)
远端管理员配置支撑登录发布承接和交付 AC-014、AC-019 通过 通过
匿名首页展示真实任务且封面卡保持同尺寸 AC-001、AC-002 通过 通过
匿名查看任务详情且未承接时不显示制作入口 AC-002 通过 通过
任务与作品分开显示且切换可刷新恢复 AC-002 通过 通过
未选择截图不能提交认证 AC-004 通过 通过
重选截图会更换预览而不自动认证 AC-004 通过 通过
提交后锁定并在刷新与我的页保持认证 AC-005 通过 通过
多门课程逐项显示缺失与全部满足 AC-005 通过 通过
认证提交失败保留所选截图并可重试 AC-004、AC-006 通过 通过
同课程同截图重试返回同一认证 AC-006 通过 通过
已锁定课程拒绝其他截图并保持原记录 AC-006 通过 不适用(@integration-only)
认证不能引用他人截图或错误用途文件 AC-006 通过 不适用(@integration-only)
切换账号不展示前一账号的课程认证 AC-005 通过 通过
身份与课程读取失败后可在原页面恢复 AC-005、AC-006 通过 通过
并发同键发布等待首次事务并回放 AC-024 通过 不适用(@integration-only)
必填错误贴近字段并阻止预览 AC-022 通过 通过
多课程与秒精度时间在预览返回后保留 AC-023 通过 通过
无封面附件发布并刷新后仍可见 AC-023 通过 通过
再发一条打开空白表单 AC-023 通过 通过
封面和二十个附件可发布并在预览返回后保留 AC-023、AC-030 通过 通过
第二十一个附件被拒且已有附件保留 AC-022、AC-030 通过 通过
发布失败保留输入并可重试成功 AC-024 通过 通过
普通用户进入发布后台得到无权限 AC-020 通过 通过
相同幂等键重放只有一条任务和一份报酬 AC-024 通过 不适用(@integration-only)
同键不同请求拒绝且首次结果不变 AC-024 通过 不适用(@integration-only)
发布字段 title 为空白时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 type 为其他类型时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 advance_points 为负数时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 final_points 为小数时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 total_points 为零总额时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 due_at 为过去时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 due_at 为无时区时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 due_at 为无秒时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 required_certification_ids 为空集合时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 required_certification_ids 为不存在时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布字段 attachment_ids 为二十一个时拒绝且不落库 AC-022 通过 不适用(@integration-only)
发布事务失败全部回滚且幂等键可重试 AC-024 通过 不适用(@integration-only)
权限查询暂时失败后能恢复发布页 AC-020 通过 通过
合法附件可上传而损坏与伪装附件明确拒绝 AC-030 通过 通过
未选择积分档位和过去截止在表单中明确拒绝 AC-022 通过 通过
本机时间滞后时服务端拒绝过去截止并保留表单 AC-024 通过 通过
服务端已发布但响应丢失时重试不重复建任务 AC-024 通过 通过
封面允许匿名读取但私有附件要求登录 AC-030 通过 通过
绕过表单校验的超大字符请求仍被服务端拒绝 AC-022 通过 通过
已填写任务遇到后台权限刷新失败时草稿不丢失 AC-024 通过 通过
隐藏和恢复作品只改变公开展示 AC-031 通过 通过
认证记录保留真实用户课程截图和提交时间 AC-031 通过 通过
移除认证记录只清掉那一条 AC-031 通过 通过
移除后用户可以重新提交同一认证 AC-031 通过 通过
两个管理会话先后移除同一认证时陈旧列表可以恢复 AC-031 通过 通过
移除末页唯一认证后自动返回剩余记录 AC-031 不适用(@e2e-only) 通过
后台积分流水只展示真实两段收入 AC-032 通过 通过
普通用户无法进入后台治理页面 AC-018、AC-031 通过 通过
匿名和普通用户不能直接调用治理端点 AC-018、AC-031 通过 不适用(@integration-only)
已缓存可见状态的同值写入仍遵循后写覆盖 AC-031 通过 不适用(@integration-only)
写入前已被撤权的管理员不能更改作品 AC-031 通过 不适用(@integration-only)
普通业务阶段提交可被后置统计观察的探针 AC-028 通过 通过
后置概览统计读取普通业务阶段已提交结果 AC-028 通过 通过
首次进入默认工作台并保存新增的学习组件 AC-101 通过 通过
另一个用户不能看到前一用户的布局 AC-102 通过 通过
过期版本不能覆盖另一个页面保存的布局 AC-103 通过 通过
拒绝没有团团或重复组件的布局 AC-104 通过 通过
首次登录自动建用户并按名单授予管理员 AC-019 通过 通过
普通用户访问后台接口被拒 AC-018 通过 通过
未登录请求当前用户得到未登录 AC-018 通过 通过
管理员在发布页上传任务封面 AC-030 通过 通过
管理员在发布页将非图片当封面被拒 AC-030 通过 通过
截止相等允许但超过一微秒即拒绝 AC-009 通过 不适用(@integration-only)
预付或草稿故障令承接与幂等记录整体回滚 AC-008 通过 不适用(@integration-only)
独立连接并发承接只有一人获得完整结果 AC-009 通过 不适用(@integration-only)
等待任务锁跨过截止后即使持锁方回滚仍拒绝 AC-009 通过 不适用(@integration-only)
匿名承接经自主登录回到原任务且不自动承接 AC-003 通过 通过
少任意一门认证时显示缺失课程且不能承接 AC-007 通过 通过
认证截图提交后显式返回任务仍需要确认承接 AC-003、AC-007 通过 通过
全部认证后确认承接同步生成预付与进行中项目 AC-007、AC-008、AC-016 通过 通过
他人已承接的任务不可再次确认 AC-009 通过 通过
过期任务展示原因并阻止新承接 AC-009 通过 通过
服务端已承接但响应丢失时重试不重复预付 AC-008 通过 通过
确认条款版本变化时显示冲突并要求重新确认 AC-007、AC-009 通过 通过
历史零预付阶段无需发放且不新增积分流水 AC-008 通过 不适用(@integration-only)
请求失败后通过同一请求标识定位文本日志 — 通过 不适用(@integration-only)
同链接重新提取等待与失败均清除旧Story三件套并保留手工资产 AC-026 不适用(@e2e-only) 通过
缺少randomUUID时手工链接和上传成片仍可保存刷新恢复 AC-026 不适用(@e2e-only) 通过
普通身份与款项查询刷新不取消提取也不卸载已展开成片 AC-026 不适用(@e2e-only) 通过
匿名只显示公开入口,私有页面直达仍有登录门禁 AC-018 不适用(@e2e-only) 通过
主题在页面和标签页间保持且减少动态效果关闭表面光 AC-018 不适用(@e2e-only) 通过
浏览器拒绝主题存储时仍跟随系统配色且页面可用 AC-018 不适用(@e2e-only) 通过
分域部署配置允许指定来源并保留身份错误状态 AC-018 不适用(@e2e-only) 通过
非法分域配置在发出业务请求前失败 AC-018 不适用(@e2e-only) 通过
宿主预置皮肤在站内导航的清理与应用之间正确恢复 AC-018 不适用(@e2e-only) 通过
原生账号菜单支持完整键盘巡航且兼容退出层归还焦点 — 不适用(@e2e-only) 通过
原生退出确认在取消和 Escape 后关闭再归还焦点 — 不适用(@e2e-only) 通过
浏览器缺少原生弹层和构造样式表时账号入口仍可完整操作 — 不适用(@e2e-only) 通过
保存未变化角色时说明原因且提示正常退场 — 不适用(@e2e-only) 通过
任务登录提示锁住焦点并在减少动态时立即安全收起 — 不适用(@e2e-only) 通过
缺少认证的用户刷新后得到就地状态与完整提示生命周期 — 不适用(@e2e-only) 通过
登录回跳拒绝再次进入登录页 — 不适用(@e2e-only) 通过
工作台追光编辑面板与键盘移出都能恢复 — 不适用(@e2e-only) 通过
工作台编辑态的 Escape 先收起面板再完成保存 — 不适用(@e2e-only) 通过
拖入两个工程包后移除一个并保存剩余文件 AC-026、AC-027 不适用(@e2e-only) 通过
空白和超长资源名称被拒绝且原名称不变 AC-026、AC-027 不适用(@e2e-only) 通过
从底部收起工程提取列表后焦点返回展开按钮 AC-026、AC-027 不适用(@e2e-only) 通过
私有文本网络中断后可以读取原内容且不改草稿 AC-026、AC-027 不适用(@e2e-only) 通过
无扩展名的历史手工文本显示类型并安全只读预览 AC-026、AC-027 不适用(@e2e-only) 通过
已提交成果的整行预览可点击键入收起并在下载后保持展开 AC-026、AC-027 不适用(@e2e-only) 通过
全类型资源重命名保存刷新并提交后只读展示 AC-013、AC-026、AC-027 不适用(@e2e-only) 通过
取消资源重命名不会污染已保存的名称 AC-013、AC-026 不适用(@e2e-only) 通过
输入法确认不误提交名称且最终Enter通过提交前自动保存持久化 AC-013、AC-026、AC-027 不适用(@e2e-only) 通过
自动保存成功时身份仍在刷新必须重新确认交付 AC-026 不适用(@e2e-only) 通过
篡改保存内容为<缺陷>仍被真实服务拒绝 AC-027 不适用(@e2e-only) 通过
多个成片可以保存并刷新恢复 AC-027 不适用(@e2e-only) 通过
<文件问题>在上传前明确拒绝且可继续编辑 AC-027 不适用(@e2e-only) 通过
工程上传真实失败后可重选有效文件 AC-027 不适用(@e2e-only) 通过
离开页面后迟到的工程上传不会回填草稿 AC-027 不适用(@e2e-only) 通过
私有过程图片<故障>后可原地恢复 AC-027 不适用(@e2e-only) 通过
一次上传多类过程文件保存刷新保持类型与预览 AC-027 不适用(@e2e-only) 通过
无效手动下载地址不进入交付快照 AC-027 不适用(@e2e-only) 通过
离开任务交付不会保留未保存的Story提取状态 AC-027 不适用(@e2e-only) 通过
历史双链接草稿补齐过程资产后升级为三件套 AC-027 不适用(@e2e-only) 通过
Story提示词标识冲突仍保留原资源与提示词 AC-027 不适用(@e2e-only) 通过
历史工程规范化后超限仍拒绝保存且保留原草稿 AC-027 不适用(@e2e-only) 通过
已完成交付读取失败后停止显示回执并可重新核实 AC-027 不适用(@e2e-only) 通过
另一标签登录新身份后旧交付页不能<操作> AC-027 不适用(@e2e-only) 通过
两个真实标签同时保存同一版本只有一个成功 AC-027 不适用(@e2e-only) 通过
取消交付确认后重新打开仍需要显式提交 AC-026 不适用(@e2e-only) 通过
交付提交等待返回时不能关闭确认框 AC-026 不适用(@e2e-only) 通过
交付版本冲突后可从读取失败恢复到新版本 AC-026 不适用(@e2e-only) 通过
交付草稿读取失败后可在原页面恢复 AC-026 不适用(@e2e-only) 通过
交付链接格式错误保留输入并指出对应字段 AC-026 不适用(@e2e-only) 通过
浏览器收到部分回执时分别判断验收和积分 AC-026 不适用(@e2e-only) 通过
另一页面先完成交付后旧页面写入被拒且可恢复真实结果 AC-026 不适用(@e2e-only) 通过
完成交付后可以从已完成分栏的引导卡继续浏览任务 AC-026 不适用(@e2e-only) 通过
提交成功后立即显示验收完成且只提交一次 AC-026、AC-027 不适用(@e2e-only) 通过
验收完成后结果坞跳转报酬和交付成果并遵循减少动态 AC-026、AC-027 不适用(@e2e-only) 通过
待核实回执结果坞可跳到已提交成果 AC-026、AC-027 不适用(@e2e-only) 通过
刷新已完成交付沿用同一回执且不重复提交结算 AC-026、AC-027 不适用(@e2e-only) 通过
提交后切换身份不泄漏交付且返回本人保留完成结果 AC-026、AC-027 不适用(@e2e-only) 通过
真实提交被拒后不能假成功 AC-015、AC-026 不适用(@e2e-only) 通过
提交响应缺项时仍按独立事实展示 AC-026 不适用(@e2e-only) 通过
已完成承接的交付首读未核实前禁止旧草稿编辑 AC-026 不适用(@e2e-only) 通过
提交确认期间普通刷新保留清单但暂时禁止提交 AC-026 不适用(@e2e-only) 通过
第一百零一条最早截止任务不因服务端分页被遗漏 AC-1754 不适用(@e2e-only) 通过
仅自定义认证的任务从发布到截图承接并隔离同名证明 AC-1754 不适用(@e2e-only) 通过
成片解码能力不影响交付和公开作品的读取权限 AC-1754 不适用(@e2e-only) 通过
视频取帧时站内离开取消读取并保留原草稿 AC-1754 不适用(@e2e-only) 通过
公开作品悬停真实播放且离开失败和减少动态效果均安全停止 AC-1754 不适用(@e2e-only) 通过
任务作品成片播放失败可恢复且站内离开释放媒体 AC-1754 不适用(@e2e-only) 通过
已播放成片的签名重读被拒时立即卸载旧播放器 AC-1754 不适用(@e2e-only) 通过
首次进入空列表并发布第一条任务 AC-026、AC-028、AC-031、AC-032 不适用(@e2e-only) 通过
匿名访客可浏览AI 漫剧平台介绍并打开平台 — 不适用(@e2e-only) 通过
标题行数不同的任务卡等高 — 不适用(@e2e-only) 通过
首次打开发现页数据迟到时页签仍在且网格不跳(视口<宽度>) — 不适用(@e2e-only) 通过
已登录用户从首页点发现且数据迟到时任务骨架按发现页排版且到齐不跳 — 不适用(@e2e-only) 通过
管理员从作品管理进入作品广场且数据迟到时作品骨架按作品页排版且到齐不跳 — 不适用(@e2e-only) 通过
目标页数据未到时旧页停留并出现顶栏光带 — 不适用(@e2e-only) 通过
缓存新鲜时切回发现页不出骨架 — 不适用(@e2e-only) 通过
没有专属等待态的页面数据迟到时出现通用页面骨架 — 不适用(@e2e-only) 通过
页面交接只在换页时做 — 不适用(@e2e-only) 通过
后台<区域>读取中断后可在原地恢复 AC-026 不适用(@e2e-only) 通过
流水页用户搜索中断后可以单独重新搜索 AC-026 不适用(@e2e-only) 通过
作品显隐收到<状态码>时保留原行并可重试 AC-026 不适用(@e2e-only) 通过
认证截图展开收起不改变认证记录 AC-026 不适用(@e2e-only) 通过
三类后台列表通过真实分页前进后退 AC-026 不适用(@e2e-only) 通过
个人<统计>失败不影响另一项且可单独重试 AC-026 不适用(@e2e-only) 通过
用户列表读取中断后刷新恢复真实用户 AC-026 不适用(@e2e-only) 通过
完整编辑取消后恢复组件尺寸顺序和设置 AC-105 不适用(@e2e-only) 通过
拖动和缩放落位可用并可撤销 AC-106 不适用(@e2e-only) 通过
十类组件在十六种尺寸下内容入口与禁用边界可达 AC-107 不适用(@e2e-only) 通过
未开放业务入口不可通过鼠标触发模拟流程 AC-108 不适用(@e2e-only) 通过
真实数据请求失败不伪装为示例成功 AC-109 不适用(@e2e-only) 通过
模板应用撤销与窄屏展示 AC-110 不适用(@e2e-only) 通过
另一标签切换账号后旧草稿不能保存到新账号 AC-111 不适用(@e2e-only) 通过
键盘编排与离开拖放区域可完整取消 AC-112 不适用(@e2e-only) 通过
身份读取和重新加载失败保留明确恢复入口 AC-113 不适用(@e2e-only) 通过
未开放业务隔离键盘触发但工作台布局仍可保存 AC-114 不适用(@e2e-only) 通过
凭据读取边界变化在发请求前被捕获 AC-115 不适用(@e2e-only) 通过
灵感推荐封面签名失败后可在紧凑卡片内恢复 AC-116 不适用(@e2e-only) 通过
上传件重命名件文字说明与外链资源都按展示名存到本地 AC-117 不适用(@e2e-only) 通过
外链资源取不回时提示重试并留下原始链接 AC-118 不适用(@e2e-only) 通过
取消承接确认后再次打开仍需本人明确提交 AC-026 不适用(@e2e-only) 通过
浏览器没有 randomUUID 时仍可取消后明确确认承接 AC-008、AC-026 不适用(@e2e-only) 通过
承接提交期间关闭操作不会丢失进行中的请求 AC-026 不适用(@e2e-only) 通过
公开详情与本人条件合法版本差在确认前阻断 AC-026 不适用(@e2e-only) 通过
条款冲突刷新后必须确认新的任务版本 AC-026 不适用(@e2e-only) 通过
本人承接数据读取失败后可原地恢复 AC-026 不适用(@e2e-only) 通过
匿名项目入口登录后回到本人项目 AC-026 不适用(@e2e-only) 通过
确认框打开后超过截止时间仍由服务端拒绝承接 AC-026 不适用(@e2e-only) 通过
确认框打开后被他人先承接仍由服务端拒绝重复承接 AC-026 不适用(@e2e-only) 通过
工作页承接卡封面图片加载失败后自动重新取址一次并恢复 AC-026 不适用(@e2e-only) 通过
有效工程类型保存刷新后仍保持内容识别结果 AC-033 不适用(@e2e-only) 通过
伪装扩展名不能绕过真实内容校验 AC-033 不适用(@e2e-only) 通过
私有文本存储故障有明确反馈并可恢复 AC-038 不适用(@e2e-only) 通过
大文本允许交付但不进行无界预览 AC-038 不适用(@e2e-only) 通过
缺少节点类型的Story资源不会变成交付内容 AC-038 不适用(@e2e-only) 通过
合法历史工程候选在当前页面修改保存后保持类型与真实元信息 AC-033 不适用(@e2e-only) 通过
课程图片失效只自动重试一次并支持手动恢复 AC-026 不适用(@e2e-only) 通过
任务附件地址失败后可在详情重试下载 AC-026 不适用(@e2e-only) 通过
无效课程参数和匿名认证入口有明确指引 AC-026 不适用(@e2e-only) 通过
认证截图选择拒绝错误格式并保留原图 AC-026 不适用(@e2e-only) 通过
另一个标签页先认证时当前提交恢复已锁定记录 AC-026 不适用(@e2e-only) 通过
无效登录回跳不会离开平台 AC-026 不适用(@e2e-only) 通过
任务详情读取失败可原地恢复 AC-026 不适用(@e2e-only) 通过
登出后顶栏回到未登录状态 AC-116 不适用(@e2e-only) 通过
登出后私有页面需要重新登录 AC-116 不适用(@e2e-only) 通过
新建多链接认证后可跨页查询个人动态并筛选用户流水 AC-1754 不适用(@e2e-only) 通过
动态分页与认证学习入口拒绝无效请求 AC-1754 不适用(@e2e-only) 通过
管理员把普通用户设为管理员 AC-017 通过 通过
管理员撤销他人的管理员角色 AC-017 通过 通过
管理员不能修改自己的角色 AC-017 通过 通过
管理员从前台顶栏进后台再返回平台 AC-017 通过 通过
未登录时前台仅有公开入口且不显示个人身份 AC-018 通过 通过
普通用户的前台顶栏没有管理后台入口 AC-018 通过 通过
普通用户打不开后台用户管理 AC-018 通过 通过
基于过期版本保存角色被拒 AC-021 通过 通过
被撤销管理员后再次登录不恢复管理员 AC-019 通过 通过
两个管理员并发互相撤权仍保留一个管理员 AC-021、AC-029 通过 不适用(@integration-only)
首次发布准备仍在途时网络失败后的重试只创建一条任务 AC-033、AC-040 不适用(@e2e-only) 通过
未绑定外部奖励的历史任务可查看但不能新承接 AC-041 不适用(@e2e-only) 通过
已发奖励回执编码与承诺不符时保留待核对且不重复发奖 AC-043 不适用(@e2e-only) 通过
真实关闭积分接入仍可交付且不发奖 AC-036 不适用(@e2e-only) 通过
外部账号失效后安全重建本地积分映射 AC-034 不适用(@e2e-only) 通过
未知发奖结果阻止余额查询重绑用户 AC-034、AC-039 不适用(@e2e-only) 通过
尾款未知不影响查看完整成果也不会自动重复奖励 AC-039、AC-042 不适用(@e2e-only) 通过
尾款真实响应超时仍保留完整成果且不会重发 AC-039、AC-042 不适用(@e2e-only) 通过
发奖准备失败后恢复只产生一次预付 AC-040 不适用(@e2e-only) 通过
奖励准备真实读取超时后恢复只产生一次预付 AC-040 不适用(@e2e-only) 通过
已约定奖励规则被删除时阻断尾款但保留成果 AC-040、AC-042 不适用(@e2e-only) 通过
确认未发送的连接故障恢复后只产生一次预付 AC-039 不适用(@e2e-only) 通过
合法相对有效期凭据仍可读取余额 AC-034 不适用(@e2e-only) 通过
外部余额真实读取超时不影响历史流水并可恢复 AC-037 不适用(@e2e-only) 通过
发布页奖励目录不可用后可以重新读取并发布 AC-033、AC-040 不适用(@e2e-only) 通过
发布页只提供兼容的固定积分档位 AC-040 不适用(@e2e-only) 通过
选中档位被删除后刷新目录并重新确认发布 AC-040 不适用(@e2e-only) 通过
多个奖励处理器竞争同一预付只发放一次 AC-035 不适用(@e2e-only) 通过
历史承接沿原约定完成交付 AC-041 不适用(@e2e-only) 通过
登录用户访问失效任务链接得到可理解的错误 AC-033 不适用(@e2e-only) 通过
管理员可以查看整页没有任务关联的历史收支 AC-037 不适用(@e2e-only) 通过
个人页收支流水超过一页时可以翻到更早的记录 AC-016 不适用(@e2e-only) 通过
历史不完整回执仍在真实工作卡展示保守尾款文案 AC-040 不适用(@e2e-only) 通过
发布分别选择预付和尾款档位 AC-033 通过 通过
用户积分身份懒创建且复用 AC-034 通过 通过
相同档位在两阶段与多个任务可重复领取 AC-035 通过 通过
积分接入暂停不阻断已有任务交付 AC-036 通过 通过
外部余额和本平台流水各自独立 AC-037 通过 通过
发送后崩溃不会自动重复奖励 AC-038 通过 不适用(@integration-only)
外部未知结果禁止自动重发 AC-039 通过 不适用(@integration-only)
不兼容规则和变更摘要不能用于发奖 AC-040 通过 不适用(@integration-only)
发布摘要过期后必须重新选择两个档位 AC-040 不适用(@e2e-only) 通过
历史条款绑定不重发已成功阶段 AC-041 通过 不适用(@integration-only)
积分异常时完整成果仍可查看 AC-042 通过 通过
异常金额按实际外部事实记账 AC-043 通过 不适用(@integration-only)
管理员凭证复核并发和迟到响应可追踪 AC-044 通过 不适用(@integration-only)
停留页面能够发现尾款到账 AC-045 通过 通过
发布时冻结汇率并按贝壳展示报酬 AC-047 通过 通过
汇率变更不改变已发布任务承诺的贝壳数 AC-048 通过 通过
汇率变更不阻断在途尾款发放 AC-049 通过 不适用(@integration-only)
规则变更仍然阻断发奖 AC-050 通过 不适用(@integration-only)
选档期间汇率变化必须重新确认 AC-051 通过 通过
汇率缺失或多条生效时拒绝发布 AC-052 通过 不适用(@integration-only)
除不尽的档位按两位小数展示且不虚报 AC-053 通过 通过
余额与流水统一贝壳口径 AC-054 通过 通过
历史行回填不改变已确认的外部事实 AC-055 通过 不适用(@integration-only)
旧积分账号失效后反查返回他人已绑定身份时保留原映射和本地流水 AC-034、AC-037 不适用(@e2e-only) 通过
BTS凭据服务故障时仍可查看本平台流水并恢复余额 AC-034、AC-037 不适用(@e2e-only) 通过
双标签重建映射后旧准备目标被取消且新目标只奖励一次 AC-034、AC-035 不适用(@e2e-only) 通过
迟到的准备失败不能覆盖另一个处理器已提交的奖励 AC-035、AC-040 不适用(@e2e-only) 通过
实际到账金额不同经管理员核对后用户看到结案结果 AC-038、AC-039 不适用(@e2e-only) 通过
两个合法奖励档位的合计超过上限不能发布 AC-033、AC-040 不适用(@e2e-only) 通过
迁移前已发放的本地预付保留历史来源且不会再发 AC-037、AC-041 不适用(@e2e-only) 通过
仅启动API即可自动发放预付与尾款并在页面到账 AC-046 不适用(@e2e-only) 通过
应用服务自动发放待处理积分并安全停止 AC-046 通过 不适用(@integration-only)
两分钟轮询结束后可手动重启且完成后停止 AC-045 不适用(@e2e-only) 通过
隐藏标签暂停轮询且超时后恢复只读取一次 AC-045 不适用(@e2e-only) 通过
独立我的记录组件超时后仍可主动刷新真实积分 AC-045 不适用(@e2e-only) 通过
任务页报酬卡主动刷新后当场给出结果 AC-045 不适用(@e2e-only) 通过
两个连接同图认证只产生一条记录 AC-006 通过 不适用(@integration-only)
两个连接异图认证只允许一方锁定 AC-006 通过 不适用(@integration-only)
数据库拒绝更换已认证的截图 AC-006 通过 不适用(@integration-only)
查看带行号的原始 Markdown(共 329 行)
1> 场景版本 a3c628b|由 `tools/acceptance/matrix.py` 生成,请勿手改。
2
3# 验收矩阵
4
5场景文本在 `apps/acceptance/*.feature`,两层绑的是同一份:集成层 pytest-bdd(`apps/api/tests/acceptance/`),端到端层 playwright-bdd(`apps/web/e2e/`)。
6重新生成跑仓库根 `make matrix`。「场景版本」是全部场景文件的内容哈希(`git hash-object` 口径),只随场景文本变,跟这份表什么时候跑出来无关。
7
8| 场景 | AC 编号 | 集成层 | 端到端层 |
9| --- | --- | --- | --- |
10| Story三件套保存刷新并提交后自动验收结算 | AC-013、AC-014、AC-027 | 通过 | 通过 |
11| 提取和直接归类均不自动覆盖已保存交付 | AC-012、AC-015 | 通过 | 通过 |
12| 失效分享不改写交付也不触发自动完成 | AC-015 | 通过 | 通过 |
13| 更换Story链接立即清除选择且重新提取也不自动选中 | AC-026 | 不适用(@e2e-only) | 通过 |
14| 更换链接后迟到的Story结果不能重新成为交付候选 | AC-026 | 不适用(@e2e-only) | 通过 |
15| 按原型归类后保留成片与过程资产预览并可重新归类 | AC-026 | 不适用(@e2e-only) | 通过 |
16| 已填入的Story预览在身份复验失败后清除且恢复访问不复活 | AC-026 | 不适用(@e2e-only) | 通过 |
17| 仅有成片时过程资产显示真实空态 | AC-026 | 不适用(@e2e-only) | 通过 |
18| Story待归类草稿刷新后保留全部未标记资产 | AC-013、AC-026 | 通过 | 通过 |
19| Story提示词与生成文本分别保留且不泄漏内部助手 | AC-026、AC-027 | 通过 | 通过 |
20| 切换工程来源清除旧Story资源并且只显式保存写入 | AC-015、AC-026 | 不适用(@e2e-only) | 通过 |
21| 在任务内提取公开分享并归类图片与成片 | — | 通过 | 通过 |
22| 失效分享不保留旧结果并可以重新提取 | — | 通过 | 通过 |
23| 尚无结果的项目显示空态 | — | 通过 | 通过 |
24| 拒绝非 Story 域名 | — | 通过 | 通过 |
25| 上游异常有明确提示 | — | 通过 | 通过 |
26| 兼容旧版结果字段 | — | 通过 | 通过 |
27| 过滤不安全媒体地址 | — | 通过 | 通过 |
28| 私有画布必须有独立 UC 授权 | — | 通过 | 通过 |
29| 拒绝无效画布路径 | — | 通过 | 通过 |
30| 任一自动验收步骤故障都会完整回滚 | AC-014、AC-015 | 通过 | 不适用(@integration-only) |
31| 独立连接相同幂等键并发提交只完成一次 | AC-014 | 通过 | 不适用(@integration-only) |
32| 不同幂等键并发提交只能一方完成 | AC-014、AC-015 | 通过 | 不适用(@integration-only) |
33| 历史零尾款阶段无需发放且不新增积分流水 | AC-014 | 通过 | 不适用(@integration-only) |
34| 已自动完成的交付不能被新幂等键重复结算 | AC-014、AC-015 | 通过 | 不适用(@integration-only) |
35| 已缓存旧版本的会话不能误判新草稿状态 | AC-011、AC-015 | 通过 | 不适用(@integration-only) |
36| 保存半成草稿后刷新仍恢复链接与版本 | AC-010、AC-013 | 通过 | 通过 |
37| 非HTTPS链接被拒并保留输入 | AC-012、AC-015 | 通过 | 通过 |
38| 完整未保存的编辑可自动保存后确认提交 | AC-012、AC-015 | 通过 | 通过 |
39| 保存并确认提交后自动验收发尾款且作品默认隐藏 | AC-014、AC-027 | 通过 | 通过 |
40| 已承接任务过期仍能保存并提交 | AC-013、AC-014 | 通过 | 通过 |
41| 另一页面保存新版本后旧页面不能覆盖 | AC-011、AC-015 | 通过 | 通过 |
42| 确认框打开后新版本不会被旧提交覆盖 | AC-014、AC-015 | 通过 | 通过 |
43| 提交已落库但响应丢失重试仍为同一自动验收结果 | AC-014 | 通过 | 通过 |
44| 已完成提交再次重试只发一次尾款并保留同一作品 | AC-014、AC-027 | 通过 | 通过 |
45| 上传私有工程包与手动下载链接形成完整三件套 | AC-013、AC-014、AC-027 | 通过 | 通过 |
46| 工程上传失败保留输入且缺少过程资产不能提交 | AC-015、AC-026 | 不适用(@e2e-only) | 通过 |
47| 私有工程成片与过程文件在自动验收后仅公开成片 | AC-013、AC-014、AC-018、AC-027 | 通过 | 通过 |
48| 自动验收后非本人仍不能读取私有三件套且不存在人工验收入口 | AC-015、AC-018 | 通过 | 不适用(@integration-only) |
49| 项目分栏与匿名作品展示真实完成结果 | AC-016、AC-027 | 通过 | 通过 |
50| 缺少任一已保存链接都不能提交 | AC-015 | 通过 | 不适用(@integration-only) |
51| 非本人不能读写或占用提交幂等键 | AC-015 | 通过 | 不适用(@integration-only) |
52| 远端管理员配置支撑登录发布承接和交付 | AC-014、AC-019 | 通过 | 通过 |
53| 匿名首页展示真实任务且封面卡保持同尺寸 | AC-001、AC-002 | 通过 | 通过 |
54| 匿名查看任务详情且未承接时不显示制作入口 | AC-002 | 通过 | 通过 |
55| 任务与作品分开显示且切换可刷新恢复 | AC-002 | 通过 | 通过 |
56| 未选择截图不能提交认证 | AC-004 | 通过 | 通过 |
57| 重选截图会更换预览而不自动认证 | AC-004 | 通过 | 通过 |
58| 提交后锁定并在刷新与我的页保持认证 | AC-005 | 通过 | 通过 |
59| 多门课程逐项显示缺失与全部满足 | AC-005 | 通过 | 通过 |
60| 认证提交失败保留所选截图并可重试 | AC-004、AC-006 | 通过 | 通过 |
61| 同课程同截图重试返回同一认证 | AC-006 | 通过 | 通过 |
62| 已锁定课程拒绝其他截图并保持原记录 | AC-006 | 通过 | 不适用(@integration-only) |
63| 认证不能引用他人截图或错误用途文件 | AC-006 | 通过 | 不适用(@integration-only) |
64| 切换账号不展示前一账号的课程认证 | AC-005 | 通过 | 通过 |
65| 身份与课程读取失败后可在原页面恢复 | AC-005、AC-006 | 通过 | 通过 |
66| 并发同键发布等待首次事务并回放 | AC-024 | 通过 | 不适用(@integration-only) |
67| 必填错误贴近字段并阻止预览 | AC-022 | 通过 | 通过 |
68| 多课程与秒精度时间在预览返回后保留 | AC-023 | 通过 | 通过 |
69| 无封面附件发布并刷新后仍可见 | AC-023 | 通过 | 通过 |
70| 再发一条打开空白表单 | AC-023 | 通过 | 通过 |
71| 封面和二十个附件可发布并在预览返回后保留 | AC-023、AC-030 | 通过 | 通过 |
72| 第二十一个附件被拒且已有附件保留 | AC-022、AC-030 | 通过 | 通过 |
73| 发布失败保留输入并可重试成功 | AC-024 | 通过 | 通过 |
74| 普通用户进入发布后台得到无权限 | AC-020 | 通过 | 通过 |
75| 相同幂等键重放只有一条任务和一份报酬 | AC-024 | 通过 | 不适用(@integration-only) |
76| 同键不同请求拒绝且首次结果不变 | AC-024 | 通过 | 不适用(@integration-only) |
77| 发布字段 title 为空白时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
78| 发布字段 type 为其他类型时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
79| 发布字段 advance_points 为负数时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
80| 发布字段 final_points 为小数时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
81| 发布字段 total_points 为零总额时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
82| 发布字段 due_at 为过去时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
83| 发布字段 due_at 为无时区时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
84| 发布字段 due_at 为无秒时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
85| 发布字段 required_certification_ids 为空集合时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
86| 发布字段 required_certification_ids 为不存在时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
87| 发布字段 attachment_ids 为二十一个时拒绝且不落库 | AC-022 | 通过 | 不适用(@integration-only) |
88| 发布事务失败全部回滚且幂等键可重试 | AC-024 | 通过 | 不适用(@integration-only) |
89| 权限查询暂时失败后能恢复发布页 | AC-020 | 通过 | 通过 |
90| 合法附件可上传而损坏与伪装附件明确拒绝 | AC-030 | 通过 | 通过 |
91| 未选择积分档位和过去截止在表单中明确拒绝 | AC-022 | 通过 | 通过 |
92| 本机时间滞后时服务端拒绝过去截止并保留表单 | AC-024 | 通过 | 通过 |
93| 服务端已发布但响应丢失时重试不重复建任务 | AC-024 | 通过 | 通过 |
94| 封面允许匿名读取但私有附件要求登录 | AC-030 | 通过 | 通过 |
95| 绕过表单校验的超大字符请求仍被服务端拒绝 | AC-022 | 通过 | 通过 |
96| 已填写任务遇到后台权限刷新失败时草稿不丢失 | AC-024 | 通过 | 通过 |
97| 隐藏和恢复作品只改变公开展示 | AC-031 | 通过 | 通过 |
98| 认证记录保留真实用户课程截图和提交时间 | AC-031 | 通过 | 通过 |
99| 移除认证记录只清掉那一条 | AC-031 | 通过 | 通过 |
100| 移除后用户可以重新提交同一认证 | AC-031 | 通过 | 通过 |
101| 两个管理会话先后移除同一认证时陈旧列表可以恢复 | AC-031 | 通过 | 通过 |
102| 移除末页唯一认证后自动返回剩余记录 | AC-031 | 不适用(@e2e-only) | 通过 |
103| 后台积分流水只展示真实两段收入 | AC-032 | 通过 | 通过 |
104| 普通用户无法进入后台治理页面 | AC-018、AC-031 | 通过 | 通过 |
105| 匿名和普通用户不能直接调用治理端点 | AC-018、AC-031 | 通过 | 不适用(@integration-only) |
106| 已缓存可见状态的同值写入仍遵循后写覆盖 | AC-031 | 通过 | 不适用(@integration-only) |
107| 写入前已被撤权的管理员不能更改作品 | AC-031 | 通过 | 不适用(@integration-only) |
108| 普通业务阶段提交可被后置统计观察的探针 | AC-028 | 通过 | 通过 |
109| 后置概览统计读取普通业务阶段已提交结果 | AC-028 | 通过 | 通过 |
110| 首次进入默认工作台并保存新增的学习组件 | AC-101 | 通过 | 通过 |
111| 另一个用户不能看到前一用户的布局 | AC-102 | 通过 | 通过 |
112| 过期版本不能覆盖另一个页面保存的布局 | AC-103 | 通过 | 通过 |
113| 拒绝没有团团或重复组件的布局 | AC-104 | 通过 | 通过 |
114| 首次登录自动建用户并按名单授予管理员 | AC-019 | 通过 | 通过 |
115| 普通用户访问后台接口被拒 | AC-018 | 通过 | 通过 |
116| 未登录请求当前用户得到未登录 | AC-018 | 通过 | 通过 |
117| 管理员在发布页上传任务封面 | AC-030 | 通过 | 通过 |
118| 管理员在发布页将非图片当封面被拒 | AC-030 | 通过 | 通过 |
119| 截止相等允许但超过一微秒即拒绝 | AC-009 | 通过 | 不适用(@integration-only) |
120| 预付或草稿故障令承接与幂等记录整体回滚 | AC-008 | 通过 | 不适用(@integration-only) |
121| 独立连接并发承接只有一人获得完整结果 | AC-009 | 通过 | 不适用(@integration-only) |
122| 等待任务锁跨过截止后即使持锁方回滚仍拒绝 | AC-009 | 通过 | 不适用(@integration-only) |
123| 匿名承接经自主登录回到原任务且不自动承接 | AC-003 | 通过 | 通过 |
124| 少任意一门认证时显示缺失课程且不能承接 | AC-007 | 通过 | 通过 |
125| 认证截图提交后显式返回任务仍需要确认承接 | AC-003、AC-007 | 通过 | 通过 |
126| 全部认证后确认承接同步生成预付与进行中项目 | AC-007、AC-008、AC-016 | 通过 | 通过 |
127| 他人已承接的任务不可再次确认 | AC-009 | 通过 | 通过 |
128| 过期任务展示原因并阻止新承接 | AC-009 | 通过 | 通过 |
129| 服务端已承接但响应丢失时重试不重复预付 | AC-008 | 通过 | 通过 |
130| 确认条款版本变化时显示冲突并要求重新确认 | AC-007、AC-009 | 通过 | 通过 |
131| 历史零预付阶段无需发放且不新增积分流水 | AC-008 | 通过 | 不适用(@integration-only) |
132| 请求失败后通过同一请求标识定位文本日志 | — | 通过 | 不适用(@integration-only) |
133| 同链接重新提取等待与失败均清除旧Story三件套并保留手工资产 | AC-026 | 不适用(@e2e-only) | 通过 |
134| 缺少randomUUID时手工链接和上传成片仍可保存刷新恢复 | AC-026 | 不适用(@e2e-only) | 通过 |
135| 普通身份与款项查询刷新不取消提取也不卸载已展开成片 | AC-026 | 不适用(@e2e-only) | 通过 |
136| 匿名只显示公开入口,私有页面直达仍有登录门禁 | AC-018 | 不适用(@e2e-only) | 通过 |
137| 主题在页面和标签页间保持且减少动态效果关闭表面光 | AC-018 | 不适用(@e2e-only) | 通过 |
138| 浏览器拒绝主题存储时仍跟随系统配色且页面可用 | AC-018 | 不适用(@e2e-only) | 通过 |
139| 分域部署配置允许指定来源并保留身份错误状态 | AC-018 | 不适用(@e2e-only) | 通过 |
140| 非法分域配置在发出业务请求前失败 | AC-018 | 不适用(@e2e-only) | 通过 |
141| 宿主预置皮肤在站内导航的清理与应用之间正确恢复 | AC-018 | 不适用(@e2e-only) | 通过 |
142| 原生账号菜单支持完整键盘巡航且兼容退出层归还焦点 | — | 不适用(@e2e-only) | 通过 |
143| 原生退出确认在取消和 Escape 后关闭再归还焦点 | — | 不适用(@e2e-only) | 通过 |
144| 浏览器缺少原生弹层和构造样式表时账号入口仍可完整操作 | — | 不适用(@e2e-only) | 通过 |
145| 保存未变化角色时说明原因且提示正常退场 | — | 不适用(@e2e-only) | 通过 |
146| 任务登录提示锁住焦点并在减少动态时立即安全收起 | — | 不适用(@e2e-only) | 通过 |
147| 缺少认证的用户刷新后得到就地状态与完整提示生命周期 | — | 不适用(@e2e-only) | 通过 |
148| 登录回跳拒绝再次进入登录页 | — | 不适用(@e2e-only) | 通过 |
149| 工作台追光编辑面板与键盘移出都能恢复 | — | 不适用(@e2e-only) | 通过 |
150| 工作台编辑态的 Escape 先收起面板再完成保存 | — | 不适用(@e2e-only) | 通过 |
151| 拖入两个工程包后移除一个并保存剩余文件 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
152| 空白和超长资源名称被拒绝且原名称不变 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
153| 从底部收起工程提取列表后焦点返回展开按钮 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
154| 私有文本网络中断后可以读取原内容且不改草稿 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
155| 无扩展名的历史手工文本显示类型并安全只读预览 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
156| 已提交成果的整行预览可点击键入收起并在下载后保持展开 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
157| 全类型资源重命名保存刷新并提交后只读展示 | AC-013、AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
158| 取消资源重命名不会污染已保存的名称 | AC-013、AC-026 | 不适用(@e2e-only) | 通过 |
159| 输入法确认不误提交名称且最终Enter通过提交前自动保存持久化 | AC-013、AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
160| 自动保存成功时身份仍在刷新必须重新确认交付 | AC-026 | 不适用(@e2e-only) | 通过 |
161| 篡改保存内容为<缺陷>仍被真实服务拒绝 | AC-027 | 不适用(@e2e-only) | 通过 |
162| 多个成片可以保存并刷新恢复 | AC-027 | 不适用(@e2e-only) | 通过 |
163| <文件问题>在上传前明确拒绝且可继续编辑 | AC-027 | 不适用(@e2e-only) | 通过 |
164| 工程上传真实失败后可重选有效文件 | AC-027 | 不适用(@e2e-only) | 通过 |
165| 离开页面后迟到的工程上传不会回填草稿 | AC-027 | 不适用(@e2e-only) | 通过 |
166| 私有过程图片<故障>后可原地恢复 | AC-027 | 不适用(@e2e-only) | 通过 |
167| 一次上传多类过程文件保存刷新保持类型与预览 | AC-027 | 不适用(@e2e-only) | 通过 |
168| 无效手动下载地址不进入交付快照 | AC-027 | 不适用(@e2e-only) | 通过 |
169| 离开任务交付不会保留未保存的Story提取状态 | AC-027 | 不适用(@e2e-only) | 通过 |
170| 历史双链接草稿补齐过程资产后升级为三件套 | AC-027 | 不适用(@e2e-only) | 通过 |
171| Story提示词标识冲突仍保留原资源与提示词 | AC-027 | 不适用(@e2e-only) | 通过 |
172| 历史工程规范化后超限仍拒绝保存且保留原草稿 | AC-027 | 不适用(@e2e-only) | 通过 |
173| 已完成交付读取失败后停止显示回执并可重新核实 | AC-027 | 不适用(@e2e-only) | 通过 |
174| 另一标签登录新身份后旧交付页不能<操作> | AC-027 | 不适用(@e2e-only) | 通过 |
175| 两个真实标签同时保存同一版本只有一个成功 | AC-027 | 不适用(@e2e-only) | 通过 |
176| 取消交付确认后重新打开仍需要显式提交 | AC-026 | 不适用(@e2e-only) | 通过 |
177| 交付提交等待返回时不能关闭确认框 | AC-026 | 不适用(@e2e-only) | 通过 |
178| 交付版本冲突后可从读取失败恢复到新版本 | AC-026 | 不适用(@e2e-only) | 通过 |
179| 交付草稿读取失败后可在原页面恢复 | AC-026 | 不适用(@e2e-only) | 通过 |
180| 交付链接格式错误保留输入并指出对应字段 | AC-026 | 不适用(@e2e-only) | 通过 |
181| 浏览器收到部分回执时分别判断验收和积分 | AC-026 | 不适用(@e2e-only) | 通过 |
182| 另一页面先完成交付后旧页面写入被拒且可恢复真实结果 | AC-026 | 不适用(@e2e-only) | 通过 |
183| 完成交付后可以从已完成分栏的引导卡继续浏览任务 | AC-026 | 不适用(@e2e-only) | 通过 |
184| 提交成功后立即显示验收完成且只提交一次 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
185| 验收完成后结果坞跳转报酬和交付成果并遵循减少动态 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
186| 待核实回执结果坞可跳到已提交成果 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
187| 刷新已完成交付沿用同一回执且不重复提交结算 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
188| 提交后切换身份不泄漏交付且返回本人保留完成结果 | AC-026、AC-027 | 不适用(@e2e-only) | 通过 |
189| 真实提交被拒后不能假成功 | AC-015、AC-026 | 不适用(@e2e-only) | 通过 |
190| 提交响应缺项时仍按独立事实展示 | AC-026 | 不适用(@e2e-only) | 通过 |
191| 已完成承接的交付首读未核实前禁止旧草稿编辑 | AC-026 | 不适用(@e2e-only) | 通过 |
192| 提交确认期间普通刷新保留清单但暂时禁止提交 | AC-026 | 不适用(@e2e-only) | 通过 |
193| 第一百零一条最早截止任务不因服务端分页被遗漏 | AC-1754 | 不适用(@e2e-only) | 通过 |
194| 仅自定义认证的任务从发布到截图承接并隔离同名证明 | AC-1754 | 不适用(@e2e-only) | 通过 |
195| 成片解码能力不影响交付和公开作品的读取权限 | AC-1754 | 不适用(@e2e-only) | 通过 |
196| 视频取帧时站内离开取消读取并保留原草稿 | AC-1754 | 不适用(@e2e-only) | 通过 |
197| 公开作品悬停真实播放且离开失败和减少动态效果均安全停止 | AC-1754 | 不适用(@e2e-only) | 通过 |
198| 任务作品成片播放失败可恢复且站内离开释放媒体 | AC-1754 | 不适用(@e2e-only) | 通过 |
199| 已播放成片的签名重读被拒时立即卸载旧播放器 | AC-1754 | 不适用(@e2e-only) | 通过 |
200| 首次进入空列表并发布第一条任务 | AC-026、AC-028、AC-031、AC-032 | 不适用(@e2e-only) | 通过 |
201| 匿名访客可浏览AI 漫剧平台介绍并打开平台 | — | 不适用(@e2e-only) | 通过 |
202| 标题行数不同的任务卡等高 | — | 不适用(@e2e-only) | 通过 |
203| 首次打开发现页数据迟到时页签仍在且网格不跳(视口<宽度>) | — | 不适用(@e2e-only) | 通过 |
204| 已登录用户从首页点发现且数据迟到时任务骨架按发现页排版且到齐不跳 | — | 不适用(@e2e-only) | 通过 |
205| 管理员从作品管理进入作品广场且数据迟到时作品骨架按作品页排版且到齐不跳 | — | 不适用(@e2e-only) | 通过 |
206| 目标页数据未到时旧页停留并出现顶栏光带 | — | 不适用(@e2e-only) | 通过 |
207| 缓存新鲜时切回发现页不出骨架 | — | 不适用(@e2e-only) | 通过 |
208| 没有专属等待态的页面数据迟到时出现通用页面骨架 | — | 不适用(@e2e-only) | 通过 |
209| 页面交接只在换页时做 | — | 不适用(@e2e-only) | 通过 |
210| 后台<区域>读取中断后可在原地恢复 | AC-026 | 不适用(@e2e-only) | 通过 |
211| 流水页用户搜索中断后可以单独重新搜索 | AC-026 | 不适用(@e2e-only) | 通过 |
212| 作品显隐收到<状态码>时保留原行并可重试 | AC-026 | 不适用(@e2e-only) | 通过 |
213| 认证截图展开收起不改变认证记录 | AC-026 | 不适用(@e2e-only) | 通过 |
214| 三类后台列表通过真实分页前进后退 | AC-026 | 不适用(@e2e-only) | 通过 |
215| 个人<统计>失败不影响另一项且可单独重试 | AC-026 | 不适用(@e2e-only) | 通过 |
216| 用户列表读取中断后刷新恢复真实用户 | AC-026 | 不适用(@e2e-only) | 通过 |
217| 完整编辑取消后恢复组件尺寸顺序和设置 | AC-105 | 不适用(@e2e-only) | 通过 |
218| 拖动和缩放落位可用并可撤销 | AC-106 | 不适用(@e2e-only) | 通过 |
219| 十类组件在十六种尺寸下内容入口与禁用边界可达 | AC-107 | 不适用(@e2e-only) | 通过 |
220| 未开放业务入口不可通过鼠标触发模拟流程 | AC-108 | 不适用(@e2e-only) | 通过 |
221| 真实数据请求失败不伪装为示例成功 | AC-109 | 不适用(@e2e-only) | 通过 |
222| 模板应用撤销与窄屏展示 | AC-110 | 不适用(@e2e-only) | 通过 |
223| 另一标签切换账号后旧草稿不能保存到新账号 | AC-111 | 不适用(@e2e-only) | 通过 |
224| 键盘编排与离开拖放区域可完整取消 | AC-112 | 不适用(@e2e-only) | 通过 |
225| 身份读取和重新加载失败保留明确恢复入口 | AC-113 | 不适用(@e2e-only) | 通过 |
226| 未开放业务隔离键盘触发但工作台布局仍可保存 | AC-114 | 不适用(@e2e-only) | 通过 |
227| 凭据读取边界变化在发请求前被捕获 | AC-115 | 不适用(@e2e-only) | 通过 |
228| 灵感推荐封面签名失败后可在紧凑卡片内恢复 | AC-116 | 不适用(@e2e-only) | 通过 |
229| 上传件重命名件文字说明与外链资源都按展示名存到本地 | AC-117 | 不适用(@e2e-only) | 通过 |
230| 外链资源取不回时提示重试并留下原始链接 | AC-118 | 不适用(@e2e-only) | 通过 |
231| 取消承接确认后再次打开仍需本人明确提交 | AC-026 | 不适用(@e2e-only) | 通过 |
232| 浏览器没有 randomUUID 时仍可取消后明确确认承接 | AC-008、AC-026 | 不适用(@e2e-only) | 通过 |
233| 承接提交期间关闭操作不会丢失进行中的请求 | AC-026 | 不适用(@e2e-only) | 通过 |
234| 公开详情与本人条件合法版本差在确认前阻断 | AC-026 | 不适用(@e2e-only) | 通过 |
235| 条款冲突刷新后必须确认新的任务版本 | AC-026 | 不适用(@e2e-only) | 通过 |
236| 本人承接数据读取失败后可原地恢复 | AC-026 | 不适用(@e2e-only) | 通过 |
237| 匿名项目入口登录后回到本人项目 | AC-026 | 不适用(@e2e-only) | 通过 |
238| 确认框打开后超过截止时间仍由服务端拒绝承接 | AC-026 | 不适用(@e2e-only) | 通过 |
239| 确认框打开后被他人先承接仍由服务端拒绝重复承接 | AC-026 | 不适用(@e2e-only) | 通过 |
240| 工作页承接卡封面图片加载失败后自动重新取址一次并恢复 | AC-026 | 不适用(@e2e-only) | 通过 |
241| 有效工程类型保存刷新后仍保持内容识别结果 | AC-033 | 不适用(@e2e-only) | 通过 |
242| 伪装扩展名不能绕过真实内容校验 | AC-033 | 不适用(@e2e-only) | 通过 |
243| 私有文本存储故障有明确反馈并可恢复 | AC-038 | 不适用(@e2e-only) | 通过 |
244| 大文本允许交付但不进行无界预览 | AC-038 | 不适用(@e2e-only) | 通过 |
245| 缺少节点类型的Story资源不会变成交付内容 | AC-038 | 不适用(@e2e-only) | 通过 |
246| 合法历史工程候选在当前页面修改保存后保持类型与真实元信息 | AC-033 | 不适用(@e2e-only) | 通过 |
247| 课程图片失效只自动重试一次并支持手动恢复 | AC-026 | 不适用(@e2e-only) | 通过 |
248| 任务附件地址失败后可在详情重试下载 | AC-026 | 不适用(@e2e-only) | 通过 |
249| 无效课程参数和匿名认证入口有明确指引 | AC-026 | 不适用(@e2e-only) | 通过 |
250| 认证截图选择拒绝错误格式并保留原图 | AC-026 | 不适用(@e2e-only) | 通过 |
251| 另一个标签页先认证时当前提交恢复已锁定记录 | AC-026 | 不适用(@e2e-only) | 通过 |
252| 无效登录回跳不会离开平台 | AC-026 | 不适用(@e2e-only) | 通过 |
253| 任务详情读取失败可原地恢复 | AC-026 | 不适用(@e2e-only) | 通过 |
254| 登出后顶栏回到未登录状态 | AC-116 | 不适用(@e2e-only) | 通过 |
255| 登出后私有页面需要重新登录 | AC-116 | 不适用(@e2e-only) | 通过 |
256| 新建多链接认证后可跨页查询个人动态并筛选用户流水 | AC-1754 | 不适用(@e2e-only) | 通过 |
257| 动态分页与认证学习入口拒绝无效请求 | AC-1754 | 不适用(@e2e-only) | 通过 |
258| 管理员把普通用户设为管理员 | AC-017 | 通过 | 通过 |
259| 管理员撤销他人的管理员角色 | AC-017 | 通过 | 通过 |
260| 管理员不能修改自己的角色 | AC-017 | 通过 | 通过 |
261| 管理员从前台顶栏进后台再返回平台 | AC-017 | 通过 | 通过 |
262| 未登录时前台仅有公开入口且不显示个人身份 | AC-018 | 通过 | 通过 |
263| 普通用户的前台顶栏没有管理后台入口 | AC-018 | 通过 | 通过 |
264| 普通用户打不开后台用户管理 | AC-018 | 通过 | 通过 |
265| 基于过期版本保存角色被拒 | AC-021 | 通过 | 通过 |
266| 被撤销管理员后再次登录不恢复管理员 | AC-019 | 通过 | 通过 |
267| 两个管理员并发互相撤权仍保留一个管理员 | AC-021、AC-029 | 通过 | 不适用(@integration-only) |
268| 首次发布准备仍在途时网络失败后的重试只创建一条任务 | AC-033、AC-040 | 不适用(@e2e-only) | 通过 |
269| 未绑定外部奖励的历史任务可查看但不能新承接 | AC-041 | 不适用(@e2e-only) | 通过 |
270| 已发奖励回执编码与承诺不符时保留待核对且不重复发奖 | AC-043 | 不适用(@e2e-only) | 通过 |
271| 真实关闭积分接入仍可交付且不发奖 | AC-036 | 不适用(@e2e-only) | 通过 |
272| 外部账号失效后安全重建本地积分映射 | AC-034 | 不适用(@e2e-only) | 通过 |
273| 未知发奖结果阻止余额查询重绑用户 | AC-034、AC-039 | 不适用(@e2e-only) | 通过 |
274| 尾款未知不影响查看完整成果也不会自动重复奖励 | AC-039、AC-042 | 不适用(@e2e-only) | 通过 |
275| 尾款真实响应超时仍保留完整成果且不会重发 | AC-039、AC-042 | 不适用(@e2e-only) | 通过 |
276| 发奖准备失败后恢复只产生一次预付 | AC-040 | 不适用(@e2e-only) | 通过 |
277| 奖励准备真实读取超时后恢复只产生一次预付 | AC-040 | 不适用(@e2e-only) | 通过 |
278| 已约定奖励规则被删除时阻断尾款但保留成果 | AC-040、AC-042 | 不适用(@e2e-only) | 通过 |
279| 确认未发送的连接故障恢复后只产生一次预付 | AC-039 | 不适用(@e2e-only) | 通过 |
280| 合法相对有效期凭据仍可读取余额 | AC-034 | 不适用(@e2e-only) | 通过 |
281| 外部余额真实读取超时不影响历史流水并可恢复 | AC-037 | 不适用(@e2e-only) | 通过 |
282| 发布页奖励目录不可用后可以重新读取并发布 | AC-033、AC-040 | 不适用(@e2e-only) | 通过 |
283| 发布页只提供兼容的固定积分档位 | AC-040 | 不适用(@e2e-only) | 通过 |
284| 选中档位被删除后刷新目录并重新确认发布 | AC-040 | 不适用(@e2e-only) | 通过 |
285| 多个奖励处理器竞争同一预付只发放一次 | AC-035 | 不适用(@e2e-only) | 通过 |
286| 历史承接沿原约定完成交付 | AC-041 | 不适用(@e2e-only) | 通过 |
287| 登录用户访问失效任务链接得到可理解的错误 | AC-033 | 不适用(@e2e-only) | 通过 |
288| 管理员可以查看整页没有任务关联的历史收支 | AC-037 | 不适用(@e2e-only) | 通过 |
289| 个人页收支流水超过一页时可以翻到更早的记录 | AC-016 | 不适用(@e2e-only) | 通过 |
290| 历史不完整回执仍在真实工作卡展示保守尾款文案 | AC-040 | 不适用(@e2e-only) | 通过 |
291| 发布分别选择预付和尾款档位 | AC-033 | 通过 | 通过 |
292| 用户积分身份懒创建且复用 | AC-034 | 通过 | 通过 |
293| 相同档位在两阶段与多个任务可重复领取 | AC-035 | 通过 | 通过 |
294| 积分接入暂停不阻断已有任务交付 | AC-036 | 通过 | 通过 |
295| 外部余额和本平台流水各自独立 | AC-037 | 通过 | 通过 |
296| 发送后崩溃不会自动重复奖励 | AC-038 | 通过 | 不适用(@integration-only) |
297| 外部未知结果禁止自动重发 | AC-039 | 通过 | 不适用(@integration-only) |
298| 不兼容规则和变更摘要不能用于发奖 | AC-040 | 通过 | 不适用(@integration-only) |
299| 发布摘要过期后必须重新选择两个档位 | AC-040 | 不适用(@e2e-only) | 通过 |
300| 历史条款绑定不重发已成功阶段 | AC-041 | 通过 | 不适用(@integration-only) |
301| 积分异常时完整成果仍可查看 | AC-042 | 通过 | 通过 |
302| 异常金额按实际外部事实记账 | AC-043 | 通过 | 不适用(@integration-only) |
303| 管理员凭证复核并发和迟到响应可追踪 | AC-044 | 通过 | 不适用(@integration-only) |
304| 停留页面能够发现尾款到账 | AC-045 | 通过 | 通过 |
305| 发布时冻结汇率并按贝壳展示报酬 | AC-047 | 通过 | 通过 |
306| 汇率变更不改变已发布任务承诺的贝壳数 | AC-048 | 通过 | 通过 |
307| 汇率变更不阻断在途尾款发放 | AC-049 | 通过 | 不适用(@integration-only) |
308| 规则变更仍然阻断发奖 | AC-050 | 通过 | 不适用(@integration-only) |
309| 选档期间汇率变化必须重新确认 | AC-051 | 通过 | 通过 |
310| 汇率缺失或多条生效时拒绝发布 | AC-052 | 通过 | 不适用(@integration-only) |
311| 除不尽的档位按两位小数展示且不虚报 | AC-053 | 通过 | 通过 |
312| 余额与流水统一贝壳口径 | AC-054 | 通过 | 通过 |
313| 历史行回填不改变已确认的外部事实 | AC-055 | 通过 | 不适用(@integration-only) |
314| 旧积分账号失效后反查返回他人已绑定身份时保留原映射和本地流水 | AC-034、AC-037 | 不适用(@e2e-only) | 通过 |
315| BTS凭据服务故障时仍可查看本平台流水并恢复余额 | AC-034、AC-037 | 不适用(@e2e-only) | 通过 |
316| 双标签重建映射后旧准备目标被取消且新目标只奖励一次 | AC-034、AC-035 | 不适用(@e2e-only) | 通过 |
317| 迟到的准备失败不能覆盖另一个处理器已提交的奖励 | AC-035、AC-040 | 不适用(@e2e-only) | 通过 |
318| 实际到账金额不同经管理员核对后用户看到结案结果 | AC-038、AC-039 | 不适用(@e2e-only) | 通过 |
319| 两个合法奖励档位的合计超过上限不能发布 | AC-033、AC-040 | 不适用(@e2e-only) | 通过 |
320| 迁移前已发放的本地预付保留历史来源且不会再发 | AC-037、AC-041 | 不适用(@e2e-only) | 通过 |
321| 仅启动API即可自动发放预付与尾款并在页面到账 | AC-046 | 不适用(@e2e-only) | 通过 |
322| 应用服务自动发放待处理积分并安全停止 | AC-046 | 通过 | 不适用(@integration-only) |
323| 两分钟轮询结束后可手动重启且完成后停止 | AC-045 | 不适用(@e2e-only) | 通过 |
324| 隐藏标签暂停轮询且超时后恢复只读取一次 | AC-045 | 不适用(@e2e-only) | 通过 |
325| 独立我的记录组件超时后仍可主动刷新真实积分 | AC-045 | 不适用(@e2e-only) | 通过 |
326| 任务页报酬卡主动刷新后当场给出结果 | AC-045 | 不适用(@e2e-only) | 通过 |
327| 两个连接同图认证只产生一条记录 | AC-006 | 通过 | 不适用(@integration-only) |
328| 两个连接异图认证只允许一方锁定 | AC-006 | 通过 | 不适用(@integration-only) |
329| 数据库拒绝更换已认证的截图 | AC-006 | 通过 | 不适用(@integration-only) |

2026 年 9 月 21—27 日工作汇报附件 · 取证日期 2026-09-28 · 原文 SHA-256:3798b01b0fb82a853a4d97cb342b07c17020e678d559fa014f4bdc7f74a01062