[INT] 实现 Sense↔Brain 配置下发与运行状态 connector #152
Closed
opened 2026-08-29 21:04:54 +08:00 by ila
·
6 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#152
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-08-31,用户验收;PR #164 合入
dev@0e53e04e95253974a47fac691fc8aa0e2fd7b171)基本信息
目标
以已冻结契约和机器身份实现双向 connector:Sense 发布期望配置,Brain 幂等应用;Brain 发布运行状态,Sense 保存只读运维投影。任一端断开不得破坏另一端核心能力。
范围
非目标
不实现模型分发、远程 shell、任意命令、Brain 分片迁移、标准事件、Bell 接入、根级部署或 E2E。
精确 write_paths
Sense/server/app/sense/integration/brain_control/**Sense/server/cmd/migrate/migration/version/*brain_runtime*Brain/src/yovision_brain/integration/sense_control/**Sense/tests/integration/brain_control/**Brain/tests/integration/sense_control/**禁止写入:
Bell/**、未列出的产品目录、contracts/**、根级部署和docs/**。验收标准
验证
Sense Go、Brain Python、双端契约测试、断线/恢复/重启/身份拒绝测试及写路径检查。
风险与回退
错误配置可能影响推理。使用 revision、完整快照校验和 last-known-good;回退停用 connector 并恢复上一已应用 revision,不跨库修数据。
设计与文档影响
无新 UI;复用 Sense 运维中心既有状态呈现。完成后更新 Architecture、Product-Requirements、Business-Rules、Deployment/Operations 和验证 Wiki。
开始实施(2026-08-31):前置依赖已全部验收。主 agent 分配独立协调 Agent,工作树
D:\OPC\yovision-wt-152,分支feature/152-brain-control。严格限制为工单精确 write_paths;不修改contracts/**、docs/**、根级部署或另一工单路径。完成后提交、推送、创建到dev的 PR 并回写真实测试证据,保持待验收。实现完成,转待验收(2026-08-31)
最终差异
source-config/v1mapper、持久 revision、机器身份发送、超时/指数退避/停用开关/correlation ID。runtime-status/v1;Sense 持久只读投影并判断倒序、非法状态迁移、未来观测、90 秒 stale/offline、恢复及 revision mismatch。(principal,jti)并覆盖进程重启;没有共享数据库。提交与 PR
ce1778b47a3e3947ba490b24f8770909ce003288feature/152-brain-control→dev,当前可合并)真实验证
5 passed;全量48 passed。go test ./...:全量通过。go test -race:通过。go vet(connector + migration):通过。11 passed;runtime-status14 passed;machine-identity10 passed。python dev_scripts/harness.py check --strict、git diff --check:通过。__pycache__/.pyc纳入提交。边界、未验证与文档
Bell/**、contracts/**、docs/**、根级部署或其他未授权路径。工单保持开放,状态转为“待验收”,不合并 PR、不关闭工单。
主审修订完成(2026-08-31)
X-Request-ID:^[A-Za-z0-9][A-Za-z0-9._:-]{15,127}$,即 16–128 字符,拒绝短值、换行/控制字符、非法字符与超长值。source-config/v1consumer 补齐extensionsSchema:必须为 object;namespace 必须匹配^[A-Za-z][A-Za-z0-9.-]{0,127}$;每个 value 必须为 object;合法未知 namespace 保持忽略。82afce111f62cbb7518932d56682d533525130dd。复验:Brain 冻结 Python 3.11.15 connector 14/14、全量 57/57;Sense 全量
go test ./...通过,connector 定向 race/vet 通过,独立集成模块 race 通过;source-config 冻结契约 11/11;Harness strict、diff/write_paths/秘密审计通过。更正:上一条主审修订评论中的完整提交哈希抄写有误;远端 PR #164 与本地实际提交均为
82afce1f81b98ee835f9bc49798cf48ffa880434。测试与修订内容不变。用户验收结论(2026-08-31):用户明确确认“#152 和 #153通过”,#152 功能与当前验收证据通过。按分支治理,现执行 PR #164 合入
dev;合并后关闭单元工单并更新 MVP #156。长期 Wiki/docs 镜像按验收闭环统一处理。长期文档闭环(2026-08-31):
dev@0e53e04e95253974a47fac691fc8aa0e2fd7b171;#153 PR #165 →dev@130087a1ba12025fd90d69a7f6af373d2afcfb812b110cd34439;Architectureb25498f58c69;Business Rulesc0903448152d;Deployment/Operationsfa7e2031338c;Local Verification59f6eb5816b5;Troubleshootingfdd44bfe589d9055f2522cf08c2b711f512031dc66b938e2051a;PR #166 合入dev@eb4e1a9ea1d671b942502c2d886d563527569111sync --check、DevHarness strict、仓库单元测试 48/48、diff check 均通过。