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#183
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.
状态
已完成(2026-09-01;用户验收通过,PR #189 已合并到 dev)
基本信息
目标
基于已确认原型实现联系人、只写不读的通道地址、验证状态、值班组、站点时区、周轮换、生效日期、临时替班、空档/重叠检查、版本发布和审计;Bell 可在 Sense/Brain 离线时独立验收。
非目标
精确 write_paths
Bell/server/app/bell/contact/Bell/server/cmd/api/server.go(用户已确认:仅注册联系人通道请求体脱敏中间件)Bell/server/app/bell/duty_schedule/Bell/server/app/bell/router/contact.goBell/server/app/bell/router/duty_schedule.goBell/server/cmd/migrate/migration/version/2026090110000_contact_schedule.goBell/server/cmd/migrate/migration/version/2026090110000_contact_schedule_test.goBell/ui/src/api/bell/contact.jsBell/ui/src/api/bell/duty-schedule.jsBell/ui/src/views/bell/contacts/Bell/ui/src/views/bell/duty-schedules/Bell/server/tests/bell_contact_schedule/除上述路径外禁止写入;新增路径必须先更新工单并取得确认。
验收标准
风险与回退
从当前
dev建立独立任务分支;实施前复核前置和线上原型版本。状态迁移、通知和排班属于高风险业务事实,发现语义变化或客户参数缺失时停止。回退停用新增策略/Worker/通道,不删除联系人、排班版本、投递、Alert 或审计历史。文档影响
更新 Bell Product-Requirements、Architecture-and-Code-Map、Business-Rules-and-Glossary、Local-Development-and-Verification;新页面菜单和权限入口需记录。
ila referenced this issue2026-09-01 10:09:42 +08:00
开始实施(2026-09-01)
feat/183-bell-contact-schedule,从最新dev(5adee5c)创建6a964071191a826306a7f4afgo-admin-doc/docs/intro/advanced/advanced.md:页面、菜单、API 与角色授权链go-admin-doc/docs/intro/advanced/api.md:分页 CRUD Handler 结构go-admin-doc/docs/intro/cmd/migrate.md:版本迁移、事务和模型约定go-admin-doc/docs/guide/norm.md:app 业务模块目录边界app/bell/{rule,alert,router}、动态菜单/API/Casbin 迁移及ui/src/views/bell/rules的 GoAdmin/Element Plus 页面模式实施严格限制在 #183 已声明的
write_paths。安全范围变化:等待确认(2026-09-01)
首轮实现与测试发现 GoAdmin 操作日志的真实安全缺口:
common/middleware.LoggerToFile在路由处理前复制 POST/PUT 请求体,并把原文写入sys_opera_log.oper_param。Bell/server/cmd/api/server.go中、common.InitMiddleware之前注册contact.RedactRequestBody()。Bell/server/app/bell/contact/;唯一新增精确写路径是Bell/server/cmd/api/server.go。sys_opera_log,确认完整号码不存在且仅保留固定脱敏标记。已完成且通过的证据(尚未提交):
go test ./...通过。git diff --check通过。等待用户明确确认新增
Bell/server/cmd/api/server.go写路径后继续。#184/#185 仍受 #183 验收门禁约束。2026-09-01 用户已明确确认 #183 增加
Bell/server/cmd/api/server.go写路径。继续实现全局联系人通道请求体脱敏,并验证sys_opera_log不保存完整号码;其余范围不变。最终实施证据(待用户验收)
feat/183-bell-contact-schedulee81f00e(feat: 实现 Bell 联系人与值班排班 (#183))dev,当前可合并;未触碰mainLoggerToFile前执行的通道请求体脱敏sys_opera_log不含完整地址;未写入真实联系人、密码、令牌或生产密钥验证结果
GOTOOLCHAIN=go1.26.5 go test ./... -count=1:通过pwsh ./tests/bell_contact_schedule/run-postgres.ps1:通过;管理员写入、操作员读取 200/写入 403、菜单可见、只写通道、排班不可变与冲突约束均通过corepack pnpm lint:通过,0 error、30 个既有上游 warningcorepack pnpm build:prod:成功,4 个既有上游 warningpython dev_scripts/harness.py check --strict:通过python -m unittest discover -s tests -v:48 项通过python dev_scripts/harness.py sync --check、git diff --check:通过长期文档
已按 Wiki 主源更新并在线回读,再同步只读镜像:
a2aada9db75909dc5fc85cc5d91c8c8bcab82c450b760f2398ea4c1fd1d776b0cf869532b167c4959be486cd2d3fe424cf389f65c2c868eacab6a020e90d408200d7189771eeec35ae76a00837e2eedf工单现为“待验收”。按依赖门禁,收到用户明确“#183 验收通过”后才合并/关闭并开始 #184。
用户验收结论
#183 验收通过dev5128f080b4f830c0b4e0a7aea049e528f5377cfe