[CTR] 冻结 Sense→Brain 媒体源与区域规则配置契约 v1 #148
Closed
opened 2026-08-29 21:04:53 +08:00 by ila
·
5 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#148
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,用户验收通过)
基本信息
contracts/source-config/v1/**目标
冻结 Sense 向 Brain 发布的媒体源、逻辑设备/Profile 和版本化区域/方向线配置契约 v1,使 Brain 不读取 Sense 数据库,也不依赖
brain.internal.input/v1作为共享协议。已确认边界与拟议设计
brain.internal.input/v1继续是各自内部实现,只通过 mapper 对接。非目标
不实现 Sense/Brain adapter、机器身份、RTSP 凭据交换、Brain 运行状态、标准事件、部署或 E2E;不修改任何产品数据库模型。
精确 write_paths
contracts/source-config/v1/**contracts/tests/source-config-v1/**禁止写入:
Sense/**、Brain/**、Bell/**、其他contracts/**、根级部署和docs/**。验收标准
验证
Schema 校验、有效/无效/未知版本样例、兼容性测试、秘密字段拒绝测试和
git diff --check。风险与回退
错误坐标/Profile 绑定会产生错误规则判定。协议未冻结前不得实施 adapter;回退保留上一冻结主版本并停用新 revision,不原地改写已发布语义。
设计与文档影响
非 UI 任务,以本工单的 API/数据/版本设计为确认门禁;协议冻结后更新 Architecture、Product-Requirements、Business-Rules 和本地验证 Wiki,再同步核心镜像。
设计确认(2026-08-29)
用户在 #124 验收闭环后的下一步中明确回复“已确认”。按上一条明确建议,本次确认覆盖 #148、#149、#150 的协议/状态设计与兼容、回退边界;工单进入“待实施”。
本次只放行后续实施,不代表功能验收,不关闭工单,也不扩展为对高风险 #151 机器身份认证、轮换和吊销方案的确认。
开始实施(2026-08-31)
feature/148-source-config-contractcontracts/source-config/v1/**、contracts/tests/source-config-v1/**实施完成,待验收(2026-08-31)
最终差异
contracts/source-config/v1/source-config.schema.json;因本工单不定义 HTTP 端点,选择 payload JSON Schema 而非 OpenAPI。schema_version: yovision.source-config/v1。contracts/tests/source-config-v1/run.ps1,覆盖 Schema、跨字段语义、revision 转换、秘密拒绝和摘要篡改。验证证据
contracts\tests\source-config-v1\run.ps1:11 项通过(命名统一后重跑)。python dev_scripts/harness.py check --strict:通过。python -m unittest discover -s tests -v:48 项通过。git diff --check:通过;16 个变更文件全部位于工单授权路径。Git / PR
67391acb16f83f66e48233ac65b13cd2dba548392e61167500459666f5d2339a0d06a12c335a24b1feature/148-source-config-contract→dev),保持开放,未合并。未验证与文档影响
docs/**,由根协调 agent 在 #148/#149/#150 汇合后串行更新并同步镜像。根协调联合复核(2026-08-31)
将 #148、#149、#150 的最终提交按完整提交链临时叠加到同一隔离 review worktree 后复核,未合并或推送 review 分支。
yovision.source-config/v1、yovision.runtime-status/v1、yovision.event/v1、yovision.evidence-reference/v1。config_id + integer revision改为多配置流configurations[],不存在单一 revision 歧义。success,保留processing中间态;旧available被测试拒绝。git diff --check通过;旧命名标记扫描为 0。dev,尚未合并。#148 最终 PR:#159,head
2e61167500459666f5d2339a0d06a12c335a24b1。用户验收结论(2026-08-31)
用户明确回复“#148;#148、#149通过验收”。按本次明确范围,#148 验收通过。
2e61167500459666f5d2339a0d06a12c335a24b1dev:30c43aa8d72443fd65e5b575cb2a97ebe381bc0bgit diff --check通过config_id + integer revision语义一致dev@96777a948f176bd890ab2a81bc4ae9af939c7a1528dce0d89804013411f8111ba421c93e9a1dfa2c,Architecture3327861dbd77ae63fd10246533b87e0b99a69220,Business Rulesfeca453cd0873c3ad4cef243acfada08ef3f1e33,Local Verification43eb0f69fbb4d573a5cd1c61b97dbc9fc9d2a49b,Deployment0a772b0511044d98430ebd93304faa3dee57183d结论:工单完成并关闭。#152 connector 尚未实现;本次不创建任务归档。