data-research-v60-v65-acceptance.md 5.9 KB

数据研发 V60-V65 验收报告

日期:2026-07-22(2026-07-23 补充本体工作台完整链路验收)

1. 验收结论

V60-V65 全部完成:多源采集、证据治理、数据元素生命周期、本体 MVP、动态本体、交换/知识/MCP 服务、运营对账、Vue 2 完整工作流及发布副本均已交付。本地 Docker 隔离栈已启动,真实 PostgreSQL/MySQL、Neo4j、MinIO、Kestra、n8n、Runner、后端和前端集成验收通过。

2. 阶段交付

阶段 核心交付 阶段提交
V60 采集控制面、任务状态机、权限、API/OpenAPI 3b004fa
V61 SQL/CSV/Excel、目录采集、数据元素与候选决策 6bcd697
V62 DOCX/PDF、OCR、统一文件策略、MinIO/证据 cf464b2
V63 本体控制面、校验、发布/回滚、Vue 本体中心 b804f9e
V64 动态建议、变更集、JSON/OWL、知识/MCP/语义查询 d32b4ce
V65 运营对账、数据研发中心、发布同步、综合验收 本阶段最终提交

3. 最终测试矩阵

验收命令 结果
PYTHONPATH=. .venv/bin/pytest -q tests/data_research tests/test_permission_matrix.py 87 passed
PYTHONPATH=. .venv/bin/pytest -q 380 passed, 25 skipped, 59 subtests passed
Docker 真实服务集成矩阵(含数据源故障恢复、Runner、Kestra、n8n、MCP、RBAC、迁移) 64 passed
数据研发容器 HTTP 端到端(CSV/MinIO/任务/双业务域本体/Outbox) 1 passed
启用全部本地集成开关后的全仓回归 397 passed, 59 subtests passed
PATH=<bundled-node-24>:$PATH npm --prefix frontend run build 构建成功;0 error,21 条既有 no-console 警告,另有依赖年龄/CSS 顺序/包体积警告
.venv/bin/python scripts/generate_openapi.py --output docs/architecture/OPENAPI.yaml 142 个操作
PYTHONPATH=. .venv/bin/pytest -q tests/test_architecture_artifacts.py 通过
diff -qr app deployment/app 无差异
git diff --check 通过

验收期间全量测试曾捕获任务令牌尾字符的非规范 Base64URL 别名问题;验证器现强制 JWT 三段采用规范编码,专项测试与全量回归均已通过。Docker 集成进一步捕获并修复了后端/Runner 并发 Alembic 迁移竞争,以及本体主记录与业务域关联记录的写入顺序问题;两项均已增加回归测试。

4. 安全与治理断言

  • OCR 未配置时失败关闭,HTTP 提供方必须 HTTPS、TLS 校验、超时和响应大小限制。
  • 上传文件同时校验扩展名、MIME、文件头、大小/页数;旧 DOC 要求转换为 DOCX。
  • 证据预览脱敏,原件下载要求 evidence:download
  • 候选项不能直接发布;数据元素和本体发布分别要求独立发布权限。
  • 发布版本不可变;回滚创建新版本;Neo4j/知识文档通过 Outbox/对账修复,不覆盖 PostgreSQL 历史。
  • AI 建议必须携带证据、置信度、模型/提示版本;未决建议不进入草稿或发布。
  • 语义查询使用固定深度与固定 Cypher,只返回已发布、业务域范围内的白名单字段。

5. Docker 集成范围

已验证:

  • Alembic 在临时 PostgreSQL 数据库中的升级、重复升级、降级,以及两个进程并发升级互斥。
  • PostgreSQL/MySQL 外部数据源并发连接池、凭据轮换、MySQL 停机隔离和恢复。
  • Runner 真实读取两类受治理数据源、任务令牌防重放、Kestra 到 Runner 调用链。
  • Kestra 流程验证/部署、官方 MCP stdio、DataOps MCP 持久化与 V53 L3 链路。
  • n8n 临时流程创建、Kestra 切换失败恢复、成功切换与显式回滚;既有 API Key 仅在测试进程内读取,未显示或落盘。
  • 数据研发 CSV 上传到 MinIO、哈希复用、采集任务幂等/取消、双业务域本体创建/校验/发布/导出及 Outbox 事件。
  • RBAC、V54 离线模型降级、跨存储 Outbox 失败重试和幂等消费。

本轮本地 Docker 集成矩阵无跳过项。Docker 测试环境保持运行,供后续浏览器验收或继续开发使用。

6. 本体工作台完整链路补充验收

2026-07-23 在 http://localhost:18183 完成本体中心与工作台补充验收:

  • 本体中心支持主责域、协作域建模并进入工作台;viewer 可只读访问,editor 可编辑,admin 可发布和回滚。
  • 工作台支持概念、属性、关系、约束、业务域和数据元素映射六类对象的结构化增删改,并保留高级 JSON 入口。
  • 详情、图谱、版本列表和 ETag 修订读取完整;保存草稿后数据库内容与页面修订号一致。
  • 校验问题以可读结果返回,不再因 422 被前端拦截;补齐主责域后校验通过。
  • 版本差异展示新增概念和业务域;发布后版本不可变,回滚从已发布版本创建新草稿。
  • 动态建议展示来源、证据和置信度,支持接受、拒绝、编辑后接受及评审意见;接受结果需再次保存草稿。
  • JSON/OWL 导出入口可用;JSON multipart 导入通过真实 Docker API 上传、创建新本体并读取新图谱验证,页面导入弹窗和同路由 UID 切换刷新逻辑已验证。
  • 浏览器实际捕获并修复请求封装缺少 patchIf-Match 覆盖 Content-Type 两个运行时问题;修复后页面保存、数据库图谱、校验和版本记录一致,浏览器控制台无 error/warning。

补充验证证据:

验收项 结果
前端本体模型 Node 测试 5 passed
前端生产构建 成功;0 error,保留 21 条既有 no-console 警告及既有依赖/CSS/包体积提示
Docker 数据研发 HTTP 集成 1 passed,覆盖详情、图谱、版本、ETag、校验、发布、导出和 multipart 导入
浏览器工作台完整操作 草稿修订推进至 5;保存、校验、发布、差异、回滚、建议评审、导出均通过
Docker 服务状态 backend、frontend、PostgreSQL、Neo4j、MinIO 等验收服务 healthy