[MVP] Sense 后续独立产品能力 #80

Closed
opened 2026-08-14 10:29:37 +08:00 by ila · 12 comments
Owner

状态

已完成(用户于 2026-08-28 验收通过)

基本信息

  • 所属 Epic:#7
  • 类型:Sense 单产品后续独立能力集合
  • 不阻塞:#8 三项目首个独立纵切

目标

在 #8 的 Sense 首个独立纵切之后,补齐仍然只依赖 Sense 自身的 P0/P1/P2 能力。Brain、Bell 不安装或不启动时,每张任务仍可独立实现和验收。

单元任务

  • #72 [SEN] 实现默认 16 路批量开通与失败项重试
  • #73 [SEN] 实现无 Bell 场景的本地事件候选与证据状态查看
  • #74 [SEN] 实现设备、媒体与本地推理状态的运维中心
  • #75 [SEN] 实现可配置容量与配额安全闸
  • #76 [SEN] 实现边缘节点资产与离线状态管理
  • #77 [SEN] 实现 MediaMTX 分片分配与故障范围可观察
  • #78 [SEN] 建立 Sense 内部事务 Outbox 与可靠 relay 状态机
  • #79 [SEN] 实现设备运维告警与业务预警隔离

推荐顺序

  • P0 后续:#72 批量开通、#73 本地事件、#74 运维中心。
  • 容量与节点:#75 → #76 → #77。
  • 可靠性与运维告警:#78、#79;按各工单真实前置推进。
  • 建单完成不代表立刻实施;客户首个纵切优先按 #61、#64–#71 推进。

排除范围

  • Sense→Brain 源/区域契约。
  • Brain→Sense 或 Sense/Brain→Bell 正式事件/证据契约。
  • Bell connector、跨项目机器身份、根级部署和端到端测试。
  • Brain 分片实现。
  • 未经压测的 32/64/128 单机承诺。

验收标准

  • 所有子任务在 Brain/Bell 不启动时可独立验证。
  • 默认 16 路不是硬上限,容量结论来自配置和测试。
  • 本地事件、运维告警与未来 Bell 业务 Alert 清晰隔离。
  • 跨项目需求均转为单一协调工单,没有复制临时共享契约。
  • Sense 保持独立认证、数据库、部署、备份恢复和发布。

风险与回退

后续能力不得拖慢 #8 首个纵切。任一任务需要共享路径或尚未冻结的跨项目接口时保持待实施,并转协调工单;其他 Sense 独立任务可继续。

## 状态 已完成(用户于 2026-08-28 验收通过) ## 基本信息 - 所属 Epic:#7 - 类型:Sense 单产品后续独立能力集合 - 不阻塞:#8 三项目首个独立纵切 ## 目标 在 #8 的 Sense 首个独立纵切之后,补齐仍然只依赖 Sense 自身的 P0/P1/P2 能力。Brain、Bell 不安装或不启动时,每张任务仍可独立实现和验收。 ## 单元任务 - [x] #72 `[SEN] 实现默认 16 路批量开通与失败项重试` - [x] #73 `[SEN] 实现无 Bell 场景的本地事件候选与证据状态查看` - [x] #74 `[SEN] 实现设备、媒体与本地推理状态的运维中心` - [x] #75 `[SEN] 实现可配置容量与配额安全闸` - [x] #76 `[SEN] 实现边缘节点资产与离线状态管理` - [x] #77 `[SEN] 实现 MediaMTX 分片分配与故障范围可观察` - [x] #78 `[SEN] 建立 Sense 内部事务 Outbox 与可靠 relay 状态机` - [x] #79 `[SEN] 实现设备运维告警与业务预警隔离` ## 推荐顺序 - P0 后续:#72 批量开通、#73 本地事件、#74 运维中心。 - 容量与节点:#75 → #76 → #77。 - 可靠性与运维告警:#78、#79;按各工单真实前置推进。 - 建单完成不代表立刻实施;客户首个纵切优先按 #61、#64–#71 推进。 ## 排除范围 - Sense→Brain 源/区域契约。 - Brain→Sense 或 Sense/Brain→Bell 正式事件/证据契约。 - Bell connector、跨项目机器身份、根级部署和端到端测试。 - Brain 分片实现。 - 未经压测的 32/64/128 单机承诺。 ## 验收标准 - [x] 所有子任务在 Brain/Bell 不启动时可独立验证。 - [x] 默认 16 路不是硬上限,容量结论来自配置和测试。 - [x] 本地事件、运维告警与未来 Bell 业务 Alert 清晰隔离。 - [x] 跨项目需求均转为单一协调工单,没有复制临时共享契约。 - [x] Sense 保持独立认证、数据库、部署、备份恢复和发布。 ## 风险与回退 后续能力不得拖慢 #8 首个纵切。任一任务需要共享路径或尚未冻结的跨项目接口时保持待实施,并转协调工单;其他 Sense 独立任务可继续。
ila added the kind/mvpproject/sensescope/independent labels 2026-08-14 10:29:37 +08:00
Author
Owner

