Files
yovision/contracts/runtime-status/v1/mapping.md

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 仍需在各自工单中增加本地模型映射测试。