Files
xas-test-library/docs/acceptance-native-2026-10-13.md
T

69 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 原环境执行接入验收
核对日期:2026-10-13 23:37(北京时间)。用户已授权开放原测试,包括显示影响并逐次确认的资源/服务操作;本轮验收没有实际启动原 GPU、模型切换或长稳测试。
## 已交付行为
- 正式入口仍为 `http://10.88.118.188:14440/#/scripts`。23 项业务测试中,22 项原位置入口使用登记的原目录、解释器、配置、依赖和参数,复制版轻量检查保持既有容器模式。
- 详情显示只读执行方案、账号、目录、解释器和影响;只开放方案声明的参数及最长 72 小时时限。原入口和相关文件只读,上传脚本继续容器隔离。
- 普通原环境测试预检通过后排队;资源/服务测试必须每次确认。源码、依赖配置、方案或参数变化时旧确认失效。预检只检查路径、工具、摘要和本机 TCP 端口,不发推理、不启动模型、不预留 GPU。
- 独立 systemd 服务运行原入口,页面接收标准输出、错误、登记的文件日志和归档结果。菜单支持数字选项/列表、y/n/q、回车,关闭回显,不保存输入历史。
- worker 重启后继续跟踪同一次原环境任务;取消和超时等待本次本机进程收尾。Docker/tmux 分离任务和模型恢复需根据日志及资源变化核对,控制台不自动删除他人资源。
## 验证证据
| 验证层级 | 本轮结果 |
|---|---|
| Linux 自动回归 | 55/55 通过,包含参数/来源限制、确认失效、取消竞态、状态未知保留占位、凭据跨块/ANSI 脱敏、控制终端、300 个旧日志不遮蔽新日志 |
| 真实 systemd 短进程 | 6/6 通过:成功、失败、超时、取消、交互、worker 重关联;仅独立样例,不调用模型/GPU |
| 配置迁移 | 生产库隔离副本迁移 22 项、再次迁移幂等、逐条恢复后内容完全一致;runs/versions 不变 |
| 已部署 API | 22 项原环境预检可调用;23 项业务目录、10 条旧运行、0 活动任务,worker 在线 |
| 真实浏览器 | 1440px/390px 方案显示、72 小时上限、只读目录、逐次确认/取消、缺失端口拦截、返回及历史记录通过;无 JS 错误、无横向溢出、运行提交 0 次 |
| 原项目保护 | 307 个原脚本 SHA-256 与升级前一致,10 条 runs 完整摘要一致;原模型容器 ID/StartedAt 不变、RestartCount=0 |
测试依赖产生既有 Starlette/httpx 弃用提示,不影响通过结果;本轮未升级依赖。
最终短进程证据在服务器 `runtime/native-final-validation-20261013/acceptance.json`,隔离于生产运行记录:
| 场景 | 运行编号 | 结果 |
|---|---|---|
| 正常退出 | eae879ee835c4b99948b48fdbeaa28da | succeeded / 0 |
| 非零退出 | 6abb4c53215f4dcfa221aee43b4c4e0d | failed / 7 |
| 时限到期 | e6e5142ccb7c411d9d6cfb34d21fb298 | timed_out / -15 |
| 主动取消 | f5413e5e37144eb0bbfaf2651768273c | cancelled / -15 |
| 菜单与控制终端 | f3dd72ef551e4f6c933a0e4af2f0d4fd | succeeded / 0 |
| 同一服务重新跟踪 | bdb9fe7cd24a457aa79c2e7732778964 | succeeded / 0,未重放 |
已核验超时/取消子进程消失、假凭据不出现在平台日志及归档、菜单输入不回显、实际命令无运行编号占位、原样例文件摘要不变。完整模型业务的指标、质量及长稳效果仍未验收,页面保留提示。
## 原模型服务条件
23:27 的只读预检,22 项中 16 项满足登记条件;以下 6 项的原服务未监听,自动拦截。此快照不是永久可用性保证,真正点击运行时重新预检。
| 方案编号 | 缺失原端口 |
|---|---|
| deepseek-suite | 18101 |
| throughput | 18106 |
| replicas | 18110–18117 |
| engine-comparison | 18106 |
| model-suite | 18106 |
| soak | 18106 |
这些入口已完成方案接入;准备好对应原服务后才能执行。未改为调用其他端口,也未擅自补启动命令。
## 发布与恢复
最终网页镜像 `adamwen/script-console:20261013-5`,摘要 `sha256:05ad7a7a332a1e26eaeebff790e53c16318e547d3ad936e67aee6ff11acd1710`。仅更新本项目网页和空闲 worker,访问网段、无账号安排、模型服务与 GPU 分配未改变。原环境宿主代码与网页方案来自当前同一项目目录;每次运行记录源码和计划摘要,Git 不参与运行时拉取。
升级前备份为 `runtime/backups/before-native-20261013/`,含旧源码、SQLite、原文件摘要与服务状态。配置迁移清单 `native-config-migration.json` 记录 22 项 before/after;数据库仍 schema v1。旧网页停止保留为 `adamwen-script-console-before-native-20261013`,首次接入镜像也保留为 `adamwen-script-console-native-initial-20261013`。
回退须停止接单、确认无活动 native unit 和排队/运行任务,再停 worker;使用迁移工具逐条恢复旧配置,核对并恢复匹配的旧 worker 源码,恢复旧网页后启动 worker。配置已发生后续变化时工具拒绝覆盖。保留新运行记录及所有结果,不能直接用旧 SQLite 覆盖。配置恢复已在隔离副本验证,生产故障回退未触发。
服务器证据:`runtime/native-deployment-acceptance.json`、`runtime/native-release-precheck.json`。本地浏览器证据:`.local/evidence/native-browser.json`、`.local/screenshots/native-*.png`。早期部署记录保留各自时点,不代表当前状态。
## 变更范围
核心新增 `console/native_{plans,io,rpc,files,job,executor}.py`、`console/static/native-ui.js`、`catalog/native-profiles.json`、`deploy/native_profiles.py`、3 个原环境测试文件及 ADR 0004。配套修改 API、目录描述、存储、worker、日志归档、运行/详情页面、部署镜像和维护文档。新手写文件均小于 500 行。
未暂存、提交、打标签或推送 Git。当前仓库尚无提交,所有实现继续留待用户审阅;运行数据、凭据和本机辅助证据不进入 Git。