进度同步(2026-08-28):#73 已由用户验收通过并关闭,已合入 dev@4157d90e9f1a8cdfcc1b8c143d0dfbcf8459f75a。MVP 继续推进 #74;#72 尚待功能验收,其余 #74–#79 未完成,因此 #80 保持 open。

进度同步(2026-08-28):#73 已由用户验收通过并关闭,已合入 `dev@4157d90e9f1a8cdfcc1b8c143d0dfbcf8459f75a`。MVP 继续推进 #74;#72 尚待功能验收,其余 #74–#79 未完成,因此 #80 保持 open。
Author
Owner

子工单验收同步(2026-08-28)

#72(默认 16 路批量开通与失败项重试)和 #74(设备、媒体与本地推理状态运维中心)已由用户明确验收并关闭,任务索引已勾选。#73 此前已完成;#75–#79 仍未完成,因此 MVP #80 保持开启。下一项按既定顺序进入 #75。

## 子工单验收同步(2026-08-28) #72(默认 16 路批量开通与失败项重试)和 #74(设备、媒体与本地推理状态运维中心)已由用户明确验收并关闭,任务索引已勾选。#73 此前已完成;#75–#79 仍未完成,因此 MVP #80 保持开启。下一项按既定顺序进入 #75。
Author
Owner

子工单待验收同步(2026-08-28)

#75 已按原型 v0.1 完成实现,经 PR #119 合入 dev(合并提交 a9fd8e8a),当前保持打开并处于待验收。未收到用户功能验收,因此本 MVP 的 #75 索引暂不勾选;#76 不提前实施。

## 子工单待验收同步(2026-08-28) #75 已按原型 v0.1 完成实现,经 PR #119 合入 `dev`(合并提交 `a9fd8e8a`),当前保持打开并处于待验收。未收到用户功能验收,因此本 MVP 的 `#75` 索引暂不勾选;#76 不提前实施。
Author
Owner

子工单验收同步(2026-08-28)

#75 已由用户明确验收并关闭,任务索引已勾选。#72–#75 已完成;#76–#79 尚未完成,因此 MVP #80 保持 open。下一项按既定顺序进入 #76。

## 子工单验收同步(2026-08-28) #75 已由用户明确验收并关闭,任务索引已勾选。#72–#75 已完成;#76–#79 尚未完成,因此 MVP #80 保持 open。下一项按既定顺序进入 #76。
Author
Owner

进度:#76 已完成实现与验证,PR #120 已合入 dev,当前等待用户验收;父工单复选框暂不勾选。

进度:#76 已完成实现与验证,PR #120 已合入 `dev`,当前等待用户验收;父工单复选框暂不勾选。
Author
Owner

进度更新:用户于 2026-08-28 明确验收通过 #76;已关闭 #76,并将本 MVP 的对应子任务标为完成。下一项仍按既定顺序为 #77。

进度更新:用户于 2026-08-28 明确验收通过 #76;已关闭 #76,并将本 MVP 的对应子任务标为完成。下一项仍按既定顺序为 #77。
Author
Owner

#77 已完成实现并通过自动化与真实双 MediaMTX smoke,PR #121 已合入 dev(e06904272ad7cacfc6e79f92c76e2fdb0668458e)。当前保持待人工验收;在用户明确验收前不勾选或关闭子任务。

#77 已完成实现并通过自动化与真实双 MediaMTX smoke,PR #121 已合入 `dev`(`e06904272ad7cacfc6e79f92c76e2fdb0668458e`)。当前保持待人工验收;在用户明确验收前不勾选或关闭子任务。
Author
Owner

进度更新:用户于 2026-08-28 明确验收通过 #77;已关闭 #77,并将本 MVP 对应子任务标为完成。#80 仍有 #78、#79 未完成,因此保持打开。

进度更新:用户于 2026-08-28 明确验收通过 #77;已关闭 #77,并将本 MVP 对应子任务标为完成。#80 仍有 #78、#79 未完成,因此保持打开。
Author
Owner

