1.9 KiB
1.9 KiB
Brain → Sense mapper 字段责任
| 契约字段 | Brain 生产者责任 | Sense 消费者投影责任 |
|---|---|---|
schema_version |
固定发布 yovision.runtime-status/v1 |
先按主版本分派;未知版本不覆盖最后投影 |
status_id |
每次观测生成唯一幂等键 | 去重,不把重复消息当成新观测 |
brain_instance_ref |
发布部署时分配的逻辑引用 | 映射到内部 edge node;不把它当数据库主键 |
sequence |
同实例单调递增 | 拒绝倒序消息,保留最后已知投影 |
observed_at |
发布观测完成时间 | 校验未来偏差;用它推导 fresh/stale,不用接收时间覆盖 |
runtime.* |
报告真实运行状态和脱敏版本 | 校验迁移并形成只读运维状态 |
model.* |
报告逻辑模型引用及版本,不报告文件路径 | 显示版本差异,不推导模型下载或重启命令 |
configurations[] |
每个 config_id 报告真实应用结果和 integer revision;同一消息内 ID 唯一 |
按 config_id 与 Sense 内部期望 revision 比较;拒绝重复 ID,不回写 Brain 状态 |
health.* |
聚合无敏感健康与有界指标 | 展示健康、指标和稳定错误码,不生成业务 Alert |
inputs[] |
按逻辑输入发布安全摘要 | 按 input_ref 映射运维投影,不读取视频或检测内容 |
契约测试责任
- Brain:对所有发布消息执行 Schema 校验;覆盖各运行状态、配置应用结果、降级/失败以及敏感字段拒绝。
- Sense:使用同一有效/无效样例;覆盖版本分派、幂等与倒序、30 秒未来偏差、90 秒陈旧边界、状态迁移、offline/recovery、revision mismatch 及回退不覆盖最后投影。
- 协调契约:
contracts/tests/runtime-status-v1/test_contract.py是双方最小共同测试。产品 adapter 仍需在各自工单中增加本地模型映射测试。