背景
ANOLISA 的部分业务路径仍直接访问 systemctl、进程、Unix socket、时钟、UID 和环境探针。测试因此可能依赖宿主机状态,外部失败也可能先被压缩成字符串,再由上层推断 domain state。
目标
为生命周期重构实际触及、且会影响业务分支或测试确定性的系统依赖建立窄的可注入边界。production adapter 负责真实系统调用,测试 adapter 返回完整的成功或失败证据。
迁移切片
每个切片使用独立 issue、分支和 PR;仅迁移该切片需要的调用点。
验收标准
- 测试不访问或修改宿主机真实 system service/helper socket。
- spawn、non-zero exit、transport、protocol 和 domain state 使用 typed evidence 区分。
- production branching 不通过 error message 文本推断 domain state。
- CLI、JSON schema 和跨权限协议的兼容性在各切片中显式保留。
非目标
- 不创建通用 service locator。
- 不包装所有 filesystem I/O。
- 不一次性改造仓库内全部外部调用。
背景
ANOLISA 的部分业务路径仍直接访问
systemctl、进程、Unix socket、时钟、UID 和环境探针。测试因此可能依赖宿主机状态,外部失败也可能先被压缩成字符串,再由上层推断 domain state。目标
为生命周期重构实际触及、且会影响业务分支或测试确定性的系统依赖建立窄的可注入边界。production adapter 负责真实系统调用,测试 adapter 返回完整的成功或失败证据。
迁移切片
每个切片使用独立 issue、分支和 PR;仅迁移该切片需要的调用点。
验收标准
非目标