Add tenant-safe value, telemetry, connector, commercial, and production-readiness foundations.
14 KiB
14 KiB
AI 分阶段发布真实遥测 开发 TODO
更新时间:2026-07-17
使用规则
- 每项必须回链
CONCEPT.md对应章节;没有代码、迁移、接口或容器证据不得勾选。 - observation、label、聚合和 Release Guard 输入必须按证据层分开,不能用 HMAC 请求或客户端汇总值替代数据库事实。
collecting不得包装成通过;recall/false-negative 没有达到独立盲审证据阈值时必须保持 unavailable。- 所有后端、迁移和并发验证只在
local-x-financial-linux容器内执行,单条命令最长 60 秒。
1. 调研与边界
- [CONCEPT: 背景与问题] 审计 Loader、平台风险评测、shadow_evaluations、风险处置和 AI workflow feedback/outcome 链路,确认线上发布评测缺少持久真实样本。
证据:
expense_claim_risk_rule_loader.py、expense_claim_platform_risk.py、risk_dispositions.py、expense_workflow_learning.py、ai_learning.py只读审计。 - [CONCEPT: 背景与问题] 确认
RiskDispositionEvent confirm/false_positive是当前可绑定风险命中的可信人工结论,通用 feedback/outcome 缺少完整 release 身份。 证据:risk_disposition.py、risk_dispositions.py与agent_asset_release_telemetry.py的可信事件查询和关联校验。 - [CONCEPT: HMAC 与数据真实性边界] 冻结 HMAC 只负责传输认证、防篡改和防重放,不证明汇总指标的数据真实性。
证据:
CONCEPT.md“HMAC 与数据真实性边界”;现有agent_asset_release_monitor_auth.py与ReleaseEvaluationInput契约对照审计。 - [CONCEPT: 目标与非目标] 明确未标注 collecting、敏感数据不落遥测表、线上 recall/FN 证据不足不可用。
证据:
CONCEPT.md“目标与非目标”“Recall 与 false negative”。
2. 契约与设计
- [CONCEPT: 数据] 定义 observation 与 label 的 tenant/asset/release/stage/version 复合身份、稳定幂等键和只追加边界。
证据:
server/src/app/models/agent_asset_release_telemetry.py。 - [CONCEPT: 证据链与自动判定] 定义 observation → trusted label → aggregate → ReleaseEvaluationInput → Release Guard 的证据链。
证据:
CONCEPT.md“证据链与自动判定”、ReleaseTelemetryAggregate.to_release_evaluation_input()。 - [CONCEPT: 算法/规则] 分开定义运行失败、业务误报、candidate precision、baseline precision 和缺失负样本真值。
证据:
agent_asset_release_telemetry.py的aggregate();test_agent_asset_release_telemetry.py的 collecting、baseline 和 FN 不可用断言。 - [CONCEPT: 权限] 冻结专用发布复核接口的角色矩阵、双人复核阈值和跨租户 HTTP 错误契约。
证据:
require_rule_reviewer_user只允许 manager/admin;跨租户 404、非角色 403、 发布人自审 400;reviewer_quorum限制 1..2 且按不同 actor 指纹计票。
3. 独立模型与服务
- [CONCEPT: 数据] 新增 append-only observation/label ORM 模型、复合租户/release 外键和更新/删除拒绝。
证据:
server/src/app/models/agent_asset_release_telemetry.py。 - [CONCEPT: 后端] 实现真实 shadow 结果、Canary/active 命中和 manifest 执行循环样本生产器。
证据:
AgentAssetReleaseTelemetryService.record_expense_risk_result()、record_manifest_evaluation()。 - [CONCEPT: 后端] 实现专用发布复核标签和可信
RiskDispositionEvent标签转换,不接收自由评论。 证据:record_review_label()、record_risk_disposition_label()。 - [CONCEPT: 后端] 实现租户隔离、陈旧 release/stage/version 拒绝、来源关联校验和稳定幂等冲突。
证据:
_require_current_release()、_observation_replay()、_label_replay()及对应测试。 - [CONCEPT: 算法与公式] 实现保守聚合;未标注候选命中保持 collecting,基线标签不完整时 baseline precision 不可用。
证据:
ReleaseTelemetryAggregate、aggregate()、to_release_evaluation_input()。 - [CONCEPT: 数据] 实现 claim、事件、actor 来源指纹化,不保存业务正文、评论和账号原值。
证据:模型无自由文本业务字段;
_fingerprint();脱敏测试断言。
4. 共享注册、迁移与运行接入
- [CONCEPT: 数据] 在
db/base.py与models/__init__.py注册AgentAssetReleaseObservation和AgentAssetReleaseLabel,保证主应用 metadata 与迁移所有权检查可见。 证据:db/base.py、models/__init__.py、schema_ownership.py、migration_preflight.py已登记两张迁移自有表;前置检查 77 项通过。 - [CONCEPT: 数据] 新增后继
20260716_0018Alembic 迁移,创建两张表、复合租户/release 约束、检查约束、索引和数据库级 append-only UPDATE/DELETE 触发器。 证据:20260716_0018_agent_asset_release_telemetry.py;一次性 PostgreSQL 17 完整升级/降级循环 1 项通过,静态迁移/schema owner 回归 112 项通过。 - [CONCEPT: 算法/规则] 在真实候选 manifest 执行循环接入
record_manifest_evaluation(),完整记录 shadow/Canary hit、miss 和结构化执行失败。 证据:expense_claim_platform_risk.py、expense_claim_release_telemetry.py;test_agent_asset_release_runtime.py覆盖 shadow、Canary、active 和损坏快照,test_agent_asset_release_telemetry.py覆盖结构化运行失败。 - [CONCEPT: 后端] 在类型化风险处置事务接入 release label,按同租户、同 claim/rule、当前 release 精确关联 observation;关联失败保守拒绝。
证据:
agent_asset_release_disposition_labels.py、risk_disposition_release_sync.py;风险确认/误报会追加标签,误报越界自动回滚 stable。 - [CONCEPT: 后端] 将现有 Release Monitor 从“提交外部汇总数字”改为“触发服务端聚合”,只在 aggregate ready 时构造
ReleaseEvaluationInput。 证据:AgentAssetReleaseMonitor.evaluate_current()只接受 release 身份;HTTP body 为禁止额外字段的空触发契约,真实聚合未 ready 时不调用 Guard。 - [CONCEPT: HMAC 与数据真实性边界] 保留 HMAC 作为 Monitor 传输认证,但禁止签名请求覆盖数据库聚合结果,并补充签名通过但汇总伪造的反向测试。
证据:
agent_asset_releases.py、AgentAssetReleaseMonitorTriggerWrite;带有效签名的伪造precision/total请求仍返回 422。 - [CONCEPT: 降级策略] 遥测持久化或聚合失败时保持 stable 规则、停止晋级并记录结构化告警,不让观测故障阻断正常报销。
证据:
ExpenseClaimReleaseTelemetryRecorder、risk_disposition_release_sync.py将遥测/标签/监控故障隔离并记录日志;未获得 ready 真实聚合不会写 passed,也不会改变 stable 路由。 - [CONCEPT: 后端] 按职责拆分 Agent 资产接口、版本只读投影和 Release Guard 纯策略计算,保持公开 API 与状态机行为稳定。
证据:
agent_assets.pyendpoint 714 行、agent_asset_risk_rules.py534 行、agent_assets.pyservice 675 行、agent_asset_serialization.py217 行、agent_asset_release_guard.py636 行、agent_asset_release_policy.py201 行,相关核心文件均低于 800 行;纯策略模块保存范围为 1..2 的reviewer_quorum,第 5 节已完成复核执行与运营闭环。
5. 自动聚合、告警与运营闭环
- [CONCEPT: 证据链与自动判定] 实现按 tenant/asset/release/stage/version 的周期聚合作业与幂等快照。
证据:
agent_asset_release_scheduler.py按租户有界扫描;AgentAssetReleaseMonitor._existing_evaluation()复用相同 release 聚合快照,不重复生成测试运行。 - [CONCEPT: 证据链与自动判定] aggregate ready 后自动调用 Release Guard;collecting 只更新采集状态,不写虚假 passed test run。
证据:人工标签提交后即时触发 monitor,后台 scheduler 提供失败补偿;
test_agent_asset_release_monitor.py覆盖 collecting 不调用 Guard、低 precision/运行失败自动回滚与相同快照幂等。 - [CONCEPT: 降级策略] 增加待标注数量/时长、运行失败率、precision 下降、baseline 不可用、聚合失败和自动回滚告警。
证据:
agent_asset_release_alerts.py、AgentAssetReleaseMonitor._metrics();24 小时 待审逾期和单资产聚合失败均返回结构化告警,定向 Monitor/Telemetry/Runtime 29 项通过。 - [CONCEPT: 前端] 在发布控制台展示 observed/hit/labeled/pending、候选/基线 precision、运行失败和召回证据。
证据:
AuditReleaseMonitorPanel.vue展示负样本池、抽样进度、积压、实际/估计 FN、FN 上界、recall 点估计/下界/置信方法;空值不渲染为零。 - [CONCEPT: 权限] 实现认证发布复核队列、操作审计和需要时的双人复核,不允许规则发布人独自伪造所有标签。
证据:
agent_asset_release_review.py、agent_asset_release_label_votes.py、专用 GET/POST API;X-Request-Id、append-only label、actor HMAC 指纹、发布人隔离和独立双人同意均有测试。 - [CONCEPT: Recall 与 false negative] 实现独立分层负样本抽样、预测盲化、双人标注、冲突保持 collecting 和保守召回估计。
证据:
agent_asset_release_sampling.py、agent_asset_release_review.py、agent_asset_release_aggregation.py、agent_asset_release_recall.py;前端只发送risk_present / risk_absent,负样本要求两个不同 actor,门禁只读取 recall 下界。 - [CONCEPT: 数据] 完成
0023audit sample 迁移注册、数据库标签组合约束、append-only 触发器和无损降级验证。 证据:20260716_0023_agent_asset_release_blind_audit.py、release_telemetry_migration_assertions.py;fresh PostgreSQL 完整迁移链、约束、触发器及降级/再升级均通过。
6. 测试与验证
- [CONCEPT: 测试方案] 独立模型/服务测试覆盖 shadow、Canary、baseline、真实 typed disposition、脱敏、幂等、租户、陈旧 release、append-only、collecting 和 FN 不可用。
证据:容器内
test_agent_asset_release_telemetry.py7 项通过。 - [CONCEPT: 测试方案] 与现有 Release Guard 和 Runtime 组合回归通过。
证据:容器内
test_agent_asset_release_guard.py、test_agent_asset_release_runtime.py、test_agent_asset_release_telemetry.py共 19 项通过;Ruff 通过,git diff --check通过。 - [CONCEPT: 测试方案] 新增 0018 upgrade/downgrade、schema owner、复合外键和数据库 append-only PostgreSQL 验证。
证据:一次性
pgvector/pgvector:pg17数据库中完整迁移循环 1 项通过;迁移运行探针验证复合租户外键、幂等唯一约束和两张表的数据库级 UPDATE/DELETE 拒绝。 - [CONCEPT: 测试方案] 新增 PostgreSQL 并发同 observation、同 label、标签与阶段晋级竞争和幂等冲突测试。
证据:一次性 PostgreSQL 17 中
test_agent_asset_release_telemetry_concurrency_postgres.py4 项通过;相同重放只保留一条,不同载荷单赢家,阶段转换持锁后旧标签保守拒绝。 - [CONCEPT: 测试方案] 验证 audit sample 并发单赢家、同 actor 重复不增加负样本法定票、第二独立 actor 完成双人复核,以及预测字段不进入前端队列状态。
证据:
test_agent_asset_release_telemetry_concurrency_postgres.py覆盖单赢家和独立双人票;test_agent_asset_release_telemetry.py与agent-release-monitor-panel.test.mjs验证队列不暴露 candidate/baseline 命中预测。 - [CONCEPT: 测试方案] 跑通真实风险循环 → observation → disposition label → aggregate → Release Guard 回滚端到端。
证据:
test_agent_asset_release_runtime.py与test_risk_dispositions.py覆盖真实执行样本、类型化处置标签、服务端聚合、低 precision 自动恢复 stable;发布组合回归 44 项通过。 - [CONCEPT: 测试方案] 验证职责拆分后的资产服务、风险规则子路由、Release Guard/Runtime、Monitor/Scheduler/Telemetry 和 API schema 兼容性。
证据:容器内资产服务 27 项、Guard/Runtime 13 项、Monitor/Scheduler/Telemetry 22 项、风险规则生成/解释 30 项、修订/反馈 14 项通过;迁移后的既有 publish HTTP 防绕过用例通过,Ruff 与
git diff --check通过。 - [CONCEPT: 指标与验收] 验证 HMAC 失败、遥测库失败、标签积压和聚合失败均停止晋级但不破坏 stable 业务保护。
证据:
test_agent_asset_release_runtime.py覆盖签名失败;test_agent_asset_release_monitor.py覆盖 collecting、积压和聚合失败;ExpenseClaimReleaseTelemetryRecorder隔离遥测持久化异常,stable 报销路径继续服务。 - [CONCEPT: 指标与验收] 完成相关后端全量回归、Ruff、迁移完整循环和
git diff --check,逐项回填 A1-A8 证据。 证据:遥测组合 45 项通过;fresh PostgreSQL 总探针87 passed / 0 skipped / 0 failed,其中发布遥测并发 7 项;Web 全量 815 项及 Vite build 通过;新增 Python 文件 Ruff 与git diff --check通过。全仓既有 Ruff 基线债不伪装为本轮新增错误。
7. 文档收尾
- [CONCEPT: 本轮实现记录] 新建独立 CONCEPT/TODO,记录证据边界、已实现切片和共享集成缺口。
证据:
document/development/2026-07-16/feature/ai-release-real-telemetry/CONCEPT.md、TODO.md。 - [CONCEPT: 风险与开放问题] 共享集成完成后回填 0018、运行 hook、自动作业、PostgreSQL 和端到端证据。
证据:本 TODO 第 4-6 节与
CONCEPT.md“本轮实现记录”已回填;发布面板已展示积压、失败、precision 和 recall,生产运营效果由下一条真实流量验收单独保留。 - [CONCEPT: 指标与验收] 与上位 AI 闭环 TODO 对齐代码与容器验证状态。
证据:
document/development/2026-07-13/feature/ai-expense-closed-loop-and-value-proof/TODO.md已回填 Golden、Canary、盲审和回滚的工程证据。 - [CONCEPT: 指标与验收] 使用生产真实流量、独立复核样本和试点阈值验证 Golden/Canary/自动回滚运营效果。 证据要求:目标企业生产 observation/label、盲审样本、阈值签字和真实回滚演练;本地测试不得替代。