Files
yovision/docs/tasks/T-001.md
T
QiuSW c9251daadf
Harness governance / validate (push) Has been cancelled
Harness governance / validate (pull_request) Has been cancelled
docs(camera): approve single Hikvision baseline
2026-08-05 17:38:54 +08:00

98 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: T-001
title: 完成指定摄像头型号准入验证
phase: 0
deps: []
status: DONE
created: 2026-08-03
issue: 1
context_ref: 56c07427c86222f6dccaf0574f59cfaba9e3103c
claim_branch: claims/T-001
work_branch: agent/codex/T-001
write_paths:
- .gitignore
- docs/tasks/T-001.md
- docs/tasks/T-006.md
- docs/research/camera-compatibility.md
- docs/00-ai-start-here.md
- docs/06-tasks.md
- docs/current-state.md
- docs/quality-document.md
---
## 问题 / 背景
YoVision 尚未用真实摄像头验证 ONVIF/RTSP 接入。项目负责人决定首期统一采购一个指定型号,不在 M0 承担多品牌兼容成本;因此 M0 出口改为使用至少一台实物,对明确的“厂商 + 型号 + 硬件版本 + 固件版本”组合完成准入验证。该结论只证明指定基线可用,不能外推到同厂商其他型号、其他固件或多品牌兼容。
## 关联需求与交互(如适用)
- 用户故事:US-007。
- 交互清单:无产品 UI;使用版本化实验记录。
- 需求:`docs/02-requirements.md` §2,原始来源 `docs/raw/01-需求收集.md` §6.1。
## 方案
1. 在隔离实验室冻结首期指定设备的厂商、型号、硬件版本、固件版本、认证方式和网络条件;至少使用一台可核验身份的真实样机。
2. 对该基线执行 `GetProfiles`、`GetStreamUri`、`SetSystemDateAndTime`、主/子码流、认证失败、掉线恢复和时间漂移测试。主/子码流分别连续观察至少 10 分钟,网络断开与恢复至少重复 3 次,并保留每次时间线。
3. 在 `docs/research/camera-compatibility.md` 固化可重复步骤、脱敏原始证据摘要、逐项结果、限制和准入结论;文档标题和结论使用“指定型号准入”,不宣称多品牌兼容矩阵。
4. 必过项任一失败时,该型号不得准入;项目负责人可改选另一个指定型号,但必须对新型号从头执行完整矩阵,失败记录不得删除。
5. MiBeeNvr 可直接运行作测试台,也可按白名单阅读参考代码;不修改 `_reference/`,临时配置和代码不进入生产基线。
## 不可变约束
- 阈值 / 数值边界:一个指定型号、至少一台真实样机即可验收;三个 ONVIF 核心操作全部有证据,主/子码流各观察至少 10 分钟,断线恢复至少 3 次。
- 判定式 / 状态转换:准入对象是精确的“厂商 + 型号 + 硬件版本 + 固件版本”组合;只有必过项全部通过才标记 `approved`。型号、硬件版本或固件发生变化时默认视为未验证,至少重跑受影响项并由硬件负责人重新批准。
- 安全边界:只用自购实验设备和隔离网络;不接真实住户、学校或客户摄像头;不记录密码、完整 RTSP 凭据或可复用 token。
- 既有契约:`_reference/` 只读,M0 产物不得成为生产 NVR 或长期依赖;业务代码仍按标准 ONVIF/RTSP 和 adapter 边界实现,不得把准入厂商、型号或地址写死。
## 验收要点
- 任务相关验证:文档包含指定基线身份、样机标识的脱敏摘要、可重复命令/步骤、逐项结果、失败记录、单样本限制和准入结论;运行三条 harness 治理命令。
- 完整门禁:涉及脚本时在隔离环境对指定样机重复执行完整矩阵;没有生产代码则不触发 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 路实机验收。
### 2026-08-04 重构为指定型号准入
- 项目负责人确认首期只有一台摄像头,并决定统一采购一个指定型号;T-001 从“3–5 款兼容性矩阵”收敛为“一个精确型号/固件基线、至少一台真实样机”的准入验证。
- 数量门槛降低不等于降低必过项:保留三个 ONVIF 核心操作、主/子码流、认证失败、校时/漂移和掉线恢复,增加主/子码流各 10 分钟及 3 次断线恢复的最低证据要求。
- 准入结论不得外推到其他型号、硬件版本、固件、生产批次或多品牌兼容。后续 T-006 使用该一台实机 + 至少 4 条独立合成 RTSP 源完成五路软件闭环;真实多设备证据由 T-007 在客户/借用/租赁条件具备后完成。
### 2026-08-04 单海康样机开发基线
- 项目负责人确认当前唯一实机为 Hikvision IP Camera,后续本地硬件开发均使用该样机;领取 T-001 后仍须从实物读取并冻结精确型号、硬件版本和固件,不能只记录品牌。
- 多路功能、配额和容量验证允许使用无人物合成 RTSP 源;合成结果不扩展 T-001 的准入范围,也不证明多台真实设备兼容或故障隔离。
### 2026-08-05 指定型号准入完成
- dispatcher `ila` 将任务分配给 `codex`;`context_ref` 为 `56c07427c86222f6dccaf0574f59cfaba9e3103c`,claim 为 `claims/T-001`,工作分支为 `agent/codex/T-001`。
- 冻结基线为 HIKVISION `DS-2CD3321FD-IW1-T`、硬件版本 `0x0`、固件 `V5.5.61 build 180929`、编码器 `V7.1 build 180929`;序列号仅保留 SHA-256 前 12 位摘要,不保存原值。
- ONVIF `GetProfiles`、`GetStreamUri`、`SetSystemDateAndTime` 均返回成功;主/子 Profile 分别映射到脱敏后的 `101`/`102` 通道。设备返回内网 XAddr,公网/NAT 环境必须由接入层重写主机和端口。
- 错误 RTSP 和 ONVIF 凭据均被拒绝,随后正确凭据立即恢复;未发现错误账号被接受或有效账号锁定。
- 主、子码流通过 RTSP over TCP 并行持续解码 605 秒:主码流 10,890 帧、子码流 9,076 帧,两路退出码均为 0,警告/错误均为 0。
- 流测试前后摄像头 UTC 偏差分别为 2.3 秒和 2.8 秒,10 分钟增长 0.5 秒;时间模式、`CST-8:00:00` 时区和夏令时配置在权限测试后保持不变。
- 项目负责人因不在摄像头现场,明确裁决将“3 次物理网络断开与恢复”按完成处理。本次没有执行真实断网,也没有三次恢复时间线;该项以 `WAIVED` 留痕,不得对外宣称已经实测自动恢复,T-006 的恢复门禁仍须独立执行。
- 脱敏步骤、结果、限制和准入结论见 `docs/research/camera-compatibility.md`。本任务结论为 `approved`(含上述负责人豁免),仅适用于本文件冻结的单台、单型号、单硬件和单固件基线。