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#75
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.
状态
待验收(原型 v0.1 已审核;实现已通过 PR #119 合入 dev)
基本信息
原始需求与追溯
explore只用于需求、行为与测试对照,不复制自研基础框架。目标
把默认 16 路实现为可配置交付配额,并为 32/64/128 扩展提供可观察容量和安全写入门禁。
范围
实现配额来源、占用投影、新增/启用校验、不可读时拒绝相关写入、已有流只读保持、分页与容量指标。
非目标
不承诺未经压测的单机容量;不硬编码 16;不发布跨项目配额契约;不自动迁移设备。
GoAdmin 复用要求
复用 #61/#64 建立的 GoAdmin/go-admin-ui 认证、RBAC、审计、Router、Store、Axios、Layout、表格、表单、分页、Dialog、Tag 和权限按钮;实施前读取相关冻结 go-admin-doc 并在评论记录采用方式。业务专用组件必须说明复用缺口并保持整体风格。
写路径
Sense/server/app/sense/quota/**Sense/server/database/migrations/*quota*Sense/ui/src/views/sense/quota/**Sense/ui/src/api/sense/quota*Sense/tests/quota/**禁止写入:
Brain/**、Bell/**、contracts/**、根级构建/部署、docs/**、wiki-docs.json。需要共享路径时停止并转协调工单。文档影响
更新对应 Sense Wiki 业务规则、配置、运行、排错和验收页面;本地镜像由单一协调工单同步。
验收标准
验证方式
风险与回退
竞态可能导致超配,故使用事务/锁和幂等校验;回退配额配置不停止已有读取。
协同需求摘要
本工单只实现 Sense 内部端口和夹具。涉及 Sense→Brain、Brain→Sense、Sense/Brain→Bell 的正式 schema、机器身份、部署或 E2E 时另建协调工单。
设计证据门禁:原型 v0.1 待审核(2026-08-28)
#72、#74 已验收关闭,工单声明的前置依赖已经满足。由于本工单新增“容量与配额”页面及配额调整交互,按双门禁先完成可审阅原型,用户确认前不实施生产代码。
版本与识别
Sense 容量与配额交互原型D:\OPC\yovision-visualizations\issue-75\sense-quota-capacity.htmlprototypes/;用户未要求离线原型交付覆盖范围
原型验证
非目标
不在本原型中实现配额持久化、迁移、后端接口、真实设备写入、性能压测或 32/64/128 路承诺;不修改 Brain、Bell、contracts 或共享路径。
原型 v0.1 用户审核通过
#75 原型 v0.1通过审核Sense 容量与配额原型 v0.1;仓库外源文件D:\OPC\yovision-visualizations\issue-75\sense-quota-capacity.html实施前技术核对与写路径校正(2026-08-28)
已读取冻结基线
goadmin-baseline.json及 go-admin-docrouter.md、api.md、models.md、dto.md、service.md、db.md。采用现有 JWT + Casbin + PermissionAction 路由链、GoAdmin API/Service/Model/DTO 分层、GORM 事务、动态菜单、BasicLayout、Axios、Element Plus 表格/表单/分页/Dialog/Tag/Alert 和权限按钮。代码知识图 MCP 当前未提供可调用工具,因此按 AGENTS 规则回退到只读文件检索。核对发现工单早期路径
Sense/server/database/migrations/*quota*、Sense/tests/quota/**不存在于当前 GoAdmin 派生树;同时“新增/启用原子安全闸”必须接入既有设备写入链,批量开通必须改用同一配额事实源。校正后的写路径为:Sense/server/app/sense/quota/**Sense/server/app/sense/device/service/**Sense/server/app/sense/device/apis/device.goSense/server/app/admin/router/sense_device.goSense/server/app/admin/router/sense_quota.goSense/server/app/sense/provisioning/service.goSense/server/app/sense/provisioning/service_test.goSense/server/cmd/migrate/migration/version/*quota*Sense/ui/src/views/sense/quota/**Sense/ui/src/views/sense/device/index.vueSense/ui/src/api/sense/quota.jsSense/ui/src/api/sense/device.jsSense/ui/tests/unit/sense/quota*.spec.js技术方案
该校正扩大的是实现触点,不改变用户已确认的原型结果、跨项目边界或验收标准。禁止路径保持不变。
实现完成与待验收证据(2026-08-28,Asia/Shanghai)
最终差异
sense_quota_settings单行配额配置与sense_quota_changes不可变审计记录;默认迁移值为 16,可在首次迁移时读取可选初始化值,运行期以 PostgreSQL 为唯一事实源。GET/PUT /api/v1/quota、GoAdmin 动态菜单、JWT/Casbin/PermissionAction 权限链;implementation_operator/site_admin/viewer 可读,只有 site_admin 可调整配额。FOR UPDATE配额行锁、占用计数和同事务写入实现原子门禁;停用设备不占用,启用后回到待接入。provisioning/apis.go同步映射 HTTP 409/503。实际实现触点补充:除实施前评论列出的路径外,还按统一错误语义修改了
Sense/server/app/sense/provisioning/apis.go;长期 Wiki 更新后依工作流同步了 4 个docs/核心镜像。未触及 Brain、Bell、contracts 或根级构建/部署。验证结果
go test ./...:通过。go test -race ./app/sense/quota ./app/sense/device/service ./app/sense/provisioning:通过。go vet ./...:通过。pnpm run test:unit:25 suites、62 tests 全部通过。pnpm run lint:0 errors;32 个冻结上游既有 warnings。pnpm run build:prod:通过;仅有冻结上游 Sass/codemirror/包体积 warnings。python dev_scripts/harness.py check --strict:通过。git diff --check:通过。SENSE_QUOTA_MIGRATION_TEST_DATABASE_URL,为避免修改用户现有 PostgreSQL,专用 PostgreSQL 迁移测试未执行;迁移逻辑已由 SQLite 结构/RBAC 测试和 Go 全量测试覆盖。Git / PR
12f5419f21cdf2102115cb5a65126120fb360d5b。feat/75-sense-quota-capacity→dev)。a9fd8e8a474fbcf5ece2cf3ebd307a0ce22ba41a。dev已 fast-forward 到合并提交且工作区干净。长期文档
e298b5a31fcc39e3e2d9b4df543a4bc50d94bcaa。f7a08ae4eaa7557f2b8a470d895b06567f77d0e1。502d61f5c765c6c9b71432cdbbf0159c9b9c1071。95965345e43d7fc403486c8afaecf36d79b757d0。sync --check两次在其他页面读取阶段遇到 Gitea TLS 握手超时,因此不能声明全映射在线检查通过;本工单涉及的四页已通过缩小映射的单向导出成功。工单现保持打开并进入“待验收”。用户明确验收前不关闭,也不把 #80 中的 #75 标为完成。
用户验收通过(2026-08-28,Asia/Shanghai)
#75通过验收,做#76dev合并提交a9fd8e8a474fbcf5ece2cf3ebd307a0ce22ba41a。