Skip to content

feat: BKN 外部资源支持方案四 - DESIGN4 设计文档更新#410

Open
kenlee1988 wants to merge 11 commits into
mainfrom
feature/289-issue
Open

feat: BKN 外部资源支持方案四 - DESIGN4 设计文档更新#410
kenlee1988 wants to merge 11 commits into
mainfrom
feature/289-issue

Conversation

@kenlee1988

@kenlee1988 kenlee1988 commented May 11, 2026

Copy link
Copy Markdown
Contributor

Pull Request

What Changed

Brief description of changes:

  • DESIGN4.md 状态从「草案」升级为「已采纳」(v1.0.0)
  • 新增版本变更历史章节
  • 新增 RelationType 顶层字段约束说明
  • 新增术语表章节
  • 新增落地前置条件章节
  • 新增开放决策项章节(已收敛)
  • 更新参考文档链接

Why

  • Related Issue: Issue #289
  • Related Feature: BKN 外部资源支持
  • Background: 完成 DESIGN2 + DESIGN3 合并方案的最终设计定稿,明确落地路径与约束条件

How

  • Key implementation points:
    • 资源承载承袭 DESIGN3:不引入新顶层类型,资源走现有 ObjectType
    • scope_binding 形态承袭 DESIGN2:schema 级 target_rules 声明
    • 新增 rid logic property 设计
    • 语义召回外移到 Vega 数据集
  • Breaking changes (API, config, database, etc.): 无

Testing

  • Unit tests passed locally
  • Integration tests passed locally
  • Verified in test environment

Test notes: 设计文档更新,无代码变更


Risk & Rollback

  • Potential risks: 无
  • Rollback plan: 回滚到上一版本设计文档

Additional Notes

  • 本方案是 DESIGN2 与 DESIGN3 的合并体加两项增量(rid + 语义外移)
  • 涉及四个角色:bkn-backend / Vega 数据集层 / context-loader / 执行工厂

@kenlee1988 kenlee1988 force-pushed the feature/289-issue branch 2 times, most recently from 0813cb7 to d22d988 Compare May 14, 2026 05:47
@kenlee1988 kenlee1988 changed the title Feature/289 issue feat: BKN 外部资源支持方案四 - DESIGN4 设计文档更新 May 14, 2026
@kenlee1988 kenlee1988 force-pushed the feature/289-issue branch from 3e9f23b to f6f288a Compare May 14, 2026 07:21
“Ken.li” added 11 commits May 14, 2026 18:31
更新 DESIGN4.md 文档状态为已采纳,添加版本变更历史
补充术语表、落地前置条件和开放决策项章节
更新参考文档链接
1. 新增rid.go定义RID资源类型常量与校验工具
2. 在逻辑属性类型中添加rid类型并更新合法类型校验
3. 为rid类型属性添加kind和field字段的必填校验
4. 新增单元测试覆盖rid逻辑属性的校验场景
将原本支持的skill、tool、operator、agent四种rid kind缩减为仅支持skill,同时更新了对应的错误提示信息和测试用例
1.  将条件模块中所有的ViewField类型重命名为FieldCfg并统一替换
2.  修复条件处理中字段引用的错误,将NameField改为FieldCfg
3.  为对象类添加过滤条件支持,新增数据库字段和接口定义
4.  新增对象类过滤条件的合法性校验逻辑
5.  完善对象类型增删改查中过滤条件的序列化和反序列化处理
新增scope_binding类型的关联关系支持,包括:
1. 定义scope_binding相关的结构体和常量
2. 实现该类型关联关系的反序列化逻辑
3. 添加对应的参数校验逻辑
1.  新增scope_binding相关常量定义,扩展合法RID类型
2.  优化对象类逻辑属性校验,增加field字段存在性检查
3.  实现scope_binding关系类的校验逻辑,包括源对象、目标规则校验
4.  统一归一化scope_binding关系类的顶层源/目标对象类型ID
5.  补充完整的单元测试覆盖各类校验场景
6.  更新设计文档说明scope_binding的语义约束
1.  更新BatchIDIndex结构,新增RiskTypeIDs字段与对应处理逻辑
2.  重构scope_binding关系类的顶层字段处理,将source字段归一化为mapping_rules中的配置
3.  扩展scope_binding校验逻辑,支持风险类型、动作类等更多目标类型校验
4.  更新相关测试用例与设计文档
将多处旧的logger.Errorf、o11y.Error和span设置错误状态的代码,统一替换为otellog.LogError来简化错误处理逻辑,统一观测日志上报方式。
针对DM8数据库不支持在带聚集主键的表上新增LOB类型字段的问题,重建t_object_type表并迁移数据,同时统一MariaDB和DM8的字段定义。
1. 在对象类型插入数据集数据时序列化condition为JSON字符串
2. 重构scope_binding映射规则校验,新增strictMode参数控制校验严格程度
@kenlee1988 kenlee1988 force-pushed the feature/289-issue branch from 144a19b to 22899e8 Compare May 14, 2026 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant