Files
QiuSW 8208118904
Harness governance / validate (pull_request) Has been cancelled
feat(bell): add alert acknowledgement vertical slice
2026-08-11 17:01:53 +08:00

80 lines
6.6 KiB
Markdown
Raw Permalink 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.
# 任务路线图
> 本文只维护阶段、里程碑和建议任务,不维护实时状态。实时状态以 Gitea Issue 为准,规格与证据在 `docs/tasks/T-<编号>.md`。
## M0:兼容性验证与需求定稿
出口:至少一台真实样机完成首期指定型号/固件的 ONVIF/RTSP 准入,指定采购基线归档;架构影响型开放问题闭环;M0 临时代码不进入生产基线。该出口不代表多品牌或批次兼容。
- T-001:完成指定摄像头型号准入验证。
- T-002:关闭 Q1/Q2/Q4–Q12 架构影响型需求问题。
## M1:Sense 接入骨架 + MediaMTX
出口:1 路 T-001 准入实机 + 至少 4 路独立合成 RTSP 源完成五路自动建 path、探活、断线重建;使用 MediaMTX 生产数据面,完整 MiBeeNvr 不替代生产基线。该出口是实验室软件闭环,不代表真实五机或生产 SLA。
- T-003:建立无需真实摄像头即可验证的 Sense Go 脚手架、设备台账、ONVIF port/fake、MediaMTX 生成客户端与薄封装;完成不代表 M0/M1 出口。
- T-003 只冻结 `/healthz`、`/readyz` 运维探针,设备管理公共 API 留给后续契约任务;真实 ONVIF adapter 不用 fake 冒充。
- T-006:在 T-001 指定准入基线与 T-003 骨架之上,以 1 路海康实机 + 至少 4 路可独立启停的合成 RTSP 源完成五路自动建 path、探活、恢复和 MediaMTX 实验室集成验收。
- T-001 与 T-003 已完成;T-006 可领取实施,只需准备至少 4 条可独立启停的合成源,不要求当前购买更多摄像头。
## M2:对账、多租户投影与 16 路全流程
出口:10 个站点试点,至少一个站点完成 16 路开通/停用;`unconverged = 0` 稳定。
- T-008:冻结 Sense Control API v1 与 Bell `site_quota_v1` 只读投影契约;只建立接口和测试门禁,不等于 handler、Bell 表或 migration 已实现。
- T-009:使用 PostgreSQL 17.10 建立 `sense`/`bell` schema、Bell 配额源表/只读视图、最小权限和 Sense PostgreSQL repository;SQLite 保留为 M1 本地路径。
- T-010:建立 Bell Area/`capture_policy` 只读投影、Sense 成像准入与设备操作审计 Outbox 原子写入;relay 传输协议留给后续任务。
- T-011:按 T-008 契约实现认证 tenant 上下文、7 个设备/operation handler、PostgreSQL 幂等收据、ETag/HMAC cursor、最多 128 项批量操作和停用精确 path 收敛;公共控制 API 默认关闭且只在 PostgreSQL 路径启用。
- T-012:以 PostgreSQL 数据库时钟租约和 fencing token 防止多实例重复调和;增加可证明的 Path 历史归属、默认只读孤儿报告、15 分钟二次确认、10% 不可绕过安全闸和低基数 `/metrics`。
- T-013(后置,尚未创建):WireGuard 边缘隧道与断网恢复;等待客户网络拓扑、地址规划和部署权限,不阻塞本地软件开发。
- T-014:使用隔离 PostgreSQL、真实 Control API 和 16 个独立本地合成 publisher,完成批量开通/停用、局部故障恢复和资源观测;正式基线为 `1800.1 s / 180` 样本、最大/最终 `unconverged=0`,仍只形成实验室软件证据,不替代 T-007/T-013 或生产 SLA。
## M3:首个 16 路端到端 MVP
出口:默认 16 路稳定;首个场景三类规则;事件、预警、ack/升级和误报反馈闭环可用。
- Brain 模型接口、判定内核和 v0.1 mapper。
- Bell 事件校验、不可变存储和 ULID。
- T-015:建立 Bell Go 事件域基础,复制并校验冻结 v0.1 schema,由 Bell 生成平台 ULID,执行六项代码断言,并以 `bell_runtime` 最小权限保存不可变事件和 append-only outcome;不冻结 Brain transport 或公共 API。
- T-016:冻结并实现 Sense Outbox → Bell 内部审计 relay;使用 HMAC、nonce 收据、数据库时钟 lease/fencing、逐项确认和 dead letter,在不共享 schema 权限的前提下写入 Bell 不可变全局审计事实。
- T-017:建立 Brain 单路匿名区域事件工程原型;默认合成 fixture、可选 MediaMTX/RTSP,展示 detector port、track、多边形进入判定和不含平台 ID 的候选事实,不把 HOG/fixture 宣称为生产模型或效果证据。
- T-018:优先建立 Sense NVR 管理面首个可运行纵切;复用 Control API 和 MediaMTX,以回环工程控制台展示设备、配额、收敛状态和最多 4 路按需 WebRTC 预览,不包含录像/回放或非回环生产认证。
- T-019:建立 Brain→Bell 可靠业务事件 ingress;独立冻结数字事件身份到 Bell 逻辑身份的绑定、HMAC 认证、SQLite 持久 Outbox、Bell 永久来源收据和跨重启幂等确认,不得把 T-017 内存事件环当作生产投递。
- T-020:建立 Bell 规则→Alert→ack/close 最小可见纵切;规则版本、evaluation、Alert/Event 关联、状态迁移和命令收据均 append-only,工程值班台只允许回环且不伪造证据、升级或投递事实。
- T-021(建议,尚未创建):建立 Bell→Sense 异步证据/pre-roll 切片,独立冻结请求、授权、幂等、状态、对象引用和生命周期;不得把常态录像或原始摄像头凭据交给 Bell。
- 升级状态机、排班解析与双路径投递。
- 最小 Web/App 处置流程、RBAC 与审计。
- 现场误报基线和反馈队列。
- T-007:客户试点、借用或租赁设备条件具备后完成至少 5 条独立真实上游的现场验收;不阻塞本地开发,但阻塞生产试点启用和真实多路 SLA。
## M4:64 路分片与完整管理系统
出口:64 路稳定,单分片故障不扩散;看板、筛选、批量操作与处置流可用。
- MediaMTX 与推理 worker 横向分片。
- 管理端按 128 路规模验证分页、虚拟列表与批量操作。
- 灰度、回滚、指标与容量报告。
## M5:128 路与多场景架构验收
出口:128 路横向扩展不改业务代码;第二/第三场景通过纯配置交付;一个授权租户完成人脸旁路验收。
- 128 路带宽、解码、推理、存储分维度验收。
- 第二/第三场景包纯配置交付。
- 触发式推理与授权人脸子系统。
## M6:异构传感器与两级判定
出口:雷达/门磁等触发源接入,误报显著下降,视频常态采集降低。
## Backlog
- GB/T 28181 存量平台接入(待 Q4 决策)。
- 信创硬件与推理框架适配(待 Q5 决策)。
- 高空抛物专用方案独立立项/外采。
- 工厂园区 S4 场景包(M4 后评估)。
- 超过 128 路的多逻辑站点或更高容量架构。
新增建议任务先落一任务一文件并创建唯一 Gitea Issue;不要在本文件跟踪 TODO/DOING/DONE。