host
2e789c0d48
feat-chv-closeup:收尾(executor 覆盖到 100%、合并/灰度准备,堆叠于 #264)
- 后端新增 cloud/tests/test_chv_closeup.py 85 项:唤醒失败
(vm.create/vm.boot/API 超时/guest 就绪超时/host key 不匹配/
provisioned 缺钉死)、恢复与快照失败、取消与清理(残留
socket/登记/磁盘/密钥、脏标记)、中途死亡分类、只读
execute 归类、入口校验、preflight 事后改写、防御性
except、worker_adapter 剩余分支;executor.py 覆盖 100%。
- 前端新增 src/api/chv.closeup.test.ts 13 项:显式 false、
undefined、可用性优先级、Workers 旧 bug 文案不复发、
120 秒边界;控制按钮与新页面仍不做。
- 新增 tools/chv_merge_precheck.py(只读):逐个核 base/head/
mergeable/CI/链衔接,实测 11 个 PR 全 NOT-READY(CI 全
FAIL、mergeState 全 UNSTABLE),退出码 1,绝不合并。
- docs/chv-production-readiness.md 新增 §14:审计落盘运维
runbook(定位/轮转/读取/清理,ADR-14 取舍不变)、mypy
默认口径 2 错评估(沙箱验证过的标注修法,本轨不改
其它链文件)、灰度三阶段可执行清单、V-1~V-9 检查表
(全部未验证)、逐项评分。
- 安全语义不变:egress、key seed 投递、磁盘删除、默认
provisioned、tap 校验、前端不绕后端白名单均未放宽。
- 只到 PR OPEN,不合并、不部署;CI 账单仍是硬门禁。
2026-11-08 09:44:59 +00:00
..
2026-11-04 18:02:22 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 18:01:44 +00:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-11-04 20:55:49 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 21:23:25 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 18:02:10 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 18:02:22 +00:00
2026-11-04 21:38:42 +00:00
2026-11-04 18:02:23 +00:00
2026-11-04 21:38:42 +00:00
2026-11-04 18:02:23 +00:00
2026-11-04 21:38:42 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 21:23:25 +00:00
2026-11-04 18:02:22 +00:00
2026-11-05 02:54:22 +08:00
2026-11-04 21:03:33 +00:00
2026-11-04 18:02:23 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:02:23 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 20:55:49 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-10-28 12:12:10 +08:00
2026-11-04 20:56:06 +00:00
2026-10-27 15:53:50 +08:00
2026-11-04 20:54:04 +00:00
2026-10-29 00:19:30 +08:00
2026-10-27 16:27:50 +00:00
2026-10-27 15:53:50 +08:00
2026-10-29 07:01:57 +08:00
2026-11-04 20:54:04 +00:00
2026-10-29 05:27:22 +08:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:59 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:59 +00:00
2026-11-04 20:54:04 +00:00
2026-11-08 09:44:34 +00:00
2026-11-04 21:03:54 +00:00
2026-11-01 08:16:48 +00:00
2026-11-06 19:03:35 +00:00
2026-11-06 19:03:35 +00:00
2026-10-30 01:32:35 +08:00
2026-10-28 08:57:05 +00:00
2026-11-07 19:43:03 +00:00
2026-10-30 05:11:06 +08:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 18:02:20 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:04:06 +00:00
2026-11-04 21:04:06 +00:00
2026-11-04 21:04:06 +00:00
2026-11-04 21:04:06 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 21:04:06 +00:00
2026-10-30 02:53:46 +08:00
2026-10-27 16:27:50 +00:00
2026-11-05 02:45:09 +00:00
2026-10-29 06:32:38 +08:00
2026-10-29 16:45:07 +08:00
2026-11-06 19:03:35 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-10-28 03:43:02 +08:00
2026-11-04 20:53:46 +00:00
2026-10-30 04:05:00 +08:00
2026-11-01 09:06:28 +00:00
2026-10-30 01:32:35 +08:00
2026-11-04 20:58:34 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:36:18 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 20:54:04 +00:00
2026-11-07 20:51:23 +00:00
2026-10-30 07:15:05 +08:00
2026-10-28 10:13:40 +00:00
2026-10-29 04:40:47 +08:00
2026-11-04 21:03:32 +00:00
2026-10-30 14:46:11 +08:00
2026-10-27 19:10:49 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 20:55:49 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 12:58:41 +08:00
2026-11-04 18:01:44 +00:00
2026-10-27 15:35:23 +00:00
2026-10-29 16:45:07 +08:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:53:46 +00:00
2026-10-27 15:35:23 +00:00
2026-10-29 15:31:07 +08:00
2026-11-04 21:03:03 +00:00
2026-10-29 12:42:19 +08:00
2026-10-29 06:32:38 +08:00
2026-11-07 20:51:23 +00:00
2026-11-08 05:49:52 +00:00
2026-11-01 09:06:28 +00:00
2026-11-01 09:06:28 +00:00
2026-11-04 17:30:07 +01:00
2026-11-01 09:06:28 +00:00
2026-11-01 08:34:13 +00:00
2026-11-08 05:49:52 +00:00
2026-11-04 20:54:04 +00:00
2026-10-27 19:10:49 +00:00
2026-10-29 17:46:12 +08:00
2026-10-30 04:15:54 +08:00
2026-10-28 10:12:57 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 04:18:09 +08:00
2026-10-30 05:11:06 +08:00
2026-10-30 05:11:06 +08:00
2026-10-27 19:10:49 +00:00
2026-10-28 11:09:29 +08:00
2026-11-04 20:54:50 +00:00
2026-11-04 20:56:06 +00:00
2026-11-04 21:03:32 +00:00
2026-11-02 03:30:57 +00:00
2026-11-01 19:01:39 +00:00
2026-11-02 03:30:57 +00:00
2026-11-02 03:30:57 +00:00
2026-10-27 15:53:50 +08:00
2026-10-27 15:53:50 +08:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 18:02:21 +00:00
2026-11-04 18:01:44 +00:00
2026-11-04 21:03:54 +00:00
2026-10-29 05:41:35 +08:00
2026-11-04 20:54:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 17:11:23 +01:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:32 +00:00
2026-10-27 15:35:23 +00:00
2026-11-04 20:54:04 +00:00
2026-10-29 23:16:01 +08:00
2026-10-30 14:46:11 +08:00
2026-10-27 15:35:23 +00:00
2026-10-30 07:15:05 +08:00
2026-10-30 07:08:51 +00:00
2026-11-07 20:51:23 +00:00
2026-11-04 20:54:50 +00:00
2026-11-07 19:43:03 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:33 +00:00
2026-11-04 20:53:46 +00:00
2026-11-04 21:03:33 +00:00
2026-10-27 16:37:28 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 06:33:25 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 21:03:33 +00:00
2026-11-06 05:24:20 +00:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 05:11:06 +08:00
2026-10-30 02:25:48 +08:00
2026-10-30 00:39:13 +08:00
2026-10-28 11:14:10 +08:00
2026-10-28 11:25:17 +08:00
2026-11-04 20:54:04 +00:00
2026-10-29 06:32:38 +08:00
2026-11-06 22:00:52 +00:00
2026-10-28 04:56:22 +08:00
2026-10-27 16:37:28 +00:00
2026-10-28 05:36:18 +08:00
2026-10-28 06:10:02 +08:00
2026-10-28 04:33:20 +08:00
2026-10-30 05:11:06 +08:00
2026-11-04 18:02:20 +00:00
2026-10-30 14:46:11 +08:00
2026-11-04 21:03:32 +00:00
2026-11-05 02:22:47 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:23:25 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:33 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:32 +00:00
2026-11-04 21:03:54 +00:00
2026-11-04 20:54:04 +00:00
2026-10-30 01:16:49 +08:00
2026-11-01 14:15:54 +00:00
2026-11-04 21:03:54 +00:00
2026-10-30 01:16:49 +08:00
2026-11-04 20:53:46 +00:00
2026-11-04 21:03:54 +00:00
2026-10-28 11:25:17 +08:00
2026-11-04 21:03:32 +00:00
2026-10-30 14:46:11 +08:00
2026-10-30 01:38:01 +08:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:54:04 +00:00