轨迹 01 · UNATTENDED-ACCEPTANCE

无人值守验收

验收契约当场回显、可以一句话改;每轮判定带环境证据;产出以图进对话。交付前先过买方自己的验收脚本,再自己渲染看过。

现场
2026-08-08 · SG 生产环境
全程
约 16 分钟 · 2 轮候选
规模
68 条消息 · 30 次工具调用
前置
零安装 · 零外部系统 · 零凭证
全程时间轴 · 时间为 UTC

从交活到验收,一共九拍。

开始
14:33:44
建场:把数据底座作为附件交给它,存进组织工作区。
路径取的是业务无关的名字。文件名一带业务,底座就漏进了能力层——换一家非物流客户,这名字当场就是错的。
14:37:57
你交活,并把自己的验收脚本作为附件一起交进来。
「规格以它为准,必须跑到 verdict=pass,脚本一个字不许改;交付前你自己得渲染出来看过。」任务话术里没有公司名、没有实体名、没有一个数字。
自主步骤 · 无人值守
自主 · 轮 1
它读底座、读验收脚本,把契约回显成一张卡。
目标、四项验收判据、验收器命令行、预算,全在卡上。这不是审批流:判据摊开给你看,你可以继续用自然语言改。
自主 · 轮 1
冻结验收器拦下第一个候选。
pages unreachable from entry page dashboard: driver-detail, waybill-detail
自主 · 轮 1
照着错误清单收敛,重跑,四项全过。
两个列表页补齐 13 条下钻边(8 条运单 + 5 名司机),保留详情页的 2 条返回边。失败项改变了下一轮的候选,没有被文字解释绕过去。
自主 · 轮 1
脚本过了也不直接发文件,先把页面渲染出来自己看过。
渲染结果以图片进入会话 timeline,然后才写第 1 轮判定:pass / 100,四条具名判据各自 pass,各带 /workspace/report.json 证据引用。
14:45
你一句话追加两条判据。脚本仍然不许改。
「看板要有『运费总额』覆盖全部运单;司机详情页要能看到他名下的所有运单。」没有生成第二张契约卡——变更由你的消息、它的回应和第二轮判定共同追踪。
自主 · 轮 2
加第 6 个指标与关联子表,重跑,四项再次全过。
4200 + 1800 + 3150 + 900 + 2400 + 1250 + 0 + 3300 = 17000。运费总额用没有 where 过滤的全表求和;司机详情页按 driver_id 挂上关联运单子表。
验收
14:48:35 → 14:49:37
第 2 轮判定 pass / 100,选为 best,交付卡指向 prototype.html。
23,959 字节,单文件,零 CDN,零第二文件。到这里,你来验收。
关键帧 · 物理 Windows 原生浏览器取景,未修图

这条现场留下的七帧。

用户交活并把验收脚本作为附件交进来
01 交活。任务话术里只出现文件路径和结构性要求,业务值全在底座里。
渲染结果以图片进入会话 timeline
02 读底座、读验收脚本、设契约。渲染结果以图片直接进 timeline。
沙箱输出显示 verdict fail 和不可达页面清单
03 冻结验收器判 fail,一次列全违规,不停在第一个。
第一轮判定卡列出四条具名判据与证据引用
04 第 1 轮判定:四条判据各自 pass,各带环境证据引用。
用户追加两条判据,流马确认按新要求继续
05 你追加两条判据。它确认按新要求继续,脚本仍不改。
第二轮判定卡与最终交付卡
06 第 2 轮四项全过、渲染确认之后,交付卡才发出来。
会话里的验收契约卡与第一轮判定卡全貌
07 全貌:契约卡在上,判定卡在下。目标、判据、验收器命令行、预算,都摆在明面上。
考卷

判据是买方带进来的,不是我们自带的。

验收脚本在任何一个候选出现之前就冻结了。它判的是交付出来的文件本身——环境事实,不是模型对自己产出的描述。四项检查一次跑完并列出全部违规,不停在第一个。

verify_prototype.py · 四项机械检查
sha256 527fd455… · 352 行 · 零依赖 · 校准 fixture 6 份,复校 6/6 如设计
single_file
只有一个 HTML 文件,没有跨文件或远程引用
reference_integrity
每一个页面引用都能在本文件的配置里解析到
positive_connectivity
从任意一页出发,菜单声明的每一页都到得了
data_consistency
每一个声明的指标,等于用它自己的数据行重算出来的值
候选 ①
第 1 轮
第 2 轮 · best
pass
fail
这一格现场没有留下证据,就不填
橡皮图章对照

审计时把交付文件里的 17000 手动改成 17100,验收器立刻 fail:declares 17100 but its rows compute 17000。它算的是数据行,不是读声明。

最终只读审计 · 独立阶段,不采信自述

交付之后,还有一道我们自己过不去的关。

冻结验收器独立复验
pass · 四项全过
数据 vs 底座逐字段对账
运单 8/8 · 司机 5/5 · 七个字段零差异
6 个指标逐个手算
全部一致
外部引用
0 个 · 单文件 · 零 CDN
浏览器实走 · 司机详情
关联子表对,但司机本人五个字段全空
诚实观察 · 按现场原样保留

司机详情页的页面标题、返回键、关联运单子表全对,但司机本人的编号、姓名、电话、车牌、基地五个字段一个值都没渲染出来。根因是两个详情卡片共用了同一个 DOM id。冻结验收器只查结构、明确不查运行时渲染;交付前的自看又跟不了 hash 路由,没能覆盖那一页。「脚本 pass + 交付前自看」这两道加起来,仍然漏掉了一整类缺陷。抓住它的是最后那道独立只读审计。这一条随展品保留,不修饰。

证据索引
演示会话
e91ce597-2d8d-4ca4-b0d6-cca477550c9c
最终交付物
prototype.html · 23,959 字节 · sha256 af063c01…
冻结验收器
verify_prototype.py · sha256 527fd455…
版本
redguard-v23.0.1+build.114

在你的组织里搭一个。

换一家客户演这条,只要覆盖底座那一个文件——任务话术和验收脚本一个字不改。这不是声明,是机械验过的:底座里 70 个业务值,在话术和脚本里命中 0。

带一个问题来,30 分钟当场搭一个