进度更新:用户于 2026-08-28 明确验收通过 #78;已关闭 #78,并将本 MVP 对应子任务标为完成。#80 仍有 #79 未完成,因此保持打开。

进度更新:用户于 2026-08-28 明确验收通过 #78;已关闭 #78,并将本 MVP 对应子任务标为完成。#80 仍有 #79 未完成,因此保持打开。
Author
Owner

进度更新:用户于 2026-08-28 明确验收通过 #79;已关闭 #79,并将本 MVP 对应子任务标为完成。#72–#79 单元任务现已全部验收完成;#80 仍需单独执行 MVP 集成验收,因此保持打开,验收标准暂不代替用户勾选。

进度更新:用户于 2026-08-28 明确验收通过 #79;已关闭 #79,并将本 MVP 对应子任务标为完成。#72–#79 单元任务现已全部验收完成;#80 仍需单独执行 MVP 集成验收,因此保持打开,验收标准暂不代替用户勾选。
Author
Owner

MVP #80 集成执行证据(待验收,2026-08-28)

基线与范围

  • 执行提交:dev@4a605f6482d3d771d1d2e378d341aec7298e5c59,与 origin/dev 一致,工作区干净。
  • #72–#79 均已关闭并有用户验收记录。
  • 集成只启动 Sense、隔离 PostgreSQL、测试 ONVIF/RTSP、独立 MediaMTX 与 Chrome;Brain/Bell 未启动。

自动化结果

  • Sense/tests/compatibility/run-static-regression.ps1:22 assertions 通过。
  • Sense/tests/e2e/run-isolated-e2e.ps1:通过。覆盖空白 PostgreSQL 完整迁移、登录/RBAC、中文设备、Digest ONVIF/RTSP、分用途凭据、MediaMTX 按需播放、实时监看、区域重校准、Chrome GoAdmin 外壳、冷启动恢复和 Windows 停止。
  • E2E 首次从含本机 node_modules 的工作树复制时触发 Windows 深层路径错误,尚未进入产品测试;随后从同一提交的干净临时 Git worktree 重跑并通过。临时 worktree 和 E2E 运行目录均已清理,未移动当前依赖。
  • go test ./...、go vet ./...、go build ./...:通过。
  • pnpm lint:0 error;32 个冻结上游既有 warning。
  • pnpm test:unit -- --runInBand:33 suites / 78 tests 通过。
  • 前端生产构建由隔离 E2E 完成并通过,只出现冻结上游既有 Sass、代码生成器导入和包体积 warning。
  • Sense/tests/package/run-tests.ps1:Web 资产审计通过,Windows 包 23 assertions 通过。
  • python dev_scripts/harness.py check --strict:通过。
  • python -m unittest discover -s tests -v:48 tests 通过。

五项验收结论

  1. #72–#79 均在 Brain/Bell 不启动时完成单项验收;本轮独立 E2E 再次证明 Sense 可独立构建、迁移、登录、运行、冷启和停止。
  2. 配额事实来自数据库,合法范围 1–100000;32/64/128 仅显示未验证档位,不作为单机承诺,默认 16 未写成数据结构或分页硬上限。
  3. 本地事件使用 sense_local_event_candidates / Sense 内部 Outbox,运维告警使用 sense_ops_alerts / sense_ops_alert_transitions;均不创建 Bell Event/Alert,也不读取 Bell 数据库。
  4. #72–#79 的跨项目摘要已统一转入协调工单 #124;本轮未修改 contracts/**、Brain、Bell 或根级部署,也未复制临时 schema。
  5. Sense 继续使用独立认证、PostgreSQL、Windows 包、启动停止、备份恢复和发布边界;包级测试通过。

文档与交付

  • 本轮只执行既有长期文档中的验收流程,没有新增或改变长期产品事实,因此不重复修改 Wiki。
  • #79 已更新的核心 Wiki revision 仍等待单一协调工单同步本地 docs/ 镜像;本 MVP 不越权写镜像。
  • 没有产品代码或仓库文件变化,因此没有制造空提交、没有新 PR,也没有合入 main。

当前 #80 已满足正文五项标准并保持打开,状态为“待验收”;只有用户明确验收后才关闭并同步 Epic #7。

