[BEL] 在 GoAdmin 基线上重建规则匹配与 Event-Alert 链路 #132
Closed
opened 2026-08-29 08:44:23 +08:00 by ila
·
3 comments
No Branch/Tag Specified
dev
feat/183-bell-contact-schedule
docs/171-coordination-e2e-wiki
feature/155-coordination-e2e
docs/168-sync-coordination-wiki
feature/154-coordination-deployment
docs/152-153-connectors
feature/153-event-evidence-connector
feature/152-brain-control
docs/151-machine-identity-acceptance
task/151-machine-identity
docs/150-contract-acceptance
docs/148-149-contract-acceptance
feature/149-runtime-status-contract
feature/150-event-evidence-contract
feature/148-source-config-contract
docs/8-mvp-acceptance
feature/145-sense-e2e-isolation-cleanup
feature/134-bell-independent-e2e
feature/142-bell-ui-shell-startup
feature/140-bell-minimal-admin-menu
feature/138-bell-production-captcha
feature/133-bell-alert-lifecycle
feature/132-bell-rule-alert
feature/131-bell-event-receipt
feature/16-brain-local-events
feature/15-brain-rules
feature/14-brain-vision
feature/13-brain-decode
feature/11-brain-input
main
feat/sense-79-ops-alerts
feat/sense-78-outbox
feat/77-sense-media-shards
feat/76-sense-edge-node-status
feat/75-sense-quota-capacity
feature/74-sense-operations
feature/73-sense-local-events
feature/72-sense-bulk-provisioning
feature/113-record-parallel-acceptance
feature/113-sync-parallel-implementation-docs
feature/71-sense-e2e-regression
feature/62-bell-goadmin-skeleton
feature/10-brain-python-cuda-skeleton
feature/108-sync-devharness
feature/90-sense-root-launcher
feature/106-supervisor-sense
fix/101-sense-layout-shell
feature/104-sense-login-30-days
docs/99-acceptance
feature/99-sense-app-config
feature/70-sense-windows-delivery
fix/95-sense-media-path-constraint
feature/97-sense-password-login
docs/92-acceptance
fix/92-sense-capabilities-jsonb
docs/69-acceptance
feature/69-sense-area
feature/68-sense-liveview
feature/67-sense-mediamtx-reconcile
feature/66-sense-onvif-admission
feature/65-sense-device-credential
feature/64-sense-auth-rbac-audit
feature/61-sense-goadmin-source-baseline
docs/acceptance-batch-20260814
coordination/58-finalize-branch-governance
explore
agent/codex/56-sense-device-edit-payload
agent/codex/54-sense-liveview-on-demand
agent/codex/51-sense-auto-liveview
agent/codex/50-sense-split-camera-credentials
agent/codex/48-sense-onvif-digest
agent/codex/46-sense-env-loader
agent/codex/44-sense-empty-navigation
agent/codex/42-sense-password-length-only
agent/codex/40-sense-password-min-6
agent/codex/37-sense-windows-package
agent/codex/36-bell-docs
agent/codex/9-bell-mvp
agent/codex/21-sense-mvp
agent/codex/28-current-prototypes
agent/codex/5-goadmin-baseline
agent/codex/3-go-admin-ui-reuse
agent/codex/1-collaboration-rules
No results found.
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: ila/yovision#132
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
状态
待实施(等待 #131 验收)
基本信息
原始需求与变化
explore,不能作为当前dev的产品能力。目标
非目标
explore的旧 UI 外壳、认证、HTTP 或数据库平台。精确 write_paths
Bell/server/app/bell/rule/**Bell/server/app/bell/alert/**(仅 Alert 创建、聚合、查询与只读投影,不含处置状态迁移)Bell/server/app/bell/evaluation/**Bell/server/app/bell/router/rule_alert.goBell/server/cmd/migrate/migration/version-local/*bell_rule_alert*Bell/server/cmd/migrate/migration/version-local/init.go(与 #131 仅按顺序追加注册,不并行)Bell/server/tests/bell_rule_alert/**Bell/ui/src/api/bell/event.jsBell/ui/src/api/bell/rule.jsBell/ui/src/api/bell/alert.jsBell/ui/src/views/bell/events/**Bell/ui/src/views/bell/rules/**Bell/ui/src/views/bell/alerts/**(本工单仅列表、详情及只读关联信息)Bell/ui/tests/unit/bell/rule-alert/**禁止写:
Sense/**、Brain/**、contracts/**、docs/**、根级构建/部署以及其他产品目录。GoAdmin 与设计门禁
已确认技术设计
open初始状态和只读投影;状态迁移由后续工单实现。验收标准
Bell/**路径。验证
go test ./...、go vet ./...、go build ./...lint、test:unit、build:prodpython dev_scripts/harness.py check --strictgit diff --check与写路径检查风险与回退
文档影响
长期影响 Bell 规则语义、Event/Alert 数据关系、菜单入口和岗位权限;完成时列出需更新的 Wiki 页面,由协调 agent 更新并同步只读镜像。本工单不直接写
docs/**。状态:进行中(2026-08-29)
前置 #62、#131 已关闭并通过用户验收;当前
dev与origin/dev均为689de560bb0d8928de77dd5ed2cae9ead581e3ef,工作区 clean。代码知识图谱工具本会话未提供,代码发现按仓库规则回退本地只读检查。已核对冻结来源:
f06540883b41d03782bb6b2c4150f298f328c6b667d393d713877572fab0b897296a4c1d525fc81d424855aacf6905f3fde860c3331385cb25529a0d已完整读取 go-admin-doc:Router、API、Models、DTO、Service、DB、migrate,以及 actions/菜单生成、菜单绑定 API、角色授权、目录与权限标识规范。采用方式:沿用 Gin + JWT + Casbin、GoAdmin API/统一响应、GORM/PostgreSQL、
version-local迁移、动态sys_menu/sys_api/sys_role_menu和 go-admin-ui 的 Axios/Layout/BasicLayout/Element Plus/权限指令,不新建认证、RBAC、HTTP、ORM 或 UI 外壳。设计证据:
8d1875c,归档 revision76aa9b3163a0。历史 #19 只用于语义对照:最小条件为事件类型、最低风险、地点包含;同规则+地点聚合 open Alert;逐 Event/Rule 保存版本快照和解释。不会复制旧 HTTP、认证、数据库或 UI 外壳。
事务边界:#131 Event 服务属于冻结且不在 #132 write_paths。为满足“Event 入库与强制评估同一事务”,计划在授权的
*bell_rule_alert*PostgreSQL 迁移中建立 Event INSERT 触发器,基于当前启用规则原子写入 evaluation、open Alert、Event-Alert 和规则快照;任一步失败会使 Event 事务整体回滚。状态:待验收(2026-08-29)
#132 已按确认范围完成,并经 PR #136 合入
dev。最终差异
BasicLayout、Element Plus 表单/表格/分页/Drawer/Dialog/Tag、Axios 与v-permisaction;没有新增独立外壳,也未加入 ack/close/通知等非目标能力。验证证据
go test ./... -count=1、go vet ./...、go build ./...:通过。pwsh -NoProfile -File .\tests\bell_rule_alert\run-postgres.ps1:通过。BELL_132_HTTP unauthenticated=401 admin_write=200 operator_reads=200 operator_write=403 minimal_menu=true。pwsh -NoProfile -File .\scripts\test-event-synthetic.ps1:通过,events=2 receipts=2 concurrent=12 audit=redacted immutable=true restart=true production_synthetic=404。pnpm lint0 error(30 条冻结上游既有 warning);9 suites / 34 tests 全通过;pnpm build:prod通过(冻结上游已有 Sass、导出和包体积 warning)。python dev_scripts/harness.py check --strict:通过。git diff --check和写路径核对:通过;22 个文件全部位于 #132 授权的Bell/**路径,Sense/Brain/contracts/docs 未修改。提交与合并
b01ca1fe09c49d806ed407519abdfff276404d02dev合并提交:afc58f7bf4d397750c4baf79144f8187cf7d3291.codex/gitea.env进程内读取,未写入代码、日志、工单或文档。文档影响与未验证项
docs/**/Wiki 属共享协调写路径,本工单未直接修改;需要后续协调工单更新对应 Bell Wiki 并同步镜像。工单保持 open,等待用户验收;未合入
main,未创建任务归档。验收结论:通过
dev@afc58f7bf4d397750c4baf79144f8187cf7d3291(PR #136)。dev → main,未创建任务归档。docs/**。