lili 30a693e1b7 feat(market): U-materialize 安装侧物化(D0-fork 第二单元、kb_id 去污染)
D0-fork 第二单元:knowledge 绑定路径把"只写引用绑定"升级为建本地 installed_ref KB 实体+binding 指向公开副本 dataset。新增 MarketAssetSourceApi 跨 BC 读端口(market-api+server、读出 发布者kbId/publicForkDatasetId/forkStatus、从 market_asset 自有 source_id+tags JSONB、与 ForkApi 写职责分离);knowledge 经 -api 不读 market .dal。

MuseKnowledgeBindingService:precheck 跨 BC 读市场资产+公开副本(存在/knowledge_base 类型/forkStatus=ready 校验、固化进 precheck 快照)、bind 建 installed_ref KB(kb_type/source_market_asset_id/license_snapshot_id 数值主键 D8/owner/active)+指副本 ragflow_binding 同 @Transactional 原子。kb_id 去污染:market_kb 不再 parseLong(sourceId)当 kbId(那是 assetId)、改本地新建 installed_ref kbId、binding/projection/installed 列表读回全跟随(消除检索 no_dataset 根因)。D6 fail-closed:仅 forkStatus=ready 放行、pending/partial/failed 拒、0 写。幂等(安装者,资产)维度复用。多安装者共享同一 publicForkDatasetId、kb_id 各异不撞 uk。

单测 26 绿(BindingService 16+InstalledService 8+RoundTrip 2)、BcBoundaryArchTest 2/2、编译 BUILD SUCCESS。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 11:26:57 -07:00
2026-06-19 04:26:32 -07:00
Description
No description provided
36 MiB
Languages
Java 64.8%
TypeScript 17.2%
Vue 13.8%
HTML 1.5%
JavaScript 1.2%
Other 1.3%