# 数据研发 V60-V65 验收报告 日期:2026-07-22 ## 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/acceptance/test_data_research_v60_v65.py` | `79 passed` | | `PYTHONPATH=. .venv/bin/pytest -q` | `372 passed, 23 skipped, 59 subtests passed` | | Docker 真实服务集成矩阵(含数据源故障恢复、Runner、Kestra、n8n、MCP、RBAC、迁移) | `64 passed` | | 数据研发容器 HTTP 端到端(CSV/MinIO/任务/双业务域本体/Outbox) | `1 passed` | | 启用全部本地集成开关后的全仓回归 | `397 passed, 59 subtests passed` | | `PATH=:$PATH npm --prefix frontend run build` | 构建成功;0 error,21 条既有 `no-console` 警告,另有依赖年龄/CSS 顺序/包体积警告 | | `python scripts/generate_openapi.py --output docs/architecture/OPENAPI.yaml` | 138 个操作 | | `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 测试环境保持运行,供后续浏览器验收或继续开发使用。