Files
zheromiku dcdc8d1ddd feat: 知识治理平台(含已验证发布/回滚契约)
全栈知识治理平台首次入库(P1-P10 + 发布链路模拟验证闭环):

- 治理核心:源目录/变更集/人工审核/发布批次/发布执行(fail-closed 闸口)
- 测试通道:WeKnora 测试 KB 上传/轮询/验收;poll 完成时写入
  parser_generation/index_generation,修复 manual/seed 路径发布闸口永久拦截
- 发布适配器 v071(本地 source=测试角色 / 云端 target=生产角色 模拟验证通过):
  * ES 导出/导入 mapping 自适应(.keyword 子字段、可选 tenant_id)
  * OSS locator 支持嵌套 scheme;chunks.seq_id 由目标序列分配
  * bundle 归档同身份重试原子替换;verifier 按 bundle chunk_type 计数
  * 回滚 job payload 支持 prior_execution_id(strict 解码)
- 三通道发布+回滚演练实测:publish 4/4 verified,检索命中,
  rollback 4/4 rolled_back,目标端 PG is_enabled=false、ES is_enabled=false
- 前端 A·Data-console 风格全站统一,120 用例通过
- 门禁:go vet / go test 全包通过,gofmt 干净
2026-09-30 10:54:06 +08:00

39 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 来源目录批量标注口径(S6 冻结)
本文件冻结“来源与目录”页批量标注(处理策略)的产品口径。后续任何页面、API 或测试改动与本文件冲突时,必须先修改本文件并经主人确认,不能悄悄改变行为。
## 冻结规则
```text
1. 文件和目录均可勾选。
2. 批量选择仅提供“全选当前页”;不提供“递归全选当前目录”。
3. 目录被单独勾选并标注后,策略递归作用于全部后代文件。
4. 顶部批量策略按钮仅提供三个:对内、对外、禁止导入。
5. 历史“对内 + 对外”(both)数据只读展示为“对内 + 对外”,
顶部不提供该批量入口(P3/后续如要开放须先修订本文件)。
6. “未选择/未设置”仅在状态列显示,不生成任何专属批量按钮;
批量按钮只在存在勾选节点时可用。
```
## 语义边界
- “标注”只写治理策略(`directory_scope_rules` / `source_item_scope_overrides`)与审计事件,
不代表已上传、解析或发布。
- 目录标注写入目录级规则并递归生效;文件级覆盖(override)优先于最近的目录规则,
目录规则优先于来源默认可见性。
- “禁止导入”表示从测试知识库移除(retrieval 进入 disabling),
不删除来源文件,也不操作生产知识库。
- 每次用户动作使用一个新的 `Idempotency-Key`;网络重试复用原键(见 OpenAPI C4 契约)。
## 验收口径
1. UI:`catalog-policy-actions` 区域内恰好 3 个策略按钮(对内/对外/禁止导入);
页面不出现“递归全选当前目录”入口;不出现可选择的“对内 + 对外”批量控件。
2. Store 集成:标注一级目录后,其二级目录子项与深层文件的 effective visibility
均递归变为该策略;进入子目录、返回父目录、刷新读回结果一致。
3. 历史 both 行在文件表中仍显示“对内 + 对外”,只读。
对应测试:
- `web/src/SourceCatalogBrowser.test.tsx`
- `internal/platform/postgres/s6_scope_policy_integration_test.go`