Files
yovision/Bell/README.md
QiuSW 4be2386421
Harness governance / validate (push) Has been cancelled
Harness governance / validate (pull_request) Has been cancelled
feat: deliver Sense audits to Bell (T-016)
2026-08-11 00:24:32 +08:00

1.8 KiB

Bell 事件存储与内部审计入口

Bell 当前实现 M3 的事件域基础及 Sense 审计 relay 的最小内部 HTTP 服务:

  • Bell 在可信 ingress 内为不含 id 的候选事实生成 evt_ ULID。
  • 最终事件同时通过冻结 v0.1 JSON Schema 与六项代码级断言。
  • PostgreSQL bell.events 保存不可变事实;后续 outcome 追加到 bell.event_outcomes。
  • bell_runtime 对三张不可变事实表只有 SELECT/INSERT,没有 UPDATE/DELETE/TRUNCATE 或 migration owner 权限;仅可在短期 audit_relay_receipts 表查询、插入和清理过期收据。
  • cmd/bell-api 默认只监听 127.0.0.1:8081,接收 HMAC 签名的 /internal/v1/audit-events:batch,把脱敏设备操作事实追加到 bell.audit_events。
  • (key_id, nonce) 收据保存 10 分钟;相同摘要重放原结果,不同摘要返回冲突。非回环监听必须配置 TLS 证书和私钥。

Brain→Bell transport、公共认证/事件 API、规则、Alert 和证据对象存储仍需后续任务冻结。审计 relay 只服务 Sense,不得把 internal/event 的 Go 类型或该 HMAC 适配器当成公共协议。

启动内部 receiver 前必须私下设置 BELL_DB_DSN 和仓库外绝对路径 BELL_AUDIT_KEYS_FILE。远端监听还必须设置 BELL_TLS_CERT_FILE、BELL_TLS_KEY_FILE;仓库不保存 DSN、key 或证书:

go -C Bell run ./cmd/bell-api

验证

go -C Bell mod download
go -C Bell test ./...
go -C Bell vet ./...
go -C Bell build ./...
./scripts/test_postgres.ps1 -PgRoot D:\pgsql17

隔离 PostgreSQL harness 会创建临时 bell_runtime 登录成员,运行真实 repository、幂等冲突和不可变权限测试,然后停止并删除临时集群;不会读取或修改现有 D:\pgsql17\data 或 5432 服务。