Files
knowledge-governance/docs/ACTION_ITEMS_12_TO_END_ACCEPTANCE.md
T
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

5.3 KiB
Raw Blame History

工程实施行动清单:第12项至结束验收

范围

本轮从“来源与目录”的第8项(全局第12项:来源快照差异 ChangeSet)继续到清单结束。来源与目录现有浏览和标注界面保持不变;解析监控、发布管理、系统设置继续完善。生产发布请求与 Release Worker 保持关闭,本验收不代表生产上线。

第12项:来源快照 ChangeSet

  • Migration 15 新增 source_catalog_change_sets 与 source_catalog_change_items。
  • 每次快照激活前持久计算 add / update / move_scope / delete / no_change。
  • Migration 16 为现有7个来源回填最新快照差异。
  • 提供只读安全 API:GET /api/v1/source-catalog/change-sets/latest。
  • 解析监控页展示各来源最新持久 ChangeSet 和变更文件预览,不返回 locator hash、snapshot hash 或凭据。
  • 真实读回:国内工业新增80、更新3、删除18、未变化4859。

第13–22项:解析链路与监控

已验证:

  • Spool 文件上传前计算并校验完整 SHA-256、字节数和格式;流式上传后再次校验。
  • source_items 与 source_item_versions 分离文件身份和版本;content_objects.sha256 全局唯一。
  • 标注只创建计划;processing_confirmations 人工确认后才创建 test.upload Job。
  • target_scope 明确对内/对外;禁止导入进入 test.remove 并读回确认。
  • Publication、Job、轮询序列和人工重试均有幂等键或唯一约束。
  • Worker 支持租约、心跳、退避重试、最大尝试次数和失败终态;页面支持单个/批量重试。
  • WeKnora 上传、轮询、最终 completed、Knowledge/Chunk 验收已经接通;当前测试编排开关为启用状态。
  • 解析监控已切换为真实 Provider:主机 CPU、内存、磁盘和可见 GPU;PostgreSQL、任务队列与 WeKnora 健康探测;未配置的 MinerU、OSS、Redis/消息队列明确显示未配置/未部署,不再模拟正常。

第23–28项:发布管理

已验证:

  • GET /api/v1/release-plan 根据来源最终策略、测试终态和最近生产状态生成 add/update/delete/blocked/unchanged。
  • 发布前 bundle 保存完整 manifest、三通道摘要和 SHA-256;生产恢复验证未通过时授权门禁阻断。
  • Migration 17 新增 batch_size/current_batch/total_batches;发布默认每50项一批并持久显示批次进度。
  • 一项永久失败后,当前项之后和后续批次停止;未执行项记录 release_stopped_after_failure。
  • 已成功项才进入自动回滚范围;回滚结果区分 restored/rolled_back/failed。
  • PostgreSQL、Elasticsearch、对象存储完成后均读回验证;不以 HTTP 200 代替一致性验收。
  • 发布计划、审核、封批、执行历史、逐项结果和固定错误码均可从页面查看。
  • 修复发布计划安全投影省略空 publication_id/blocker 导致前端拒绝整个计划的问题。

第29项:系统设置

  • 来源列表从真实来源配置动态生成,不写死具体来源名称。
  • Test/Production WeKnora、OSS/备份、刷新与告警参数分区显示。
  • AList 显示直连 API Token;密钥值不回传、不写任务载荷、不进入页面。
  • 页面仅允许修改低风险刷新/告警参数;端点、凭据、生产开关继续由管理员受限配置管理。
  • 系统设置使用真实服务健康结果,不再混用解析监控模拟数据。

第30项:本地故障演练

通过的自动化场景:

  • 目录标注重复确认不会重复创建上传任务。
  • SHA/大小/格式不一致时上传前失败;流式过程中文件改变时失败。
  • 上传完成后进入轮询;WeKnora completed 后创建验收任务,不继续无效轮询。
  • 禁止导入调用测试删除并读回确认。
  • Worker 失败按固定延迟重试,达到最大次数进入失败终态。
  • 105项发布计划分成3批(50/50/5)。
  • 永久失败立即停止后续项目和批次,并只为已验证项目创建一次自动回滚。
  • Migration 17→16→17 往返和 Migration 11 历史范围回填均在独立临时数据库通过。
  • 解析监控、发布管理、系统设置在 1440/1024/768 三种宽度无页面级横向溢出。

当前真实运行状态

  • schema migration:17。
  • Monitor:mode=real、simulated=false。
  • PostgreSQL、任务队列、WeKnora API:真实健康。
  • Test Publications:537条,均处于 completed。
  • Release Plan:新增4、阻断614。
  • Production release executions:0。
  • PRODUCTION_RELEASE_REQUESTS_ENABLED=false。
  • RELEASE_WORKER_ENABLED=false,进程确认未加载生产凭据。

验证命令结果

  • Go:go test ./... && go vet ./... && go build ./cmd/... 通过。
  • Web:22个测试文件、90项测试通过;TypeScript检查和生产构建通过。
  • PostgreSQL:ChangeSet、标注/确认幂等、发布授权/自动回滚、Migration往返均在一次性临时数据库通过。
  • Browser:三个剩余页面真实内容加载成功,响应式检查通过。

仍需生产负责人单独确认的外部验收

生产发布和真实生产回滚没有执行,也不应由本轮开发授权隐含开启。上线前仍需生产负责人提供独立授权,并完成:生产三通道备份恢复验证、代表性小批发布、故障注入和真实回滚读回。当前页面与后端会在该门禁未满足时持续阻断生产操作。