## MVP #80 集成执行证据(待验收,2026-08-28) ### 基线与范围 - 执行提交:`dev@4a605f6482d3d771d1d2e378d341aec7298e5c59`,与 `origin/dev` 一致,工作区干净。 - #72–#79 均已关闭并有用户验收记录。 - 集成只启动 Sense、隔离 PostgreSQL、测试 ONVIF/RTSP、独立 MediaMTX 与 Chrome;Brain/Bell 未启动。 ### 自动化结果 - `Sense/tests/compatibility/run-static-regression.ps1`:22 assertions 通过。 - `Sense/tests/e2e/run-isolated-e2e.ps1`:通过。覆盖空白 PostgreSQL 完整迁移、登录/RBAC、中文设备、Digest ONVIF/RTSP、分用途凭据、MediaMTX 按需播放、实时监看、区域重校准、Chrome GoAdmin 外壳、冷启动恢复和 Windows 停止。 - E2E 首次从含本机 `node_modules` 的工作树复制时触发 Windows 深层路径错误,尚未进入产品测试;随后从同一提交的干净临时 Git worktree 重跑并通过。临时 worktree 和 E2E 运行目录均已清理,未移动当前依赖。 - `go test ./...`、`go vet ./...`、`go build ./...`:通过。 - `pnpm lint`:0 error;32 个冻结上游既有 warning。 - `pnpm test:unit -- --runInBand`:33 suites / 78 tests 通过。 - 前端生产构建由隔离 E2E 完成并通过,只出现冻结上游既有 Sass、代码生成器导入和包体积 warning。 - `Sense/tests/package/run-tests.ps1`:Web 资产审计通过,Windows 包 23 assertions 通过。 - `python dev_scripts/harness.py check --strict`:通过。 - `python -m unittest discover -s tests -v`:48 tests 通过。 ### 五项验收结论 1. #72–#79 均在 Brain/Bell 不启动时完成单项验收;本轮独立 E2E 再次证明 Sense 可独立构建、迁移、登录、运行、冷启和停止。 2. 配额事实来自数据库,合法范围 1–100000;32/64/128 仅显示未验证档位,不作为单机承诺,默认 16 未写成数据结构或分页硬上限。 3. 本地事件使用 `sense_local_event_candidates` / Sense 内部 Outbox,运维告警使用 `sense_ops_alerts` / `sense_ops_alert_transitions`;均不创建 Bell Event/Alert,也不读取 Bell 数据库。 4. #72–#79 的跨项目摘要已统一转入协调工单 #124;本轮未修改 `contracts/**`、Brain、Bell 或根级部署,也未复制临时 schema。 5. Sense 继续使用独立认证、PostgreSQL、Windows 包、启动停止、备份恢复和发布边界;包级测试通过。 ### 文档与交付 - 本轮只执行既有长期文档中的验收流程,没有新增或改变长期产品事实,因此不重复修改 Wiki。 - #79 已更新的核心 Wiki revision 仍等待单一协调工单同步本地 `docs/` 镜像;本 MVP 不越权写镜像。 - 没有产品代码或仓库文件变化,因此没有制造空提交、没有新 PR,也没有合入 `main`。 当前 #80 已满足正文五项标准并保持打开,状态为“待验收”;只有用户明确验收后才关闭并同步 Epic #7。
Author
Owner

用户验收结论(2026-08-28 21:51:33 +08:00)

  • 确认人:ila
  • 结论:MVP #80 验收通过。
  • 验收范围:#72–#79 全部已验收关闭,以及评论 #5562 记录的 Sense 独立集成回归与五项 MVP 验收标准。
  • 交付基线:dev@4a605f6482d3d771d1d2e378d341aec7298e5c59。
  • 文档影响:本次验收只改变工单状态,没有新增长期产品事实;不重复修改 Wiki 或导出任务归档。
  • 分支边界:未执行 dev → main;仍须用户另行明确审核/合并授权。

据此关闭 #80。

## 用户验收结论(2026-08-28 21:51:33 +08:00) - 确认人:ila - 结论:MVP #80 验收通过。 - 验收范围:#72–#79 全部已验收关闭,以及评论 #5562 记录的 Sense 独立集成回归与五项 MVP 验收标准。 - 交付基线:`dev@4a605f6482d3d771d1d2e378d341aec7298e5c59`。 - 文档影响:本次验收只改变工单状态,没有新增长期产品事实;不重复修改 Wiki 或导出任务归档。 - 分支边界:未执行 `dev → main`;仍须用户另行明确审核/合并授权。 据此关闭 #80。
ila closed this issue 2026-08-28 21:51:54 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ila/yovision#80