验证日期:2026-08-09(Asia/Shanghai)
当前结论为 ENGINEERING_COMPLETE_ENTERPRISE_EDGE_UAT_BLOCKED。本证据证明本地工程契约和受影响代码的定向测试,不证明生产就绪,不替代企业验收。未执行仓库全量回归;未连接真实企业来源;未使用企业 CA、企业网络区或企业代理;未取得网络/安全/法务签字。
外部输入状态:
| 输入 | 状态 | 未完成证据 |
|---|---|---|
| enterprise_source_1 | TBD_EXTERNAL |
未提供批准来源、版本、规模、只读账号和样本 |
| enterprise_source_2 | TBD_EXTERNAL |
未提供批准来源、版本、规模、只读账号和样本 |
| network | TBD_EXTERNAL |
未提供企业网络区、exact egress、代理、DNS、CA/CRL 和抓包审批 |
| security_legal | TBD_EXTERNAL |
未完成数据分级/保留、数据不出域和证书/发布流程签字 |
所有批次均设置 PYTHONDONTWRITEBYTECODE=1 和 PYTHONPATH=.,只覆盖 P3-WP04 和直接受影响的 Runner/权限/OpenAPI 契约。
TEST_DATABASE_URL=postgresql://dataops:***@127.0.0.1:15432/dataops \
pytest -q tests/test_phase3_wp04_edge_gateway.py \
tests/security/test_phase3_wp04_data_boundary.py \
tests/integration/test_phase3_wp04_edge_gateway_postgres.py \
tests/integration/test_phase3_wp04_edge_agent.py \
tests/integration/test_phase3_wp04_nginx_mtls.py \
tests/test_phase3_wp04_production_runtime.py
结果:241 passed in 14.42s。数据库 URL 在证据中脱敏;实际目标是本地 Docker PostgreSQL 127.0.0.1:15432/dataops。
pytest -q tests/runner/test_api.py tests/runner/test_replay_store.py \
tests/runner/test_task_tokens.py tests/runner/test_bootstrap.py \
tests/test_permission_matrix.py
结果:29 passed in 1.25s。其中 Runner 19 项、权限矩阵 10 项;与批次 A 合计 270 项。Task4 规格整改后再次合并执行批次 A、Runner 和权限矩阵,结果为 270 passed in 15.20s,作为本轮最终 WP04 受影响工程基线;未执行仓库全量回归。
pytest -q tests/test_phase3_wp04_delivery_contract.py
RED:首次执行 7 failed,原因分别为 admin CLI、edge Compose、OpenAPI edge schemas、证据/运行手册尚不存在以及生成文件不一致。规格复核补充信任链要求后,新测试批次为 9 failed, 2 passed,准确暴露了 rollback 未绑定受控 bundle、runtime UID/GID/key 路径、签名撤销 envelope、OpenAPI mTLS/schema 和发布归档缺口。增加 tmpfs UID/GID 复用、过期/伪签名撤销和归档链接检查时,RED 为 10 passed, 1 failed,唯一失败是 tmpfs 仍硬编码 UID/GID;最终审计又用一个有效重签但 status 改变的同 release-id manifest 发现 replay digest 过窄,定向 RED 为 1 failed, 10 deselected,随后改为完整 manifest digest 绑定。第二轮复核用已有 history 加异内容 stale intent 得到 1 failed, 10 deselected,暴露 history 快速返回前未核验/清理 intent,随后补上严格等值验证、unlink 和 state 目录 fsync。
质量复核继续增加宽根拒绝、跨进程 fcntl lock、same-fd copy/hash、hardlink/竞态拒绝、正式三段版本、失败临时 bundle 清理、runtime parent owner 继承、真实 Edge 镜像、闭合 config schema、读者命令和归档摘要闭包。CLI 安全组先得到 8 passed, 11 deselected,release/rollback 安全组得到 9 passed, 10 deselected;控制面版本策略在 RED 中发现 6 个过宽版本全部被接受,修复后 6 passed。
最终交付契约与真实 Edge 运行时合跑:33 passed in 17.12s。已覆盖 init/CSR 的 runtime owner 与 0600/0700、真实容器 UID 读取只读 secrets/client.key、证书有效期/clientAuth/key-CSR-cert/CA/CRL 注册校验、固定注册材料 exact replay/conflict、幂等 pending 轮换、canonical Ed25519 撤销状态的过期/跨网关/伪签名拒绝与本地终态、发布受控 bundle、完整 manifest 重验签、同 release-id 任何完整 manifest 变化拒绝、artifact 验后篡改、错误 current/target、history 与 matching/mismatched stale intent、unlink/directory-fsync 故障恢复及下一次合法回滚、路径/符号链接/hardlink/宽根策略、正式三段版本和失败临时目录清理;同时覆盖 pull-only Compose、可构建发布归档、OpenAPI human bearer 与 machine mTLS+credential、大小写敏感键和最大递归深度的可执行 JSON Schema、闭合 edge config schema、可执行读者手册、源/发布 CLI 精确副本,以及归档内 OpenAPI/Failure JSON/SHA256/二进制与文本秘密扫描。
pytest -q tests/integration/test_phase3_wp04_edge_runtime.py
普通受限沙箱首次得到 1 failed, 1 passed,失败只发生在 Docker buildx 写
~/.docker/buildx/activity 时被宿主沙箱拒绝,镜像代码尚未执行。允许 Docker 使用其
本机活动目录后最终结果纳入批次 C 的 33 项:实际构建 Dockerfile.edge,临时本地
CA/server/client/新鲜 server CRL 与 mTLS fake control 完成 heartbeat、reconcile,接收
Ed25519 签名且精确绑定的工程自检任务,经封闭 Runner 形成有界 evidence 事件并取得
exact ACK;在线替换 CRL 并撤销当前服务端证书后,下一次连接在不重启容器的情况下
立即失败并进入 degraded。无入站 port、日志/health 无 credential,SIGTERM 干净退出;
另验证 CRL_CHECK_LEAF 与 stale CRL fail-stop。
未连接真实企业来源、企业 CA 或企业网络。
33 passed in 17.12s;OpenAPI schema/安全组合定向已包含其中;生成器生成 444 operations 且与 docs/architecture/OPENAPI.yaml byte parity。11 passed, 1 deselected in 1.99s;未选择项是会比较被 Git 忽略的既有 __pycache__ 字节码的全目录测试,WP04 源码 parity 已用排除 __pycache__ 的递归比较独立通过。229 passed in 5.30s;真实 PostgreSQL 控制面批次:36 passed in 8.32s;与 delivery/runtime 33 项合计 298 passed。未执行仓库全量回归。compileall:使用 /private/tmp/dataops-wp04-pyc cache 前缀通过;没有向源码目录新增字节码。edge.env.example、显式 runtime UID/GID 和 exact HTTPS origin 后,docker compose config --quiet 通过;真实 nginx:alpine 容器以配置 UID/GID 读取 CLI 生成的只读 client key 通过;真实 Edge image smoke 见批次 D,但未启动真实企业源。alembic current 返回 20260809_479 (head)。app//deployment/app/ 的 WP04 源文件与 migration 477/478/479 递归 parity 通过(排除运行时 __pycache__)。git diff --check、发布脚本 shell syntax、OpenAPI byte parity、发布归档 SHA-256 closure 和二进制/文本 secret scan 通过。扫描器拒绝 encrypted private key、PKCS#12、二进制载荷和明文 credential,并排除 __pycache__/字节码。测试中的私钥标记仅为拒绝规则夹具,不是秘密材料。20260809_479,验证 migration 升降级、约束、并发、应用/证据 owner/runtime role 隔离和 signing authority 最小权限。不是企业数据库。nginx:alpine 镜像、临时本地 CA/服务端/有效/错误/撤销客户端证书和真实 CRL,实际 TLS handshake 验证无证书、错 CA、伪造 header、有效证书及 revoked 拒绝。不是企业 CA/CRL。quality-evaluation 工程自检任务,经封闭 Runner 形成有界 evidence 事件并取得 exact ACK;其他来源任务仍默认拒绝。使用临时 mTLS 控制面和 server CRL,在线替换 CRL 并撤销当前服务端证书后下一次连接立即失败,证明 TLS 连接池已热重建;断网降级与 SIGTERM 已验证。企业来源 Runner handler 仍未配置,属于 TBD_EXTERNAL,本地 smoke 不把工程自检伪装为已接企业来源。Cache-Control: no-store。docs/runbooks/EDGE_GATEWAY_OPERATIONS.md。docs/phase3/P3_WP04_EDGE_GATEWAY.md。docs/validation/P3_WP04_FAILURE_INJECTION.json。docs/architecture/OPENAPI.yaml,由 scripts/generate_openapi.py 再生。必须在批准企业环境完成:两个真实来源的采集/画像/质量/血缘/受控查询;断网续跑和取消;真实网络抓包和出站网关审计;原始数据未经批准出域事件为 0;企业 CA/CRL 的注册、轮换和撤销;queue 备份恢复与升级/回滚演练;网络负责人和安全法务负责人签字。完成前,本工作包保持 ENGINEERING_COMPLETE_ENTERPRISE_EDGE_UAT_BLOCKED。