Parent: #983
Integration base: dev/issue-983-code-cleanup(不得向 main 提 PR)
Work type: infra · Area: envs · Scope: Small
Owner summary
这次只把 Allegro 与 Sharpa rotation task 的 grasp-cache 路径解析、可选下载和 np.load 固定到 env 初始化冷路径;reset provider 只读取已缓存数组。采样分布、缺失缓存诊断、gen-grasp 行为和 backend contract 不变;永久维护项是两类 env 的“初始化一次、reset 零 I/O”边界测试。
一句话问题
两个 domain-randomization provider 都在首次 reset 才加载缓存,Sharpa 还可能在该路径访问 Hugging Face,违反 reset 热路径禁止 asset/网络 I/O 的规则。
最小交付结果
构造 env 时完成 grasp cache materialization,任意后续 reset 不再解析路径、下载或读文件。
In scope
- Allegro rotation 在 init 冷路径处理 gen-grasp、缺失文件与本地
np.load。
- Sharpa rotation 在 init 冷路径解析所有 scale cache、执行现有 resolver 并加载数组。
- provider 的 reset 采样只读取 env 已缓存值。
- 增加 resolver/
np.load 仅在 init 调用、重复 reset 不触发 I/O 的测试。
Non-goals
- 不改变 grasp 采样、scale 分配、reward、reset state 或 cache 文件格式。
- 不新增下载策略、不改变缺失文件是否报错/降级的现有语义。
- 不处理 grasp generation lifecycle 或裸
print 日志迁移。
Owner 与预计改动
2 个 env 文件及 1-2 个现有测试文件,预计 <180 行净改动,1 PR。
Acceptance criteria
- reset 调用链无
np.load、path resolver 或 Hugging Face resolver。
- 每个 env 构造最多 materialize/load 一次,后续多个 reset 只采样内存 cache。
- gen-grasp、Allegro 缺失本地 cache、Sharpa 缺失 cache 的现有结果与诊断保持。
- 定向 env tests 和
make test-all 通过。
Stop conditions
若必须改变 cache 缺失语义、引入新的 asset manager/public contract 或超过 6 个文件,暂停并回到 #983。
Owner summary
这次只把 Allegro 与 Sharpa rotation task 的 grasp-cache 路径解析、可选下载和
np.load固定到 env 初始化冷路径;reset provider 只读取已缓存数组。采样分布、缺失缓存诊断、gen-grasp 行为和 backend contract 不变;永久维护项是两类 env 的“初始化一次、reset 零 I/O”边界测试。一句话问题
两个 domain-randomization provider 都在首次 reset 才加载缓存,Sharpa 还可能在该路径访问 Hugging Face,违反 reset 热路径禁止 asset/网络 I/O 的规则。
最小交付结果
构造 env 时完成 grasp cache materialization,任意后续 reset 不再解析路径、下载或读文件。
In scope
np.load。np.load仅在 init 调用、重复 reset 不触发 I/O 的测试。Non-goals
print日志迁移。Owner 与预计改动
2 个 env 文件及 1-2 个现有测试文件,预计 <180 行净改动,1 PR。
Acceptance criteria
np.load、path resolver 或 Hugging Face resolver。make test-all通过。Stop conditions
若必须改变 cache 缺失语义、引入新的 asset manager/public contract 或超过 6 个文件,暂停并回到 #983。