--- id: T-001 title: 建立摄像头兼容性实验矩阵与采购白名单 phase: 0 deps: [] status: TODO created: 2026-08-03 issue: 1 context_ref: null claim_branch: null work_branch: null write_paths: - docs/tasks/T-001.md - docs/research/camera-compatibility.md --- ## 问题 / 背景 YoVision 尚未用真实候选摄像头验证 ONVIF/RTSP 厂商差异。直接开始生产接入会把未知兼容性问题带进 Sense,M0 出口要求先验证 3–5 款设备并形成采购白名单。 ## 关联需求与交互(如适用) - 用户故事:US-007。 - 交互清单:无产品 UI;使用版本化实验记录。 - 需求:`docs/02-requirements.md` §2,原始来源 `docs/raw/01-需求收集.md` §6.1。 ## 方案 1. 在隔离实验室选定 3–5 款候选设备,记录型号、固件、认证方式和网络条件。 2. 为每款设备执行 GetProfiles、GetStreamUri、SetSystemDateAndTime、主/子码流、认证失败、掉线恢复和时间漂移测试。 3. 在 `docs/research/camera-compatibility.md` 固化步骤、原始证据摘要、差异、限制和采购结论。 4. MiBeeNvr 可直接运行作测试台,也可按白名单阅读参考代码;不修改 `_reference/`,临时配置和代码不进入生产基线。 ## 不可变约束 - 阈值 / 数值边界:候选设备 3–5 款;每款三个 ONVIF 核心操作全部有证据。 - 判定式 / 状态转换:只有必过项全部通过才进入采购白名单;失败设备记录原因而不是删除记录。 - 安全边界:只用自购实验设备和隔离网络;不接真实住户、学校或客户摄像头;不记录密码、完整 RTSP 凭据或可复用 token。 - 既有契约:`_reference/` 只读,M0 产物不得成为生产 NVR 或长期依赖。 ## 验收要点 - 任务相关验证:文档包含设备矩阵、可重复命令/步骤、逐项结果和采购白名单;运行三条 harness 治理命令。 - 完整门禁:涉及脚本时在隔离环境对全部 3–5 款设备重复执行;没有生产代码则不触发 Go/Python 完整门禁。 - 人工 / 设备验收:必需;由实施/硬件负责人核对型号、固件和原始测试证据。 - 构建产物:不适用;交付物为 `docs/research/camera-compatibility.md`。 ## 边界(不改什么) 不创建 Sense 生产脚手架,不修改 `_reference/`,不评估 AI 检出率,不承诺 16/128 路容量。 ## 协作约束 - 责任 Agent:由 dispatcher 分配。 - 唯一写入者:同责任 Agent。 - 委派:默认不启用;设备测试可由指定人员执行,但任务所有者必须核验原始证据。 - Gitea:主 Issue 为 #1;领取时写入 `context_ref`、claim 和工作分支。 任何新增写路径先由 dispatcher 与活跃任务做前缀冲突检查。 ## 执行记录 ### 2026-08-04 暂缓 - 项目负责人决定暂缓 T-001;任务尚未领取,也未产生摄像头兼容性结论。 - 当前阻塞条件:暂不安排 3–5 款候选摄像头、对应固件/ONVIF 账号和隔离实验室网络进行实测。 - 解除条件:上述设备与测试条件准备完成。恢复后仍须完成原任务的逐款证据和人工/设备验收,不得用模拟器结果替代采购白名单。 - 本阻塞不妨碍独立的 Sense 离线软件骨架,但继续阻止真实设备兼容性结论和 5 路实机验收。