From 6d90d54592643921998a7d8254ec73e55d19f504 Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Wed, 12 Aug 2026 17:47:11 +0800 Subject: [PATCH] docs: finalize Sense task archives (#22-#27) --- .../task/22-Sense独立登录RBAC与审计.md | 51 +++++++++++-------- .../23-Sense设备台账与凭据边界.md | 51 +++++++++++-------- .../task/24-ONVIF与RTSP视频接入验证.md | 51 +++++++++++-------- docs/task/25-MediaMTX进程与状态对账.md | 51 +++++++++++-------- docs/task/26-Sense单路实时监看.md | 51 +++++++++++-------- ...nse区域与方向警戒线版本配置.md | 51 +++++++++++-------- 6 files changed, 180 insertions(+), 126 deletions(-) diff --git a/docs/task/22-Sense独立登录RBAC与审计.md b/docs/task/22-Sense独立登录RBAC与审计.md index 7bd5f2b..5b91e09 100644 --- a/docs/task/22-Sense独立登录RBAC与审计.md +++ b/docs/task/22-Sense独立登录RBAC与审计.md @@ -2,16 +2,16 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-22-Sense独立登录RBAC与审计 wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-22-Sense%E7%8B%AC%E7%AB%8B%E7%99%BB%E5%BD%95RBAC%E4%B8%8E%E5%AE%A1%E8%AE%A1.- -wiki_revision: 1f952065d42442fb4fbed4a242116934c9b383bd -synchronized_at: 2026-08-12T09:35:05Z +wiki_revision: 7a6afe93812ed48eee0263249eb9b08cda43c5d9 +synchronized_at: 2026-08-12T09:46:47Z -# 22 Sense独立登录RBAC与审计 +# 22 Sense 独立登录、RBAC 与审计 -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 - 日期:2026-08-12 - Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/22 - Wiki 页面:Task-22-Sense独立登录RBAC与审计 @@ -19,32 +19,41 @@ synchronized_at: 2026-08-12T09:35:05Z ## 背景与目标 - +建立 Sense 自有账户、角色、菜单权限、会话和审计边界,不接受 Bell 身份。 ## 最终方案 - +实现一次性仓库外令牌初始化、bcrypt 密码、Sense 专属 JWT issuer/audience、HttpOnly SameSite Cookie、会话撤销、四角色权限矩阵、后端权限中间件、登录/用户/权限审计,以及用户与操作记录页面。登录失败使用统一安全错误,菜单按后端权限投影。 + +与已确认方案一致。为使用 #21 的模块注册和项目内窄端口,实施前已在工单评论中记录精确集成 write_path;未修改 contracts、Brain、Bell 或根级部署。 ## 修改文件 -- `<文件>`:<改动说明> +- Sense/server/app/sense/:本工单后端领域、适配器、服务、HTTP 与测试。 +- Sense/server/cmd/sense/modules_*.go:独立模块注册文件。 +- Sense/server/database/migrations/:本工单需要的 PostgreSQL 迁移(如适用)。 +- Sense/ui/src/:本工单 API、页面、路由及明确需要的局部业务组件。 +- Sense/tests/、Sense/testdata/:无生产数据、无真实秘密的验收说明与夹具。 ## 验收结果 -| 验收标准 | 结果 | -|---|---| -| | 通过 / 未通过 | +安全初始化、登录、统一失败、四角色 RBAC、Bell token/产品头拒绝、会话撤销和审计自动化均通过。 + +工单保持 open / 待验收,未代替用户执行浏览器、真实设备或部署环境验收。 ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: - -## 遗留问题 - - +- Go 1.26.5 go vet ./...:通过。 +- Go 1.26.5 go test -race ./...:全部通过。 +- Go 1.26.5 go test -count=1 ./...:全部通过。 +- Go 1.26.5 go build ./...:通过。 +- corepack pnpm@9.15.1 install --frozen-lockfile:通过。 +- corepack pnpm@9.15.1 lint --quiet:通过。 +- corepack pnpm@9.15.1 build:通过;仅有 Element Plus vendor bundle 体积建议警告。 +- Sense 独立 smoke、Harness 严格检查和 31 项 Harness 测试:通过。 +- **未验证部分**:未连接真实 PostgreSQL,未使用四类部署账户做浏览器人工权限走查。 ## 相关提交 -- `<提交哈希>` <提交说明> +- $(System.Collections.Hashtable.commit) 本工单实现提交 +- 5177861 docs: document Sense MVP operations (#22-#27) diff --git a/docs/task/23-Sense设备台账与凭据边界.md b/docs/task/23-Sense设备台账与凭据边界.md index e314462..f2eb50b 100644 --- a/docs/task/23-Sense设备台账与凭据边界.md +++ b/docs/task/23-Sense设备台账与凭据边界.md @@ -2,16 +2,16 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-23-Sense设备台账与凭据边界 wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-23-Sense%E8%AE%BE%E5%A4%87%E5%8F%B0%E8%B4%A6%E4%B8%8E%E5%87%AD%E6%8D%AE%E8%BE%B9%E7%95%8C.- -wiki_revision: aa8417c676eebd06ed34a70551489ceab2afdbb2 -synchronized_at: 2026-08-12T09:36:45Z +wiki_revision: 4e54f0a2efabe908e107490c3c4d1e981ee10bcb +synchronized_at: 2026-08-12T09:46:51Z -# 23 Sense设备台账与凭据边界 +# 23 Sense 设备台账与凭据边界 -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 - 日期:2026-08-12 - Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/23 - Wiki 页面:Task-23-Sense设备台账与凭据边界 @@ -19,32 +19,41 @@ synchronized_at: 2026-08-12T09:36:45Z ## 背景与目标 - +用稳定 Device 标识管理视频设备,并保证摄像机凭据只写不读。 ## 最终方案 - +实现 Device 创建、查询、编辑、停用和 20/50/100 分页;非 video 类型明确为 adapter_not_ready。摄像机用户名/密码经仓库外 32 字节密钥使用 AES-256-GCM 加密,所有读取模型只返回 credential_configured;关键变更写入统一审计。 + +与已确认方案一致。为使用 #21 的模块注册和项目内窄端口,实施前已在工单评论中记录精确集成 write_path;未修改 contracts、Brain、Bell 或根级部署。 ## 修改文件 -- `<文件>`:<改动说明> +- Sense/server/app/sense/:本工单后端领域、适配器、服务、HTTP 与测试。 +- Sense/server/cmd/sense/modules_*.go:独立模块注册文件。 +- Sense/server/database/migrations/:本工单需要的 PostgreSQL 迁移(如适用)。 +- Sense/ui/src/:本工单 API、页面、路由及明确需要的局部业务组件。 +- Sense/tests/、Sense/testdata/:无生产数据、无真实秘密的验收说明与夹具。 ## 验收结果 -| 验收标准 | 结果 | -|---|---| -| | 通过 / 未通过 | +CRUD、停用、分页超过 16 项、未就绪适配器、乐观版本和凭据不回显测试通过。 + +工单保持 open / 待验收,未代替用户执行浏览器、真实设备或部署环境验收。 ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: - -## 遗留问题 - - +- Go 1.26.5 go vet ./...:通过。 +- Go 1.26.5 go test -race ./...:全部通过。 +- Go 1.26.5 go test -count=1 ./...:全部通过。 +- Go 1.26.5 go build ./...:通过。 +- corepack pnpm@9.15.1 install --frozen-lockfile:通过。 +- corepack pnpm@9.15.1 lint --quiet:通过。 +- corepack pnpm@9.15.1 build:通过;仅有 Element Plus vendor bundle 体积建议警告。 +- Sense 独立 smoke、Harness 严格检查和 31 项 Harness 测试:通过。 +- **未验证部分**:未在真实 PostgreSQL 执行迁移,未使用实验室设备验证实施人员完整操作。 ## 相关提交 -- `<提交哈希>` <提交说明> +- $(System.Collections.Hashtable.commit) 本工单实现提交 +- 5177861 docs: document Sense MVP operations (#22-#27) diff --git a/docs/task/24-ONVIF与RTSP视频接入验证.md b/docs/task/24-ONVIF与RTSP视频接入验证.md index 1183a8b..f34f67c 100644 --- a/docs/task/24-ONVIF与RTSP视频接入验证.md +++ b/docs/task/24-ONVIF与RTSP视频接入验证.md @@ -2,16 +2,16 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-24-ONVIF与RTSP视频接入验证 wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-24-ONVIF%E4%B8%8ERTSP%E8%A7%86%E9%A2%91%E6%8E%A5%E5%85%A5%E9%AA%8C%E8%AF%81.- -wiki_revision: 31a9da7c87e9acaba20386bd69f02c404602f1f3 -synchronized_at: 2026-08-12T09:38:38Z +wiki_revision: 0f3da06cbe73c8ccd0fdaf5d9499a88a64034ce5 +synchronized_at: 2026-08-12T09:46:53Z -# 24 ONVIF与RTSP视频接入验证 +# 24 ONVIF 与 RTSP 视频接入验证 -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 - 日期:2026-08-12 - Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/24 - Wiki 页面:Task-24-ONVIF与RTSP视频接入验证 @@ -19,32 +19,41 @@ synchronized_at: 2026-08-12T09:38:38Z ## 背景与目标 - +支持获准网络中的摄像机发现或手工接入,读取并验证主辅 Profile。 ## 最终方案 - +实现默认关闭的受控 WS-Discovery,仅允许显式配置的本机网卡 IP;支持无凭据 ONVIF 地址、Profile/StreamUri SOAP 解析、主辅分辨率分类和 RTSP TCP/OPTIONS 验证。认证失败、不可达、超时、校时与重探测状态可定位;凭据只经内部端口取得。 + +与已确认方案一致。为使用 #21 的模块注册和项目内窄端口,实施前已在工单评论中记录精确集成 write_path;未修改 contracts、Brain、Bell 或根级部署。 ## 修改文件 -- `<文件>`:<改动说明> +- Sense/server/app/sense/:本工单后端领域、适配器、服务、HTTP 与测试。 +- Sense/server/cmd/sense/modules_*.go:独立模块注册文件。 +- Sense/server/database/migrations/:本工单需要的 PostgreSQL 迁移(如适用)。 +- Sense/ui/src/:本工单 API、页面、路由及明确需要的局部业务组件。 +- Sense/tests/、Sense/testdata/:无生产数据、无真实秘密的验收说明与夹具。 ## 验收结果 -| 验收标准 | 结果 | -|---|---| -| | 通过 / 未通过 | +ONVIF XML 夹具、凭据 URI 拒绝、主辅 Profile、RTSP 状态映射和接入编排 race 测试通过。 + +工单保持 open / 待验收,未代替用户执行浏览器、真实设备或部署环境验收。 ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: - -## 遗留问题 - - +- Go 1.26.5 go vet ./...:通过。 +- Go 1.26.5 go test -race ./...:全部通过。 +- Go 1.26.5 go test -count=1 ./...:全部通过。 +- Go 1.26.5 go build ./...:通过。 +- corepack pnpm@9.15.1 install --frozen-lockfile:通过。 +- corepack pnpm@9.15.1 lint --quiet:通过。 +- corepack pnpm@9.15.1 build:通过;仅有 Element Plus vendor bundle 体积建议警告。 +- Sense 独立 smoke、Harness 严格检查和 31 项 Harness 测试:通过。 +- **未验证部分**:未扫描真实网络,未验证具体摄像机的 WS-Security/厂商兼容、时间漂移恢复或真实 RTSP。 ## 相关提交 -- `<提交哈希>` <提交说明> +- $(System.Collections.Hashtable.commit) 本工单实现提交 +- 5177861 docs: document Sense MVP operations (#22-#27) diff --git a/docs/task/25-MediaMTX进程与状态对账.md b/docs/task/25-MediaMTX进程与状态对账.md index 344dd21..dc708bf 100644 --- a/docs/task/25-MediaMTX进程与状态对账.md +++ b/docs/task/25-MediaMTX进程与状态对账.md @@ -2,16 +2,16 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-25-MediaMTX进程与状态对账 wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-25-MediaMTX%E8%BF%9B%E7%A8%8B%E4%B8%8E%E7%8A%B6%E6%80%81%E5%AF%B9%E8%B4%A6.- -wiki_revision: e9f1c7104614f8d3b568b195aa99c938668234d9 -synchronized_at: 2026-08-12T09:40:25Z +wiki_revision: 4deba6e928e4d45814e191ee93f08c605dc60fea +synchronized_at: 2026-08-12T09:46:56Z -# 25 MediaMTX进程与状态对账 +# 25 MediaMTX 进程与状态对账 -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 - 日期:2026-08-12 - Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/25 - Wiki 页面:Task-25-MediaMTX进程与状态对账 @@ -19,32 +19,41 @@ synchronized_at: 2026-08-12T09:40:25Z ## 背景与目标 - +让 Sense 管理外部 MediaMTX 的期望配置、进程和状态收敛,而不嵌入媒体内核。 ## 最终方案 - +实现只管理自身进程句柄的 Supervisor、最多三次重启边界、localhost v3 Control API、媒体路径期望/实际状态、reader 数和对账审计。源秘密只在本机控制请求中瞬时组装,不写仓库、数据库、日志或 Sense 响应。 + +与已确认方案一致。为使用 #21 的模块注册和项目内窄端口,实施前已在工单评论中记录精确集成 write_path;未修改 contracts、Brain、Bell 或根级部署。 ## 修改文件 -- `<文件>`:<改动说明> +- Sense/server/app/sense/:本工单后端领域、适配器、服务、HTTP 与测试。 +- Sense/server/cmd/sense/modules_*.go:独立模块注册文件。 +- Sense/server/database/migrations/:本工单需要的 PostgreSQL 迁移(如适用)。 +- Sense/ui/src/:本工单 API、页面、路由及明确需要的局部业务组件。 +- Sense/tests/、Sense/testdata/:无生产数据、无真实秘密的验收说明与夹具。 ## 验收结果 -| 验收标准 | 结果 | -|---|---| -| | 通过 / 未通过 | +控制 API 方法、瞬时凭据、进程显式启动、正常/启动失败/控制失败/停止 fake 测试和 race 测试通过。 + +工单保持 open / 待验收,未代替用户执行浏览器、真实设备或部署环境验收。 ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: - -## 遗留问题 - - +- Go 1.26.5 go vet ./...:通过。 +- Go 1.26.5 go test -race ./...:全部通过。 +- Go 1.26.5 go test -count=1 ./...:全部通过。 +- Go 1.26.5 go build ./...:通过。 +- corepack pnpm@9.15.1 install --frozen-lockfile:通过。 +- corepack pnpm@9.15.1 lint --quiet:通过。 +- corepack pnpm@9.15.1 build:通过;仅有 Element Plus vendor bundle 体积建议警告。 +- Sense 独立 smoke、Harness 严格检查和 31 项 Harness 测试:通过。 +- **未验证部分**:本机无 MediaMTX 二进制和实验室流,未验证真实进程启动、崩溃恢复、拉流、reader 与部署版本兼容。 ## 相关提交 -- `<提交哈希>` <提交说明> +- $(System.Collections.Hashtable.commit) 本工单实现提交 +- 5177861 docs: document Sense MVP operations (#22-#27) diff --git a/docs/task/26-Sense单路实时监看.md b/docs/task/26-Sense单路实时监看.md index f61f9bc..d3afd82 100644 --- a/docs/task/26-Sense单路实时监看.md +++ b/docs/task/26-Sense单路实时监看.md @@ -2,16 +2,16 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-26-Sense单路实时监看 wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-26-Sense%E5%8D%95%E8%B7%AF%E5%AE%9E%E6%97%B6%E7%9B%91%E7%9C%8B.- -wiki_revision: a4c9485a9cd958c581f829e18a2b6dbc21ef412c -synchronized_at: 2026-08-12T09:42:04Z +wiki_revision: 4635d6dbe8be6d38a8f5ad2f2dead98c442deb66 +synchronized_at: 2026-08-12T09:46:59Z -# 26 Sense单路实时监看 +# 26 Sense 单路实时监看 -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 - 日期:2026-08-12 - Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/26 - Wiki 页面:Task-26-Sense单路实时监看 @@ -19,32 +19,41 @@ synchronized_at: 2026-08-12T09:42:04Z ## 背景与目标 - +让授权用户选择一路已验证视频并获得清晰播放状态,不依赖 Brain 或 Bell。 ## 最终方案 - +实现媒体路径列表、绑定当前用户且最长两分钟的播放会话、受认证保护的播放器入口和状态查询;前端只打开一路流,提供 Profile 选择、加载、等待、服务失败、断开、过期与重连反馈,并新增局部 StreamPlayer。 + +与已确认方案一致。为使用 #21 的模块注册和项目内窄端口,实施前已在工单评论中记录精确集成 write_path;未修改 contracts、Brain、Bell 或根级部署。 ## 修改文件 -- `<文件>`:<改动说明> +- Sense/server/app/sense/:本工单后端领域、适配器、服务、HTTP 与测试。 +- Sense/server/cmd/sense/modules_*.go:独立模块注册文件。 +- Sense/server/database/migrations/:本工单需要的 PostgreSQL 迁移(如适用)。 +- Sense/ui/src/:本工单 API、页面、路由及明确需要的局部业务组件。 +- Sense/tests/、Sense/testdata/:无生产数据、无真实秘密的验收说明与夹具。 ## 验收结果 -| 验收标准 | 结果 | -|---|---| -| | 通过 / 未通过 | +播放基础 URL 凭据拒绝、TTL 上限、会话所有者隔离和过期测试通过;前端 lint/build 通过。 + +工单保持 open / 待验收,未代替用户执行浏览器、真实设备或部署环境验收。 ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: - -## 遗留问题 - - +- Go 1.26.5 go vet ./...:通过。 +- Go 1.26.5 go test -race ./...:全部通过。 +- Go 1.26.5 go test -count=1 ./...:全部通过。 +- Go 1.26.5 go build ./...:通过。 +- corepack pnpm@9.15.1 install --frozen-lockfile:通过。 +- corepack pnpm@9.15.1 lint --quiet:通过。 +- corepack pnpm@9.15.1 build:通过;仅有 Element Plus vendor bundle 体积建议警告。 +- Sense 独立 smoke、Harness 严格检查和 31 项 Harness 测试:通过。 +- **未验证部分**:未在目标浏览器连接真实 MediaMTX WebRTC 页面和实验室流,未人工验证主辅切换及真实断线恢复。 ## 相关提交 -- `<提交哈希>` <提交说明> +- $(System.Collections.Hashtable.commit) 本工单实现提交 +- 5177861 docs: document Sense MVP operations (#22-#27) diff --git a/docs/task/27-Sense区域与方向警戒线版本配置.md b/docs/task/27-Sense区域与方向警戒线版本配置.md index 289d236..63845d9 100644 --- a/docs/task/27-Sense区域与方向警戒线版本配置.md +++ b/docs/task/27-Sense区域与方向警戒线版本配置.md @@ -2,16 +2,16 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Task-27-Sense区域与方向警戒线版本配置 wiki_url: https://git.ilapage.cn/ila/yovision/wiki/Task-27-Sense%E5%8C%BA%E5%9F%9F%E4%B8%8E%E6%96%B9%E5%90%91%E8%AD%A6%E6%88%92%E7%BA%BF%E7%89%88%E6%9C%AC%E9%85%8D%E7%BD%AE.- -wiki_revision: da5e06c177121f8605c2c3ade65b76cfceacd344 -synchronized_at: 2026-08-12T09:44:03Z +wiki_revision: c98b84d1b1bd4903a03e40b801bd78f6a9f726b3 +synchronized_at: 2026-08-12T09:47:01Z -# 27 Sense区域与方向警戒线版本配置 +# 27 Sense 区域与方向警戒线版本配置 -- 类型:需求 / 缺陷 / 重构 -- 所属 Epic:# -- 所属 MVP / 版本:# -- 状态:待验收 / 已完成 +- 类型:需求 +- 所属 Epic:#7 +- 所属 MVP / 版本:#8 +- 状态:待验收 - 日期:2026-08-12 - Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/27 - Wiki 页面:Task-27-Sense区域与方向警戒线版本配置 @@ -19,32 +19,41 @@ synchronized_at: 2026-08-12T09:44:03Z ## 背景与目标 - +在设备 Profile 画面上配置版本化多边形和方向警戒线,并在分辨率变化后阻止静默复用。 ## 最终方案 - +实现 0..1 归一化坐标、Device/Profile/宽高绑定、不可变版本行、乐观并发、停用版本和重新校准。后端校验范围、最少点数、自交、退化、线端点和方向;前端只新增局部 SVG AreaCanvas,其他表单、表格、Dialog 和 Tag 复用 Element Plus。 + +与已确认方案一致。为使用 #21 的模块注册和项目内窄端口,实施前已在工单评论中记录精确集成 write_path;未修改 contracts、Brain、Bell 或根级部署。 ## 修改文件 -- `<文件>`:<改动说明> +- Sense/server/app/sense/:本工单后端领域、适配器、服务、HTTP 与测试。 +- Sense/server/cmd/sense/modules_*.go:独立模块注册文件。 +- Sense/server/database/migrations/:本工单需要的 PostgreSQL 迁移(如适用)。 +- Sense/ui/src/:本工单 API、页面、路由及明确需要的局部业务组件。 +- Sense/tests/、Sense/testdata/:无生产数据、无真实秘密的验收说明与夹具。 ## 验收结果 -| 验收标准 | 结果 | -|---|---| -| | 通过 / 未通过 | +有效/越界/自交/退化多边形、方向线、版本递增、并发冲突、分辨率变化标记和重新校准测试通过。 + +工单保持 open / 待验收,未代替用户执行浏览器、真实设备或部署环境验收。 ## 测试 -- 执行命令:`<命令>` -- 结果: -- **未验证部分**: - -## 遗留问题 - - +- Go 1.26.5 go vet ./...:通过。 +- Go 1.26.5 go test -race ./...:全部通过。 +- Go 1.26.5 go test -count=1 ./...:全部通过。 +- Go 1.26.5 go build ./...:通过。 +- corepack pnpm@9.15.1 install --frozen-lockfile:通过。 +- corepack pnpm@9.15.1 lint --quiet:通过。 +- corepack pnpm@9.15.1 build:通过;仅有 Element Plus vendor bundle 体积建议警告。 +- Sense 独立 smoke、Harness 严格检查和 31 项 Harness 测试:通过。 +- **未验证部分**:未用真实视频画面和目标岗位用户完成浏览器绘制、双向线及 Profile 切换人工验收。 ## 相关提交 -- `<提交哈希>` <提交说明> +- $(System.Collections.Hashtable.commit) 本工单实现提交 +- 5177861 docs: document Sense MVP operations (#22-#27)