ZplusM commited on
Commit
aa02af1
·
verified ·
1 Parent(s): 9a46928

docs: finalize v182-v191 reproduction audit

Browse files
experiments/objectnav_v182_v187_v189_v191/README.md CHANGED
@@ -71,7 +71,7 @@ SR@0.25、SPL@0.25、SoftSPL 和最终 DTG 的场景聚类 95% CI 都支持 corr
71
 
72
  ```text
73
  code_snapshot/nav3r/ v182/v183 及依赖的第一方代码快照
74
- code_snapshot/scripts/ v182 训练、v187 运行、链路和视频审计脚本
75
  code_snapshot/third_party/MTU3D/ MTU3D layer3→layer4 hook 对应文件
76
  launchers/v189_*/ v189 预注册、启动、分析和测试
77
  launchers/v191_*/ v191 selection、预注册、启动、分析和测试
@@ -82,9 +82,11 @@ evidence/v191_full386/ 320/386 条分析、审计和中文报告
82
  paths.env.example 外部资源路径模板
83
  release_manifest.json 权重 SHA、条件规模和预期视频数
84
  verify_release.py 本地代码/HF 下载包完整性检查
 
 
85
  ```
86
 
87
- `code_snapshot/scripts/run_mtu3d_objectnav_ab.py` 是后续增加 VLN-CE 分支后的兼容超集;ObjectNav 默认分支、worker、状态同步、审计脚本和模型代码保持发布版本。v187/v191 预注册中仍保存正式运行时该文件的原 SHA `17ad9d...`,不会把后续兼容性扩展伪装成逐字节相同历史源文件。
88
 
89
  ## 4. Hugging Face 目录
90
 
@@ -168,4 +170,3 @@ python eval/objectnav_v182_v187_v189_v191/verify_release.py \
168
  ```
169
 
170
  验收必须确认三套最终权重 SHA、v187/v189/v191 视频数量、所有 chain/video audit 状态、逐 episode 身份配对和 v191 的 320/386 汇总都一致。
171
-
 
71
 
72
  ```text
73
  code_snapshot/nav3r/ v182/v183 及依赖的第一方代码快照
74
+ code_snapshot/scripts/ 正式 staging 的依赖完备净化快照
75
  code_snapshot/third_party/MTU3D/ MTU3D layer3→layer4 hook 对应文件
76
  launchers/v189_*/ v189 预注册、启动、分析和测试
77
  launchers/v191_*/ v191 selection、预注册、启动、分析和测试
 
82
  paths.env.example 外部资源路径模板
83
  release_manifest.json 权重 SHA、条件规模和预期视频数
84
  verify_release.py 本地代码/HF 下载包完整性检查
85
+ code_provenance.json 正式 SHA、发布 SHA 与兼容超集边界
86
+ REPRODUCIBILITY_AUDIT.md 面向论文复现的完整性审计
87
  ```
88
 
89
+ `code_snapshot/scripts/run_mtu3d_objectnav_ab.py` 是后续增加 VLN-CE 分支后的兼容超集;ObjectNav worker、状态同步、底层 launcher、审计脚本和模型代码保持正式版本。v187/v191 预注册中仍保存正式运行时该文件的原 SHA `17ad9d...`,不会把后续兼容性扩展伪装成逐字节相同历史源文件。v189 分析器也有后续诊断扩展,但对正式输入的回放输出与归档 `analysis.json` 逐字节一致;详情见 `code_provenance.json`。
90
 
91
  ## 4. Hugging Face 目录
92
 
 
170
  ```
171
 
172
  验收必须确认三套最终权重 SHA、v187/v189/v191 视频数量、所有 chain/video audit 状态、逐 episode 身份配对和 v191 的 320/386 汇总都一致。
 
