一致性验收
Conformance 不是“页面看起来能聊”。它要求 runtime facts、read models、投影、治理分类和验证用例一起成立。
等级
| 等级 | 要求 |
|---|---|
Prototype | 可展示一个 turn,但允许 mock 和不完整 facts。不能用于生产声明。 |
Projection compatible | UI 消费 RuntimeEvent/ReadModel,缺事实 degraded,不从 prose 猜。 |
Runtime compatible | App Server/RuntimeCore 输出 required event families 和 read models。 |
Lime 剖面 core | Provider store、permissions、tools、artifacts、evidence、routing、task facts 可 join。 |
Product conformant | 产品应用不传 key、不 fork runtime/UI、旧路径有退出条件。 |
最小验收场景
- First text 前 runtime status 可见,且不进入 final answer。
- Tool call 有
toolCallId,失败/成功不从 assistant text 推断。 - Pending approval 有
actionId,未解决时 UI 显示 waiting。 - Artifact 通过
artifactId引用,不复制完整 bytes 到 message。 - Evidence export 包含 runtime correlation spine。
- Old session 可通过 read model hydration 恢复。
- 缺失 runtime fact 显示 unknown/unavailable/stale/blocked。
- 产品应用 payload 不含 key/token/secret。
- Production path 不依赖 mock fallback。
- Existing local process component / ToolGroup 标为 deprecated 或迁到共享 AgentUI。
Fixture 矩阵
| Fixture | RuntimeEvent | ReadModel | Projection | UI |
|---|---|---|---|---|
text-basic | lifecycle + model delta/final | thread completed | UIMessageParts final | conversation 正常。 |
tool-success | tool started/args/progress/result | tool summary/ref | ToolGroup + timeline | tool 输出可展开。 |
tool-failure | tool failed + failure category | incident | failed attention | recovery action 可见。 |
approval | action required/resolved | pending action | ActionRequired | 未 resolved 前保持 waiting。 |
artifact-evidence | artifact/evidence changed | refs summary | artifact/evidence lane | 可跳转 owner surface。 |
stream-repair | sequence gap / snapshot updated | stale -> live | repair/reconcile | 不重复追加文本。 |
subagent-job | task/subagent/job events | task snapshot | ExecutionGraph | work board 可见。 |
包级验收
| 包 | 验收 |
|---|---|
@limecloud/agent-ui-contracts | schema 与 fixtures 能校验;破坏性字段变更有版本说明。 |
@limecloud/agent-runtime-projection | projector 幂等、乱序降级、hydration repair、final reconciliation 有单测。 |
@limecloud/agent-runtime-ui | 组件不直接订阅 runtime stream,不读 Provider,不写 runtime truth。 |
@limecloud/agent-runtime-client | JSON-RPC / host bridge / SSE transport 有统一错误模型,不回退 mock。 |
产品剖面验收
每个产品应用剖面必须写清:
- 使用哪些 shared surfaces。
- 哪些旧路径是
compat,退出条件是什么。 - hosted mode 下 Provider Key 如何迁到 Provider store。
- 断流、未配置 Provider、权限阻断如何展示。
- 哪些 fixture 证明该产品接入符合标准。
建议检查
- JSON schema validation for events/read models/投影 fixtures。
- Contract tests for App Server client and AgentUI reducer。
- Fixture replay for active run、tool failure、approval、artifact、evidence、hydration。
- Governance scan for deprecated imports and mock production fallback。
不可声明 conformant 的情况
- 只支持聊天文本,不支持 tool/action/artifact/evidence facts。
- 生产入口依赖 mock runtime。
- 产品应用保存 Provider Key 并绕过 App Server。
- UI 从 prose 推断运行结果。
- 旧路径没有退出条件。