feat: add consultation and product domain registries
This commit is contained in:
@@ -3197,3 +3197,18 @@
|
||||
- 防复发:每个 requested theme 必须且只能由 Claim Card 或 Blocked Section 覆盖;未执行或 blocked/partial 技法不得升级为 verified/consensus;Agent 不得接收 raw workflow、坐标、内部路径、secret、聊天历史或工具轨迹;Bundle hash 必须由服务器对规范化且排除自身 hash 的内容计算。报告文档、job 状态和日志不得写入用户资料、密钥、内部 URL 或模型自由生成的 HTML/CSS/SVG;不得把本地测试结果虚构为 staging 或生产验收。
|
||||
- 相关记录:BUG-152、BUG-159
|
||||
- 修复版本:本次功能分支提交(精确 SHA 以提交与远程分支核对结果为准;未合并 staging,未部署)
|
||||
|
||||
## BUG-189 | 普通咨询域与独立产品域漂移,导致多域请求、专题证据与 UI 状态越界
|
||||
|
||||
- 状态:resolved(本地候选,未部署)
|
||||
- 首次发现:2026-08-14
|
||||
- 最近更新:2026-08-14
|
||||
- 影响面:普通咨询入口与会话持久化、Mastra 多域计划、Python 咨询编排与专题报告、`chat_sessions.theme` 约束、生时校正 Activity/候选文案,以及个人报告、合盘、生时校正独立产品 API。
|
||||
- 用户现象:同一个自然语言问题涉及多个主题时只能落入单一 `theme`;前端、API、Python 与数据库允许域不一致,新增普通咨询域可能在写会话或专题执行时失败;不具备原生专题证据的域可能被静默当成 `general`;候选采用曾显示成“已确认”,流式正文到达后会清除真实运行中 Activity,失败回合的服务端 receipt 也可能丢失;独立产品入口与 API 缺少统一的服务端产品开关。
|
||||
- 触发条件:请求 education/migration/family/annual 等旧数据库或旧专题枚举未覆盖的普通咨询;Agent 从同一问题规划多个咨询域;采用但未确认生时候选;工具运行中先收到 `answer.delta` 或工具失败;关闭独立产品但直接调用其写入/计算 API。
|
||||
- 根因:咨询域在多个客户端与服务端枚举中重复维护,单 `theme` 合同无法表达多域;专题报告只认识旧主题枚举;UI 把 accepted 与 confirmed、正文与真实执行状态混合;独立产品没有与普通咨询 taxonomy 分离的 registry 和 fail-closed 服务端 gate。
|
||||
- 修复:建立十个 canonical consultation domain 的 TypeScript/Python 单一 registry、alias 规范化与最多六域的有序去重计划,Agent 按域逐一执行并由服务器聚合真实 domains receipt;数据库前向迁移同步 `chat_sessions.theme` 约束。career/marriage/wealth/health 使用原生专题报告,其余 canonical 域返回明确 degraded/blocked adapter,未知域和独立产品域 fail closed,`annual` 普通咨询不等于 `annual_report`。UI 保留 answer delta 期间的真实 Activity 与失败 receipt,只从服务端 event/receipt 渲染执行状态,并严格区分“已采用(未确认)”和“已确认”。另建独立 product registry 与 feature flags;个人报告、合盘、生时校正写入/计算 API 在鉴权后执行 fail-closed 产品 gate,报告中心同时保留既有环境变量开关。
|
||||
- 验证:TypeScript focused 矩阵 178 passed、0 failed;Python consultation/thematic/API focused 70 passed、0 failed,`py_compile` 通过;全部 PR-7 TypeScript/TSX 目标 ESLint 与 `git diff --check` 通过。全库 `tsc --noEmit` 仍只有 5 个既有无关测试错误:`production-data-migration.test.ts` 两处 fixture 字段缺失、`staging-backend-workflows.test.ts` 三处低 target 正则 flag。全量 Ruff 会报告 legacy Python 文件既有存量问题,因此未将其声明为 PR-7 通过门禁;未应用任何远端数据库迁移,未部署。
|
||||
- 防复发:普通咨询只能持久化 canonical consultation domain,独立产品 ID 永不进入 `chat_sessions.theme`;多域执行必须保序、去重、逐域产生真实 receipt,未执行能力不得伪装为 `general` 或 verified;accepted 不得升级为 confirmed,Activity 不得从 Agent 正文推导;所有独立产品写入/计算 API 必须执行服务端 fail-closed gate,数据库迁移保持前向兼容且默认关闭未发布产品。
|
||||
- 相关记录:BUG-159、BUG-181、BUG-185、BUG-188
|
||||
- 修复版本:本次功能分支提交(精确 SHA 以提交与远程分支核对结果为准;未合并 main/staging,未部署)
|
||||
|
||||
Reference in New Issue
Block a user