experiments/objectnav_v182_v187_v189_v191/REPRODUCIBILITY_AUDIT.md ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # v182 / v187 / v189 / v191 复现完整性审计
2
+
3
+ ## 结论
4
+
5
+ 发布包足以完成两类复现:
6
+
7
+ 1. 不启动 Habitat,直接从逐 episode JSONL 重算 v187/v189/v191 的全部表格、配对差值、场景聚类 bootstrap 和视频审计;
8
+ 2. 在用户自行取得 HM3D、ObjectNav-v2 与公开上游权重后,重新训练 v182 三种子并重跑 Habitat 闭环。
9
+
10
+ 它不是一个“下载后零配置运行”的容器镜像。CUDA、Habitat-Sim、MTU3D、Sonata/PTv3、ZPlusM、MVSplat、FastSAM 及受许可约束的 HM3D 必须由复现者安装或下载,路径由 `paths.env.example` 提供。
11
+
12
+ ## 已验证内容
13
+
14
+ - GitHub 包不含 checkpoint、场景、点云、RGB-D、视频、token 或私钥;仓库级敏感信息和大文件检查通过。
15
+ - `code_snapshot/nav3r/` 与 `code_snapshot/scripts/` 包含 v182 训练、v183 安全仲裁、v185/v186 状态同步、ObjectNav worker、指标与视频审计的依赖闭包;两个与本实验无关且含旧机器私有绝对路径的 legacy H800 launcher 已从发布快照移除。
16
+ - v182/v183/worker/state-sync 相关测试 34/34 通过;v189/v191 分析测试 14/14 通过。
17
+ - HF 发布目录包含 v182 三种子 final adapter、三种子 source adapter、冻结 v132 task adapter、训练契约、所有逐 episode 记录及 1,620 个 MP4。
18
+ - HF 上传前对 2,258 个文件生成 `SHA256SUMS` 并逐文件复算通过;三种子和任务 adapter 的独立 SHA 记录在 `release_manifest.json`。
19
+ - v187/v189/v191 的 provenance 均引用 v182 seed123 final adapter,SHA 为 `39650e...b437b`。
20
+ - v189 当前分析器对原始输入回放,生成的 `analysis.json` 与正式归档结果 SHA256 完全相同:`eefa99...96a78`。
21
+
22
+ ## 历史源码边界
23
+
24
+ 正式预注册保留了运行当时的每个源码 SHA。除下面两项外,发布快照与预注册逐字节一致:
25
+
26
+ - `run_mtu3d_objectnav_ab.py`:运行时旧 SHA 为 `17ad9d...e288`;远程现存文件是后来增加 VLN-CE 分支的兼容超集,SHA 为 `da4298...e6cf`。ObjectNav worker、在线状态机、底层 launcher 和审计脚本仍逐字节一致。
27
+ - v189 analyzer:运行时旧 SHA 为 `cd29d8...386d`;现存文件是增加诊断输出后的版本,SHA 为 `0b2b6f...6a05`。对正式原始数据的回放输出与归档 `analysis.json` 逐字节相同。
28
+
29
+ 这两项不能描述为“历史源文件逐字节复原”。机器可读对应关系见 `code_provenance.json`。它们不妨碍指标复算;闭环重跑属于功能复现而非旧入口的字节级复现。
30
+
31
+ ## 有意不发布的资产
32
+
33
+ - HM3D/HM3D-Semantics GLB、navmesh 和 ObjectNav-v2 episode;
34
+ - MTU3D、Sonata/PTv3、ZPlusM、MVSplat、FastSAM 的公开或上游权重;
35
+ - v177 约 117 GB、可由发布采集代码和 licensed HM3D 再生的中间点记忆缓存。
36
+
37
+ 发布了 v177 的 teacher labels、selection、采集报告、缓存审计和质量字段契约,因此数据划分、标签时序与训练来源仍可审查。
38
+
39
+ ## 论文复现建议
40
+
41
+ 论文中应同时引用 Git commit、HF revision、`release_manifest.json` 与 HF `SHA256SUMS`。不要只引用“v187/v191”目录名,也不要把 v182 的离线 Ground/Joint 当作 Habitat SR/SPL。
experiments/objectnav_v182_v187_v189_v191/SHA256SUMS CHANGED
@@ -1,4 +1,6 @@
1
- e62ccb33b3a2379d95f4daa1e9e95434db365c0d35fe5779e82667bdeb247ce8 ./README.md
 
 
2
  a1cc1776fd5a6078e665e2c73cc8f1277db1c2c9b3e30558047d70195c8199eb ./release_manifest.json
