6.7 KiB
资料分析和卖点文案异常恢复验收
日期:2026-10-16(UTC+8)。按用户授权,本次将已验收的异常恢复修复单独发布;文字候选与真实产品批量验收继续保留为未完成项,不能据本次发布宣称模型全部验收通过。
本次完成范围
- 管理后台支持取回 OpenAI Chat Completions、Anthropic Messages 的原响应。联合测试只读一次,分析和文案分别记录结果,互不代替;取回结果不自动勾选或开放用途。
- 详情页任务新增恢复接口与界面:取回分析后先保存事实、暂停;用户主动继续才调用文案。取回已完成文案则恢复大纲,不再做分析。
- 已确定结束的文案失败,可以保留分析后重试文案。新尝试编号先落库,重复点击、重复受理或进程重启不能另建一次执行。结果未知时没有这条重试入口。
- 原请求号、创建者、项目版本、模型连接快照与当前数据库超级管理员资格保持校验。撤权、停用、跨创建者或项目变更都不能绕过检查。
- 410 未留存、结果暂不可读或本地检查失败保持原请求待核查;不会因此释放成“可以重新生成”。查询只使用原 Key 和公开 GET 接口,不发送生成正文、原参考图或新的幂等头。
- 结果截断、工具调用要求和已完成但不合规的 JSON 明确失败。参数错误仅显示白名单字段,不回显上游内部错误、密钥或供应商信息。
- 产品事实必须通过严格
facts/warnings结构校验后才能成为检查点;原始资料与事实分开传递,分析警告不能在文案阶段丢失。
验证证据与边界
| 验证 | 结果 | 范围 |
|---|---|---|
| 相关自动化测试 | 发布源码 19 个测试文件、469 项通过 | 从最新主线独立拆出的发布源码复验,覆盖协议、联合验证、异常恢复、权限、任务、界面和新主线工作评审改动;包含故障模拟,不等于 469 次真实模型调用。 |
| TypeScript | 通过 | 排除知识库等未完成改动后的发布源码完整类型检查。 |
| 隔离 PostgreSQL | 11 项实际数据库验证通过 | 两次并发恢复仅一个租约、角色撤销、创建者隔离、版本冲突、固定请求号、重复继续、未知任务拦截与幂等尝试落库。无生产写入。 |
| 98k 实际只读恢复 | 成功取回 3 笔既有响应 | Anthropic Messages 真实公开 GET;未新增生成、未写回生产用途验证记录。 |
| 桌面与手机浏览器 | 本地组件验收页通过 | 1280×900、390×844;模拟 API,真实 React 组件、字体与 CSS;不冒充线上端到端验收。 |
| Impeccable 静态检查 | 无发现 | 仅本次模型管理和任务恢复组件。 |
实际只读取回记录:
| 模型 | 原客户请求号 | 原响应再次校验 |
|---|---|---|
| claude-fable-5 | e1404ade-3ca1-49bd-a367-3002b77bc924 | 分析通过、文案通过。 |
| claude-fable-5-1 | 7e041f61-6835-4b5d-b370-31bc102725c4 | 分析通过、文案通过。 |
| claude-haiku-4-5-20251001 | 48c65344-7490-418e-840a-52c27e5de9cc | 仍为格式不合要求,分析和文案均未通过;未宽松提取 JSON 来伪造通过。 |
OpenAI 原响应的成功、不可读、截断及身份不匹配路径已完成协议测试;本次没有新增 OpenAI 真实生成来制造恢复样本。原有生成质量、真实商品事实、多屏卖点及商业成品验收不包含在上述恢复结果内。
界面审查
本次按 Impeccable 的 Operate 模式完成 harden 与 audit。保留现有视觉语言;“核查凭证”放在详情中,联合测试相同的请求号和时间只展示一次,不同请求仍分别保留来源。新增字段有可访问标签,按钮高度至少 44px,请求号可换行;手机输入字号 16px。恢复状态可被辅助技术宣布,错误就近反馈,查询错误后可只刷新状态。
桌面页面 scrollWidth = clientWidth = 1265,手机页面为 375;两种视口均无横向溢出。浏览器未发现控制台错误或警告。审查限于本地模拟恢复场景,不对全平台作 WCAG 合规声明。
| 维度 | 结论 |
|---|---|
| 可访问性 | 标签、焦点、状态、字号与触达检查通过;未做完整屏幕阅读器人工测试。 |
| 性能 | 复用现有组件与 HTTP 适配,无新模型 SDK 或动画依赖。 |
| 主题 | 沿用既有颜色与字体系,不添加无效 dark: 变体。 |
| 响应式 | 桌面和手机实际页面验证通过;请求号、长模型名和操作区正常换行。 |
| 实现完整性 | 静态检测无发现;模拟界面明确标识,不包装为线上真实调用结果。 |
证据目录:output/ai-text-acceptance-20261016/,其中 retained-live-acceptance.json、database-acceptance.json、checks-summary.json 与 ui-preview/*-final.png 分别保存公开只读调用、数据库、自动检查与界面证据。临时 PostgreSQL 测试容器已停止并自动移除。
98k 核查结论与后续验收
用户转交的 98k 只读核查确认:claude-opus-4-5-20251101 原请求 a5666c15-3e08-4ffe-8037-6e517aabe46b 于 2026-10-16 09:48:00(UTC+8)仅派发一次,中转约 4.62 秒后结束;执行端 HTTP 200 未能解析为有效模型结果,最终结果仍未知。客户扣费 ¥0,预留已释放,没有重复派发或扣费。
原响应没有留存。公开 GET 返回 410 result_not_retained 不能视为执行失败;没有其它公开接口可恢复。保留原请求号及幂等键 0fb4bbf5-7fcd-4f3a-98e1-29ba7154ea60,不新建请求重试,不人工关闭未知记录。本次修复发布不修改这两条用途验证记录,也不扩大模型开放范围。
- 继续剩余文字候选逐个真实调用前,仍须遵守未决调用的防重复受理规则,不换管理员或新幂等键绕过。
- 使用素材库产品
GBPM-AD0358验证事实、卖点与多屏大纲;只有完成实测的用途才可另行启用。 - 知识库等未完成修改保留在工作区,不混入本次异常恢复发布。部署不代表上述生成质量验收完成。
复现命令
自动检查使用 jest --runInBand --runTestsByPath,避免扫到 .private 中旧的构建副本。逐项命令及输出记录在本次证据目录的 checks.cjs 和日志内。
数据库验收脚本 scripts/verify-detail-text-recovery.ts 强制要求 127.0.0.1:55446/detail_text_recovery_20261016 与 NEXT_BUILD=1,不加载生产配置或调用模型。不要修改保护条件去连接生产数据库。
模型合同核查脚本 scripts/audit-ai-model-contracts.ts 只读取 98k 公开目录,也可读取已保存的目录快照;不会同步配置或测试模型。可选管理员状态快照仅用于对照已存在的用途验证记录。