1f0c8be812
模拟发布暴露的第 8 个契约缺陷:PG 通道改写资源行时只替换了外层 storage://<backend-id> 前缀,内层 oss://<bucket>/<key> 照搬源桶。 WeKnora v0.7.1 官方 GetKnowledgeFile 从路径内层桶名直接 GetObject, 导致目标端所有文档预览以生产凭据读源桶失败(403),前端表现为预览空白。 - PostgresImporterConfig 新增 TargetBucket;nested locator 导入时改写 内层桶名为目标桶,location_hash 随改写后的路径重算 - 未配置目标桶时保持旧行为透传,不做猜测 - 4 个单测锁定:桶改写+hash重算、非嵌套 locator 不变、无配置透传、非法桶名拒绝 - 端到端复验:重封 canary 批次重新发布 4/4 verified,目标端资源行 全部指向 dobot-weknora-test,location_hash 与路径逐行比对一致