3
  9c86806331708f32e3d7592fa3a8cd4bec10f2beff4c2dbc91b29b4bb772e448 ./v182_offline/aggregate/formal_phase_a_amendment_r1_to_r2.json
4
  f0d1073532b97d9fc7840429a53de796e930c589a61131f97e86b3a6d6fa8beb ./v182_offline/aggregate/formal_phase_a_amendment_r2_to_r3.json
 
1
+ 71dde147f616c1460a164eb83f9b300d8c741c35375d4691a1579c6b7e3ac5d0 ./README.md
2
+ 82fa145fa5e4e9a4d23aa0618670908cc02aa5f5c7443f748114ec1ec454caf1 ./REPRODUCIBILITY_AUDIT.md
3
+ 41eabf217f6792e1c337c9cfcc1be1879425851ca825b8aa463c9902e3ea2711 ./code_provenance.json
4
  a1cc1776fd5a6078e665e2c73cc8f1277db1c2c9b3e30558047d70195c8199eb ./release_manifest.json
5
  9c86806331708f32e3d7592fa3a8cd4bec10f2beff4c2dbc91b29b4bb772e448 ./v182_offline/aggregate/formal_phase_a_amendment_r1_to_r2.json
6
  f0d1073532b97d9fc7840429a53de796e930c589a61131f97e86b3a6d6fa8beb ./v182_offline/aggregate/formal_phase_a_amendment_r2_to_r3.json
