[T-011] 实现 Sense Control API v1 与 PostgreSQL 一致性边界 #41

Merged
ila merged 3 commits from agent/codex/T-011 into main 2026-08-07 20:57:18 +08:00
Owner

任务映射

变更摘要

实现冻结的 Sense Control API v1 全部 7 个 endpoint;新增可替换 Bearer 认证、HMAC 游标、ETag/If-Match、创建与批量幂等、PostgreSQL v4 一致性/最小权限边界、审计 v2,以及停用设备精确删除 MediaMTX path 的收敛逻辑。Control API 默认关闭且仅支持 PostgreSQL,不改变 SQLite 默认实验路径。

验证证据

命令 结果
./init.ps1 通过:47 项 Python 测试、全部 Go 测试/vet/build、生成漂移检查
./scripts/test_postgres.ps1 -PgRoot D:\pgsql17 通过:001~009 migration 重放、SQL 断言、25 个 PostgreSQL 测试
go test -race ./internal/auth ./internal/controlapi ./internal/reconcile ./internal/store 通过
git diff --cached --check 通过

风险与回滚

新 migration 为前向兼容且不自动删除数据。公共 API 可通过关闭 SENSE_CONTROL_API_ENABLED 回退;旧二进制可忽略新增表列。已写入的设备、审计、operation 与幂等收据保留。

检查清单

  • 当前 PR 只对应一个任务 / Issue。
  • 变更未超出 write_paths,没有夹带无关修改。
  • 任务文件执行记录包含相同的验证证据。
  • 合并前任务文件 frontmatter 已为 DONE;Closes 自动关闭 Issue 不会制造假完成。
  • 未提交 Token、Authorization header、私有配置或实例地址。
  • Issue 已切换到唯一 status/review;合并后才标记 status/done。
## 任务映射 - Closes #39 - task_file: `docs/tasks/T-011.md` - context_ref: `6402d4384d5c2b1c0f3852858c3cf0d63d948262` - claim_branch: `claims/T-011` - work_branch: `agent/codex/T-011` - write_paths: 与任务 frontmatter 一致,涵盖 Sense Control API、PostgreSQL migration、契约/运维文档和相关测试。 ## 变更摘要 实现冻结的 Sense Control API v1 全部 7 个 endpoint;新增可替换 Bearer 认证、HMAC 游标、ETag/If-Match、创建与批量幂等、PostgreSQL v4 一致性/最小权限边界、审计 v2,以及停用设备精确删除 MediaMTX path 的收敛逻辑。Control API 默认关闭且仅支持 PostgreSQL,不改变 SQLite 默认实验路径。 ## 验证证据 | 命令 | 结果 | | --- | --- | | `./init.ps1` | 通过:47 项 Python 测试、全部 Go 测试/vet/build、生成漂移检查 | | `./scripts/test_postgres.ps1 -PgRoot D:\pgsql17` | 通过:001~009 migration 重放、SQL 断言、25 个 PostgreSQL 测试 | | `go test -race ./internal/auth ./internal/controlapi ./internal/reconcile ./internal/store` | 通过 | | `git diff --cached --check` | 通过 | ## 风险与回滚 新 migration 为前向兼容且不自动删除数据。公共 API 可通过关闭 `SENSE_CONTROL_API_ENABLED` 回退;旧二进制可忽略新增表列。已写入的设备、审计、operation 与幂等收据保留。 ## 检查清单 - [x] 当前 PR 只对应一个任务 / Issue。 - [x] 变更未超出 `write_paths`,没有夹带无关修改。 - [x] 任务文件执行记录包含相同的验证证据。 - [x] 合并前任务文件 frontmatter 已为 `DONE`;`Closes` 自动关闭 Issue 不会制造假完成。 - [x] 未提交 Token、Authorization header、私有配置或实例地址。 - [x] Issue 已切换到唯一 `status/review`;合并后才标记 `status/done`。
ila added 3 commits 2026-08-07 20:55:17 +08:00
chore(task): claim T-011
Harness governance / validate (push) Has been cancelled
20b06884ad
chore(task): renew T-011 write paths
Harness governance / validate (push) Has been cancelled
0d3d7a22ed
feat(sense): implement Control API v1 [T-011]
Harness governance / validate (push) Has been cancelled
Harness governance / validate (pull_request) Has been cancelled
a0d239811f
ila merged commit 6757ef2c05 into main 2026-08-07 20:57:18 +08:00
ila deleted branch agent/codex/T-011 2026-08-07 20:57:19 +08:00
Sign in to join this conversation.