dcdc8d1ddd
全栈知识治理平台首次入库(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 干净
3.1 KiB
3.1 KiB
P1 独立验收计划
1. 范围
验证独立治理平台基础骨架:PostgreSQL持久队列、API、普通Worker、默认关闭的Release Worker、React状态页,以及Worker异常中断后的租约恢复。
明确不验收:PP/AList/钉钉Connector、测试WeKnora导入、生产WeKnora发布、PG/ES/OSS跨环境复制。
2. 前置条件
- 在
/home/zheromiku/knowledge-governance执行。 - Go 1.26、Node.js 22、npm和Docker Compose可用。
- 不使用生产凭据,不连接测试或生产环境。
secrets/postgres_password和secrets/pgpass使用同一个随机本地密码,权限为600。
3. 自动化检查
make test
make vet
make build
make web-test
make web-typecheck
make web-build
通过标准:全部退出码为0。
4. 启动与健康检查
由操作者执行:
docker compose up --build -d
docker compose ps
curl -fsS http://127.0.0.1:8088/health
通过标准:PostgreSQL和API健康;Web可访问;健康响应为{"status":"ok"}。
5. 幂等入队
连续两次发送完全相同的请求:
for n in 1 2; do
curl -fsS -X POST http://127.0.0.1:8088/api/v1/jobs \
-H 'Content-Type: application/json' \
-d '{"type":"demo","payload":{"round":1},"idempotency_key":"acceptance:idempotent:001"}'
done
通过标准:两次响应中的任务ID相同;列表中该幂等键只有一个任务;任务最终为completed。
6. Worker租约恢复
- 创建60秒本地任务:
curl -fsS -X POST http://127.0.0.1:8088/api/v1/jobs \
-H 'Content-Type: application/json' \
-d '{"type":"demo.sleep","payload":{"sleep_ms":60000},"idempotency_key":"acceptance:lease:001"}'
- 在状态页或列表API确认任务进入
running且attempt=1。 - 强制终止普通Worker:
docker compose kill -s KILL worker
- 重新启动Worker:
docker compose up -d worker
- 等待原租约到期(最多35秒)并持续查询:
curl -fsS 'http://127.0.0.1:8088/api/v1/jobs?limit=50'
通过标准:同一个任务被重新领取,attempt=2;继续等待后进入completed。不得产生第二条同幂等键任务。
7. Release Worker默认关闭
docker compose logs --no-color release-worker
通过标准:日志包含release worker disabled;没有release worker started in probe-only mode;没有任何测试或生产外部连接配置。
8. 状态页
打开http://127.0.0.1:8088/:
- 页面标题为“知识同步治理平台”。
- 显示任务总数、运行中、待重试、失败、已完成。
- 显示最近50条任务及尝试次数。
- 页面明确显示“Release Worker 默认关闭”。
- 桌面端无页面级横向溢出;窄屏仅任务表自身可横向滚动。
9. 停止与保留数据
docker compose down
通过标准:容器停止,governance-pgdata卷保留。未经单独确认不得执行docker compose down -v。
10. 验收记录
记录每一步的时间、退出码、任务ID和最终状态。任何步骤失败时停止扩展,不连接WeKnora或来源系统,以失败证据定位P1本身。