experiments/objectnav_v182_v187_v189_v191/code_provenance.json ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema": "nav3r-objectnav-v182-v187-v189-v191-code-provenance/v1",
3
+ "formal_vs_packaged": {
4
+ "code_snapshot/nav3r/navigation/objectnav_online.py": {
5
+ "formal_sha256": "053d9579ccb7fd349427bf2d0e932f2730eac014db59f8a8266fe3edfc924b94",
6
+ "packaged_sha256": "053d9579ccb7fd349427bf2d0e932f2730eac014db59f8a8266fe3edfc924b94",
7
+ "status": "byte_exact"
8
+ },
9
+ "code_snapshot/scripts/run_mtu3d_objectnav_ab.py": {
10
+ "formal_sha256": "17ad9d19946f46b5af8983541d3e1500082a7356b8c6dd7180b95e7bc1e7e288",
11
+ "packaged_sha256": "da4298f1ab83f9a9d2f0ea4343fdd1009ad7faec31fd6785bf8e3291da68e6cf",
12
+ "status": "later_vlnce_compatible_superset_original_objectnav_entrypoint_unavailable"
13
+ },
14
+ "code_snapshot/scripts/mtu3d_objectnav_worker.py": {
15
+ "formal_sha256": "9a5ee91d3c55d8cab17d83b12d9d69a4e83a40ca004cee4d02573d9bfd8e4e79",
16
+ "packaged_sha256": "9a5ee91d3c55d8cab17d83b12d9d69a4e83a40ca004cee4d02573d9bfd8e4e79",
17
+ "status": "byte_exact"
18
+ },
19
+ "code_snapshot/scripts/run_objectnav_v26_eval_h100.sh": {
20
+ "formal_sha256": "46e9ded95b6dcd6d9b15d402e0bee9174489484cb3ee57a1948ccefdd3f5221e",
21
+ "packaged_sha256": "46e9ded95b6dcd6d9b15d402e0bee9174489484cb3ee57a1948ccefdd3f5221e",
22
+ "status": "byte_exact"
23
+ },
24
+ "code_snapshot/scripts/analyze_objectnav_v187_state_synced_confirmatory66.py": {
25
+ "formal_sha256": "cdfd5e6ef64d1945fc461e4c85badf47c65b6312deea286cfa74fe0864e0f9fb",
26
+ "packaged_sha256": "cdfd5e6ef64d1945fc461e4c85badf47c65b6312deea286cfa74fe0864e0f9fb",
27
+ "status": "byte_exact"
28
+ },
29
+ "code_snapshot/scripts/run_objectnav_v187_state_synced_confirmatory66_h100.sh": {
30
+ "formal_sha256": "801c43cb9221119819cc4472326075e522c71d0f51d9e90b1005968878edbb78",
31
+ "packaged_sha256": "801c43cb9221119819cc4472326075e522c71d0f51d9e90b1005968878edbb78",
32
+ "status": "byte_exact"
33
+ },
34
+ "code_snapshot/scripts/audit_objectnav_v26_ggf_chain.py": {
35
+ "formal_sha256": "6254ac42afc23850daa88e41b2a0622bb7ed49fc9cada0336bb5103b82b26440",
36
+ "packaged_sha256": "6254ac42afc23850daa88e41b2a0622bb7ed49fc9cada0336bb5103b82b26440",
37
+ "status": "byte_exact"
38
+ },
39
+ "code_snapshot/scripts/audit_navigation_videos_v30.py": {
40
+ "formal_sha256": "38d205a3a8d0d5a7a2e3c675792df41b64612d07a2033255d5a1de24f6a6960b",
41
+ "packaged_sha256": "38d205a3a8d0d5a7a2e3c675792df41b64612d07a2033255d5a1de24f6a6960b",
42
+ "status": "byte_exact"
43
+ },
44
+ "code_snapshot/scripts/summarize_zplusm_runtime_v26.py": {
45
+ "formal_sha256": "3e576569909a8322516c5b13b97f7b264ae8ccd9858f7718579368def8400df8",
46
+ "packaged_sha256": "3e576569909a8322516c5b13b97f7b264ae8ccd9858f7718579368def8400df8",
47
+ "status": "byte_exact"
48
+ },
49
+ "launchers/v189_v187_full_ablation66_20260824/analyze_objectnav_v189_v187_full_ablation66.py": {
50
+ "formal_sha256": "cd29d8a26a2ebda87454ff02f0e5ce8e16c924073f11a056729627d6d983386d",
51
+ "packaged_sha256": "0b2b6f4d7b013930f6b2ec5071e4e3ad909c6dba4baf8ba4c57ab5251ba56a05",
52
+ "status": "later_diagnostics_superset_exact_output_replay_passed",
53
+ "archived_analysis_sha256": "eefa9903414242c577ad35081ccc89a7600dd79682f2b82b693a735eef896a78",
54
+ "replayed_analysis_sha256": "eefa9903414242c577ad35081ccc89a7600dd79682f2b82b693a735eef896a78"
55
+ },
56
+ "launchers/v191_v187_full386_20260824/build_v191_fresh320_selection.py": {
57
+ "formal_sha256": "b8e9cf268197dcf4c9a5ceee68248fa787a0445ab884b09d1ccb82ecf4810ec4",
58
+ "packaged_sha256": "b8e9cf268197dcf4c9a5ceee68248fa787a0445ab884b09d1ccb82ecf4810ec4",
59
+ "status": "byte_exact"
60
+ },
61
+ "launchers/v191_v187_full386_20260824/analyze_objectnav_v191_full386.py": {
62
+ "formal_sha256": "48c3eb6e33b2f5a03e086c850a4caf0bdd8852e337476629c02027c3a22ff9fa",
63
+ "packaged_sha256": "48c3eb6e33b2f5a03e086c850a4caf0bdd8852e337476629c02027c3a22ff9fa",
64
+ "status": "byte_exact"
65
+ },
66
+ "launchers/v191_v187_full386_20260824/test_analyze_objectnav_v191_full386.py": {
67
+ "formal_sha256": "d6fd11128baeacc29c6d555058ba847a39e440ad013d9e9168b609c14a0f8ae8",
68
+ "packaged_sha256": "d6fd11128baeacc29c6d555058ba847a39e440ad013d9e9168b609c14a0f8ae8",
69
+ "status": "byte_exact"
70
+ }
71
+ },
72
+ "test_evidence": {
73
+ "v182_v183_worker_state_sync_tests": "34 passed",
74
+ "v189_v191_analysis_tests": "14 passed",
75
+ "v189_current_analyzer_replay": "byte-identical analysis.json"
76
+ }
77
+ }