tzt
|
7e01dc9b16
|
feat(sense): T-X4 可解释决策留痕三元结构 + 修复 sense live 分流潜伏 bug(采纳 ai-model-router 决策模型)
- store:新增 sense_decisions 表(CREATE IF NOT EXISTS 幂等迁移),
insert_decision / list_decisions(JSON 字段反序列化),q_hash 不落原文(D-G6)
- grader:全模式落库决策三元——reasons(§8 判定顺序最小完备集)、
candidate_scores(线性头 probs)、rejected(落选档位+原因);
留痕失败静默不影响决策主链路
- 修复:chat_completions 的 sense 分流引用未导入的 settings_store,NameError
被 except 吞掉导致 D-G7 live 分流从未生效;改为 build_proxy_router 显式注入
settings_provider(api.py 传 settings_store),缺省 None 行为安全
- 新增 /proxy/admin/sense-decisions 管理面查询端点(sense 未启用返回空集)
- 回归测试:注入 settings_provider 后 x-campus-tier 头出现且 T1 决策经
管理面可查(修复前该头永远缺失)
pytest 466 passed(T-X6 后 461 + 5)
|
2026-09-18 22:55:49 +08:00 |
|
tzt
|
324c419c35
|
feat(sense): T-G3 标签+校准(labeler 四规则推导 + split-conformal + last-good)
- labeler.py:derive_true_tier 纯函数(规则0 人工优先 / plan_multi->T3 /
失败->下一档(T3保持) / 成功->executed / 空结果跳过)+ derive_true_tiers
批量回填 + 180d 留存清理
- calibrate.py:compute_thresholds(τ1/τ3 分组扫描——并列分数整组判定,
精度 >= 1-α 的最大覆盖阈值;<min_labels -> ok=False 沿用 last-good);
save_thresholds 工件落盘+登记;load_active 回退链 active->同kind扫描->last-good->保守值
- store:all_observations/list_artifacts 支撑方法
- 测试 +9(四规则/批量清理/覆盖达标/标签不足/工件往返与回退),全量 395 passed
|
2026-09-05 13:53:45 +08:00 |
|
tzt
|
c3efa70da2
|
feat(sense): T-G0 语义分析器骨架(包结构/DDL/灰度门控挂载)
- gateway/sense/:config(SenseConfig:mode 灰度三态/特征门/conformal/consumers
档位映射,mode 非法回落 collect)、errors(EmbedderDown/ArtifactMissing,D-G4 降级)、
store(tier_observations + sense_artifacts DDL,WAL;观察写入/标签回填/
labeled 查询/180d 清理/工件登记与 active 切换)、routes(/sense/health 透出灰度状态)
- settings DEFAULTS 增 sense 段(enabled 默认 False,mode 默认 collect——D-G7)
- api.py include_router 门控(装配失败不拖垮主应用)
- 测试 +5:门控 404/DDL 幂等/配置缺省与 mode 回落/独立挂载 health/
观察写入-回填-计数-清理链路,全量 375 passed
|
2026-09-05 11:07:04 +08:00 |
|