host
4fa94edd9b
feat(chv): 架构/可维护性/前端只读侧推进——生产实验分离、配置片段化、VM 只读展示
架构:WarmPool 从 cloud/chv/pool.py 移到 experimental_pool.py,
生产残留清理彻底分文件到 cloud/chv/orphans.py(facade 直接读
registry 文件清理,不构造池、不碰 prewarm/acquire/release);
cloud/chv 与 cloud/sandbox 不再导出 WarmPool,旧路径一律
ImportError(CHV 未合并、无生产用户,兼容保留已无保留理由);
worker 改走 orphans facade,不再持有 _warm_pool;#215 对齐从
接口形状推进到 REPLACEMENT_POINTS 替换清单(R1/R2 可机械替换、
R3 永不替换,#215 模块当前不存在由测试钉住)。
可维护性:build_chv_config 拆成 base/ssh/network/quota/disk/
timeout 六片段(组装只做 dict 合并,键冲突即报错;38 字段集
与取值不变,单项非法报错文案逐字一致);ADR-12 模块职责图
与禁 import 清单(AST 钉住);cloud/chv/ 公开 API 全量类型
标注、无 Any 逃逸,并修正三处旧标注错误;死代码扫一遍
(删实验池已无调用的 _quarantine 委托与未用 _LOGGER)。
前端(只读侧,不做控制按钮):chv.ts 新增纯逻辑谓词与文案
(执行器精确匹配、附件守卫、VM 状态文案、列表徽标);列表
行新增 VM 已报告死亡徽标;详情对全部 CHV 任务显示 VM 行
(已报告死亡/未报告死亡,不猜 live);WorkersSection 与成本
卡沿用已有数据,不新开池管理/成本页;服务端未新增第二个
生命周期字段(持久化事实只有三项,chv_vm_dead 已是完整派生),
只把派生抽成 _chv_vm_dead_from_row 并补 goal 回落形态测试。
2026-11-08 09:44:34 +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-26 16:27:42 +08:00
2026-10-26 16:47:55 +08: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: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:34 +00:00
2026-11-08 09:44:34 +00:00
2026-11-08 09:44:34 +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-10-26 03:23:06 +08:00
2026-10-26 01:32:57 +08:00
2026-11-04 18:01:44 +00:00
2026-10-26 10:26:21 +08: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-10-27 10:56:08 +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-26 08:39:57 +08: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-10-26 01:23:21 +08: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-10-26 16:27:42 +08:00
2026-10-26 16:27:42 +08:00
2026-11-04 20:54:04 +00:00
2026-11-04 20:53:46 +00:00
2026-10-26 07:42:14 +08: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-10-27 14:12:28 +08:00
2026-10-27 14:12:28 +08: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-10-26 03:23:06 +08:00
2026-10-26 16:47:55 +08:00
2026-10-26 15:20:02 +08:00
2026-11-04 20:54:04 +00:00
2026-10-27 19:10:49 +00:00
2026-10-26 17:01:47 +08: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-10-27 05:40:30 +08:00
2026-10-27 01:44:53 +08: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-10-26 23:17:25 +08: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-10-26 16:47:55 +08:00
2026-10-26 06:46:20 +08: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-10-27 04:30:43 +08:00
2026-11-06 05:24:20 +00:00
2026-10-27 04:40:11 +08: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-10-26 06:46:20 +08:00
2026-10-27 14:12:28 +08: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