serialexperimentsleon commited on
Commit
e234bf5
·
verified ·
1 Parent(s): a27dd09

sessions/session_20260921_230724_040591/runs/lab-b-photo: package_final batch 1/1

Browse files
sessions/session_20260921_230724_040591/runs/lab-b-photo/README.md ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # lab-b-photo
2
+
3
+ Lab B (U08c D3) photometric fit from the recorded image-scan parent lab-b-tracking c0123 (not tracking BEST): photometric CMA (100 generations) then projected photometric Adam (500 traversals); BEST = FINAL = c0500.
4
+
5
+ | Field | Value |
6
+ |---|---|
7
+ | Status | complete |
8
+ | Identity | session_id `session_20260921_230724_040591`, window_id `sync0316-0630` |
9
+ | Parent | `lab-b-tracking` adam/c0123 (recorded image scan (scan_selected)) |
10
+ | Stages | cma, photometric_adam |
11
+ | Budget (completed/configured) | cma: (completed_generations 100, issued_asks 800, told_asks 800, physical_failures 0); photometric_adam: traversals 500/500, updates 156500/156500 |
12
+ | Labels | BEST adam/c0500, FINAL adam/c0500 |
13
+ | Code revision(s) | `8c03605eb6af291b7face39f6474d84aa513f332`; dirty tree by stage: cma reported clean, photometric_adam not recorded |
14
+ | Checkpoint rows | 3467 (`checkpoints.tsv`) |
15
+ | Archived native records | 9,828 per-step history files in 140 tar archives (owner D25); `archives/members.json` lists each member's native path and sha256, and `checkpoints.tsv` still lists every checkpoint file |
16
+
17
+ ## Stages
18
+
19
+ - **cma** (`native/cma/manifest.json`): "mean of all four views per transition, then mean over K; RP1 active Q5 objective"
20
+ - **photometric_adam** (`native/adam/manifest.json`): {"objective_id": "real_rgbd_active_photometric_v1", "source": "U gs_train.py:128-188 + loss_utils.py (PhysTwin 81c718790a37e5e0102eb77af2c6edd34a9db25f)", "weights": {"lambda_dssim": 0.2, "lambda_seg": 1.0, "lambda_depth": 0.001}, "rgb_ssim": "fused_ssim (U gaussian_splatting/submodules/fused-ssim, padding same, train True)", "seg_ssim": "reference ssim (U loss_utils.ssim, 11x11 window sigma 1.5,
21
+ - stiffness update: projected: finite raw log Y moved back onto the physical cap after every update (protocol.projected_log_y true)
22
+
23
+ ## Capabilities
24
+
25
+ - **portable_use**: native model arrays retained; fresh use (canonical q0/v0, zero updates) from a clean local copy is implemented and validated by PR4 on representative checkpoints; Hub fetch pending; photometric rendering also needs the recorded initial appearance and binding listed in dependencies.json
26
+ - **interrupted_run_recovery**: unsupported for this publication (owner D21): every photometric checkpoint and its continuation state (optimizer moments, cursor, q/v and appearance carry, CMA strategy and asks) is retained, and its resume inputs are published or referenced (D15-D20), but no photometric restore is implemented or claimed
27
+ - **extend_completed_budget**: not supported: the native protocols refuse to extend a finished run's horizon
28
+ - **full_reproduction**: not claimed (D3); dirty-state and environment limits are listed under code
29
+
30
+ ## Limitations
31
+
32
+ - continuing this fit re-hashes author weights TAPNext++ tapnextpp_512 checkpoint (Google DeepMind TAPNet) (/mnt/data2/magna/belt_perception/results/phystwin_real_rgbd/session_20260921_225630_786148/rt_waft_tapnextpp_refit_01/checkpoints/tapnextpp_512.ckpt); they are not published here (dependencies.json third_party_weights names their source and sha256)
33
+ - historical depth: the run's records name depth_source waft_stereo_dav2l5 but no per-stream digest, so the consumed depth bytes and their publication revision are unresolved; correction ledgers replaced 4 depth paths of this session (6ce5a6472649, c9fa16c0c8ac)
34
+ - photometric_adam: records name 8c03605eb6af but none states whether the working tree was clean when this stage ran
35
+
36
+ Native records under `native/` are authoritative; `run.json`, `checkpoints.tsv` and `dependencies.json` index them. License: see the repository `LICENSE` and card.
sessions/session_20260921_230724_040591/runs/lab-b-photo/archives/members.json ADDED
The diff for this file is too large to render. See raw diff
 
sessions/session_20260921_230724_040591/runs/lab-b-photo/checkpoints.tsv ADDED
The diff for this file is too large to render. See raw diff
 
sessions/session_20260921_230724_040591/runs/lab-b-photo/dependencies.json ADDED
The diff for this file is too large to render. See raw diff
 
sessions/session_20260921_230724_040591/runs/lab-b-photo/run.json ADDED
@@ -0,0 +1,619 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "aliases": [
3
+ {
4
+ "bytes_identical": true,
5
+ "duplicate_of": "native/cma/generations/g072/a03/model/model.npz",
6
+ "path": "native/cma/winner/model/model.npz",
7
+ "relation": "byte copy of the committed ask (cma._stage_winner)",
8
+ "role": "CMA winner"
9
+ },
10
+ {
11
+ "bytes_identical": true,
12
+ "duplicate_of": "native/cma/generations/g072/a03/model/topology.npz",
13
+ "path": "native/cma/winner/model/topology.npz",
14
+ "relation": "byte copy of the committed ask (cma._stage_winner)",
15
+ "role": "CMA winner"
16
+ }
17
+ ],
18
+ "archived_native_records": {
19
+ "archives": 140,
20
+ "history_archives": 140,
21
+ "history_members": 9828,
22
+ "index": "archives/members.json",
23
+ "member_bytes": 36376215442,
24
+ "members": 9828,
25
+ "rule": "Owner decision D25 (2026-11-01): the Hub refuses repositories above 20,000 files, so this run's per-step history (CMA generations and candidates, Adam snapshots, continuation states, update rows and frozen scores; or Deform360 pass states, records and scores) is published inside these uncompressed tar archives, up to 256 MiB of members each. Member bytes are unchanged and checkpoints.tsv still lists every file with its sha256; extract each member to <run dir>/native/<member> to restore the native layout (scripts/phystwin_publish.py fetch extracts the members a checkpoint needs, and --all-checkpoints extracts all)."
26
+ },
27
+ "capabilities": {
28
+ "extend_completed_budget": "not supported: the native protocols refuse to extend a finished run's horizon",
29
+ "full_reproduction": "not claimed (D3); dirty-state and environment limits are listed under code",
30
+ "interrupted_run_recovery": "unsupported for this publication (owner D21): every photometric checkpoint and its continuation state (optimizer moments, cursor, q/v and appearance carry, CMA strategy and asks) is retained, and its resume inputs are published or referenced (D15-D20), but no photometric restore is implemented or claimed",
31
+ "portable_use": "native model arrays retained; fresh use (canonical q0/v0, zero updates) from a clean local copy is implemented and validated by PR4 on representative checkpoints; Hub fetch pending; photometric rendering also needs the recorded initial appearance and binding listed in dependencies.json"
32
+ },
33
+ "checkpoints": {
34
+ "counts": {
35
+ "adam_continuation": 2060,
36
+ "adam_traversal_snapshot": 501,
37
+ "adam_zero_update_check": 1,
38
+ "cma_candidate": 800,
39
+ "cma_generation_state": 100,
40
+ "cma_to_adam_handoff": 1,
41
+ "cma_winner": 1,
42
+ "model_initialization": 2,
43
+ "photometric_parent_p0": 1
44
+ },
45
+ "rows": 3467,
46
+ "table": "checkpoints.tsv"
47
+ },
48
+ "code": {
49
+ "belt_perception_commits": [
50
+ "8c03605eb6af291b7face39f6474d84aa513f332"
51
+ ],
52
+ "dirty_reported": null,
53
+ "limitations": [
54
+ "photometric_adam: records name 8c03605eb6af but none states whether the working tree was clean when this stage ran"
55
+ ],
56
+ "observations": [
57
+ {
58
+ "key": "code_revision",
59
+ "scope": "cma",
60
+ "source": "native/cma/manifest.json",
61
+ "value": {
62
+ "dirty": false,
63
+ "head": "8c03605eb6af291b7face39f6474d84aa513f332"
64
+ }
65
+ },
66
+ {
67
+ "key": "revision",
68
+ "scope": "run",
69
+ "source": "native/campaign.json",
70
+ "value": "8c03605eb6af291b7face39f6474d84aa513f332"
71
+ }
72
+ ],
73
+ "stages": {
74
+ "cma": {
75
+ "belt_perception_commits": [
76
+ "8c03605eb6af291b7face39f6474d84aa513f332"
77
+ ],
78
+ "dirty_reported": false,
79
+ "sources": [
80
+ "native/cma/manifest.json:code_revision",
81
+ "native/campaign.json:revision"
82
+ ]
83
+ },
84
+ "photometric_adam": {
85
+ "belt_perception_commits": [
86
+ "8c03605eb6af291b7face39f6474d84aa513f332"
87
+ ],
88
+ "dirty_reported": null,
89
+ "sources": [
90
+ "native/campaign.json:revision"
91
+ ]
92
+ }
93
+ }
94
+ },
95
+ "description": "Lab B (U08c D3) photometric fit from the recorded image-scan parent lab-b-tracking c0123 (not tracking BEST): photometric CMA (100 generations) then projected photometric Adam (500 traversals); BEST = FINAL = c0500.",
96
+ "environment": {
97
+ "native/adam/manifest.json:identity.execution": {
98
+ "belt_perception_source": {
99
+ "files": 909,
100
+ "sha256": "fca0dcf06367d72c5aaddf390c4e98489facb1eb32a0ea0decc51979dd4df7ca"
101
+ },
102
+ "device_name": "NVIDIA GeForce RTX 4090",
103
+ "python": "3.11.14",
104
+ "torch_cuda": "12.8",
105
+ "versions": {
106
+ "cma": "4.4.4",
107
+ "numpy": "2.4.4",
108
+ "open3d": "0.19.0",
109
+ "torch": "2.11.0+cu128",
110
+ "warp-lang": "1.16.0"
111
+ }
112
+ },
113
+ "native/campaign.json:device_identities": {
114
+ "cuda:0": {
115
+ "name": "NVIDIA GeForce RTX 4090",
116
+ "total_memory": 25215303680,
117
+ "uuid": "30be4c6b-0cc3-a19f-14c8-b53e90ace6dc"
118
+ }
119
+ },
120
+ "native/campaign.json:lock_sha256": "673786110b5b79a5a6ecc5e6bf35d11413a342229be69cd028e7ce8bf1841a02",
121
+ "native/cma/manifest.json:execution_identity": {
122
+ "belt_perception_source": {
123
+ "files": 909,
124
+ "sha256": "fca0dcf06367d72c5aaddf390c4e98489facb1eb32a0ea0decc51979dd4df7ca"
125
+ },
126
+ "device_name": "NVIDIA GeForce RTX 4090",
127
+ "python": "3.11.14",
128
+ "torch_cuda": "12.8",
129
+ "versions": {
130
+ "cma": "4.4.4",
131
+ "numpy": "2.4.4",
132
+ "open3d": "0.19.0",
133
+ "torch": "2.11.0+cu128",
134
+ "warp-lang": "1.16.0"
135
+ }
136
+ }
137
+ },
138
+ "evidence_files": [
139
+ "evidence/u08c_d3_lab_b_fit_20261014/handoff/scan/canonical_binding.npz",
140
+ "evidence/u08c_d3_lab_b_fit_20261014/handoff/scan/contract.json",
141
+ "evidence/u08c_d3_lab_b_fit_20261014/handoff/scan/selection.json",
142
+ "evidence/u08c_d3_lab_b_fit_20261014/notes.json",
143
+ "evidence/u08c_d3_lab_b_fit_20261014/photometric/execute_task.py",
144
+ "evidence/u08c_d3_lab_b_fit_20261014/photometric/prepare_full.py",
145
+ "evidence/u08c_d3_lab_b_fit_20261014/photometric/qualification.log",
146
+ "evidence/u08c_d3_lab_b_fit_20261014/photometric/qualification/driver_summary.json",
147
+ "evidence/u08c_d3_lab_b_fit_20261014/photometric/readiness.json",
148
+ "evidence/u08c_d3_lab_b_fit_20261014/photometric/run_config.json"
149
+ ],
150
+ "family": "real_rgbd_npz",
151
+ "gaps": [],
152
+ "identity": {
153
+ "session_id": "session_20260921_230724_040591",
154
+ "window_id": "sync0316-0630"
155
+ },
156
+ "inputs": [
157
+ {
158
+ "preprocessing": "B photometric observation cache and appearance (see dependencies.json)",
159
+ "role": "photometric window",
160
+ "session_id": "session_20260921_230724_040591",
161
+ "window_id": "sync0316-0630"
162
+ }
163
+ ],
164
+ "labels": {
165
+ "BEST": {
166
+ "key": "best_candidate",
167
+ "metric": "RT photometric active full-window mean",
168
+ "score": 0.0038705600513771594,
169
+ "source": "native/adam/best.json",
170
+ "status": "final",
171
+ "value": "adam/c0500"
172
+ },
173
+ "FINAL": {
174
+ "key": "final_candidate",
175
+ "note": "final traversal snapshot at the planned horizon (no FINAL export written)",
176
+ "source": "native/adam/training_complete.json",
177
+ "value": "adam/c0500"
178
+ }
179
+ },
180
+ "license": {
181
+ "attribution": null,
182
+ "id": "mit",
183
+ "scope": "MIT (owner decision D9) applies to the project-produced fit packages in this repository: native checkpoints, run records and the generated metadata. It does not relicense the linked DAIRLab/phystwin_dataset recordings, which declare no license, or any third-party code or data."
184
+ },
185
+ "limitations": [
186
+ "continuing this fit re-hashes author weights TAPNext++ tapnextpp_512 checkpoint (Google DeepMind TAPNet) (/mnt/data2/magna/belt_perception/results/phystwin_real_rgbd/session_20260921_225630_786148/rt_waft_tapnextpp_refit_01/checkpoints/tapnextpp_512.ckpt); they are not published here (dependencies.json third_party_weights names their source and sha256)",
187
+ "historical depth: the run's records name depth_source waft_stereo_dav2l5 but no per-stream digest, so the consumed depth bytes and their publication revision are unresolved; correction ledgers replaced 4 depth paths of this session (6ce5a6472649, c9fa16c0c8ac)",
188
+ "photometric_adam: records name 8c03605eb6af but none states whether the working tree was clean when this stage ran"
189
+ ],
190
+ "native_files": {
191
+ "bytes": 36431745650,
192
+ "files": 9856
193
+ },
194
+ "native_reconciliation": {
195
+ "included_by_category": {
196
+ "adam_continuation": {
197
+ "bytes": 32022924448,
198
+ "files": 2060
199
+ },
200
+ "adam_snapshot": {
201
+ "bytes": 243583917,
202
+ "files": 1506
203
+ },
204
+ "adam_update_rows": {
205
+ "bytes": 701094717,
206
+ "files": 2060
207
+ },
208
+ "cma_candidate": {
209
+ "bytes": 535336161,
210
+ "files": 3200
211
+ },
212
+ "cma_center_winner": {
213
+ "bytes": 5955683,
214
+ "files": 4
215
+ },
216
+ "cma_generation_state": {
217
+ "bytes": 5695917,
218
+ "files": 500
219
+ },
220
+ "frozen_score": {
221
+ "bytes": 2867580282,
222
+ "files": 502
223
+ },
224
+ "handoff": {
225
+ "bytes": 10471911,
226
+ "files": 3
227
+ },
228
+ "log": {
229
+ "bytes": 11161324,
230
+ "files": 7
231
+ },
232
+ "run_record": {
233
+ "bytes": 16511099,
234
+ "files": 4
235
+ },
236
+ "stage_record": {
237
+ "bytes": 11430191,
238
+ "files": 10
239
+ }
240
+ },
241
+ "included_files": 9856,
242
+ "not_selected": {
243
+ "post-hoc frozen-score evaluation trajectory; its scores remain in evaluations/*/result.json and best.json": {
244
+ "bytes": 3302510544,
245
+ "examples": [
246
+ "adam/evaluations/c0000/rollout.npz",
247
+ "adam/evaluations/c0001/rollout.npz",
248
+ "adam/evaluations/c0002/rollout.npz"
249
+ ],
250
+ "files": 502
251
+ },
252
+ "runtime process or lock marker": {
253
+ "bytes": 0,
254
+ "examples": [
255
+ "supervisor.lock"
256
+ ],
257
+ "files": 1
258
+ },
259
+ "telemetry journal for W&B delivery; no telemetry process owns scientific state": {
260
+ "bytes": 905039970,
261
+ "examples": [
262
+ "telemetry-collector/real_collector.lock",
263
+ "telemetry-collector/real_collector_cursor.json",
264
+ "telemetry-collector/real_source_identity.json"
265
+ ],
266
+ "files": 8
267
+ }
268
+ },
269
+ "source_files": 10367,
270
+ "unclassified": [],
271
+ "unclassified_files": 0
272
+ },
273
+ "notes": [
274
+ "window_id sync0316-0630 (PR5B, 2026-10-31) names the half-open sync rows [316, 630) that the B window YAML resolves (rpo_target_inputs_20261007/target/input_masks/phystwin_window.yaml, bound by the u08b inspection lineage); it is published as the dataset window sessions/session_20260921_230724_040591/annotations/windows/sync0316-0630/."
275
+ ],
276
+ "parent": {
277
+ "declared": {
278
+ "checkpoint": "adam/c0123",
279
+ "relation": "recorded image scan (scan_selected)",
280
+ "run_id": "lab-b-tracking"
281
+ },
282
+ "native": {
283
+ "checkpoint": "adam/c0123",
284
+ "expected_sha256": {
285
+ "adam/model_init.npz": "c2999528c91b7d33058c82c605c7e5171b2b8ca18de0f2c7de45ae22624b9ea8",
286
+ "adam/snapshots/c0123/model/model.npz": "ce263de51f69accc80e37d4a960fc89aa1000271cdaf996e8c2752a8830d107f",
287
+ "adam/snapshots/c0123/model/topology.npz": "7e3aaadb6ecaf1ee78f29823dc3cfd0f2223bed631a8d9d2ba4800cf8d0d275f"
288
+ },
289
+ "fit_run": "/mnt/data0/magna/belt_perception_runs/U08c_D3_lab_b_fit_20261014/tracking/full_fit_cma250_projadam_01",
290
+ "key": "identity.inputs.parent",
291
+ "kind": "parent_traversal_snapshot",
292
+ "selection_role": "scan_selected",
293
+ "source": "native/adam/manifest.json"
294
+ },
295
+ "native_run_id": "lab-b-tracking",
296
+ "verified": true,
297
+ "verified_files": [
298
+ "adam/model_init.npz",
299
+ "adam/snapshots/c0123/model/model.npz",
300
+ "adam/snapshots/c0123/model/topology.npz"
301
+ ]
302
+ },
303
+ "relocation": {
304
+ "path_in_repo": "sessions/session_20260921_230724_040591/runs/lab-b-photo/native",
305
+ "recorded_aliases": [
306
+ "/vast/projects/posa/contact-rich-robot/data/belt_perception_runs/U08c_D3_lab_b_fit_20261014/photometric/full_fit_01"
307
+ ],
308
+ "recorded_root": "/mnt/data0/magna/belt_perception_runs/U08c_D3_lab_b_fit_20261014/photometric/full_fit_01",
309
+ "resolved_root": "/mnt/data0/magna/belt_perception_runs/U08c_D3_lab_b_fit_20261014/photometric/full_fit_01",
310
+ "rule": "native/<path relative to the recorded root>; native records keep recorded paths"
311
+ },
312
+ "repo_id": "DAIRLab/phystwin_models",
313
+ "run_id": "lab-b-photo",
314
+ "schema": "phystwin_model_run_v1",
315
+ "stages": [
316
+ {
317
+ "active_coordinates": {
318
+ "key": "protocol.map.coordinates (each maps to a leaf or setting)",
319
+ "source": "native/cma/manifest.json",
320
+ "value": [
321
+ "ground_restitution",
322
+ "ground_friction",
323
+ "drag_damping",
324
+ "dashpot_damping"
325
+ ]
326
+ },
327
+ "budget": {
328
+ "completed": {
329
+ "center_evaluations": {
330
+ "key": "center_evaluations",
331
+ "source": "native/cma/result.json",
332
+ "value": null
333
+ },
334
+ "completed_generations": {
335
+ "key": "completed_generations",
336
+ "source": "native/cma/result.json",
337
+ "value": 100
338
+ },
339
+ "issued_asks": {
340
+ "key": "issued_asks",
341
+ "source": "native/cma/result.json",
342
+ "value": 800
343
+ },
344
+ "physical_failures": {
345
+ "key": "physical_failures",
346
+ "source": "native/cma/result.json",
347
+ "value": 0
348
+ },
349
+ "status": {
350
+ "key": "status",
351
+ "source": "native/cma/result.json",
352
+ "value": "winner"
353
+ },
354
+ "stop_reason": {
355
+ "key": "stop_reason",
356
+ "source": "native/cma/result.json",
357
+ "value": "max_generations"
358
+ },
359
+ "told_asks": {
360
+ "key": "told_asks",
361
+ "source": "native/cma/result.json",
362
+ "value": 800
363
+ }
364
+ },
365
+ "configured": {
366
+ "generations": {
367
+ "key": "protocol.max_generations",
368
+ "source": "native/cma/manifest.json",
369
+ "value": 100
370
+ }
371
+ }
372
+ },
373
+ "carried_fixed": {
374
+ "key": "protocol.map.carried_inactive",
375
+ "source": "native/cma/manifest.json",
376
+ "value": [
377
+ "object_restitution",
378
+ "object_friction",
379
+ "collision_distance_m"
380
+ ]
381
+ },
382
+ "inactive_coordinates": {
383
+ "key": "protocol.map.coordinates",
384
+ "source": "native/cma/manifest.json",
385
+ "value": []
386
+ },
387
+ "kind": "photometric_cma",
388
+ "manifest": "native/cma/manifest.json",
389
+ "objective": {
390
+ "key": "protocol.score",
391
+ "source": "native/cma/manifest.json",
392
+ "value": "mean of all four views per transition, then mean over K; RP1 active Q5 objective"
393
+ },
394
+ "schema": "real_rgbd_photometric_cma_v1",
395
+ "searched_coordinates": {
396
+ "key": "protocol.map.coordinates",
397
+ "source": "native/cma/manifest.json",
398
+ "value": [
399
+ "ground_restitution",
400
+ "ground_friction",
401
+ "drag_damping",
402
+ "dashpot_damping"
403
+ ]
404
+ },
405
+ "settings": {
406
+ "backend": {
407
+ "key": "strategy.backend_id",
408
+ "source": "native/cma/manifest.json",
409
+ "value": "pycma_4_4_4_serial_ask_tell_v1"
410
+ },
411
+ "dimension": {
412
+ "key": "strategy.dimension",
413
+ "source": "native/cma/manifest.json",
414
+ "value": 4
415
+ },
416
+ "initial_sigma": {
417
+ "key": "strategy.initial_sigma",
418
+ "source": "native/cma/manifest.json",
419
+ "value": 0.16666666666666666
420
+ },
421
+ "population_size": {
422
+ "key": "strategy.population_size",
423
+ "source": "native/cma/manifest.json",
424
+ "value": 8
425
+ },
426
+ "seed": {
427
+ "key": "strategy.seed",
428
+ "source": "native/cma/manifest.json",
429
+ "value": 42
430
+ },
431
+ "stopping": {
432
+ "key": "protocol.stopping",
433
+ "source": "native/cma/manifest.json",
434
+ "value": "native es.stop() at loop head after first generation; else generation cap"
435
+ }
436
+ },
437
+ "stage": "cma",
438
+ "supervision": {
439
+ "key": "supervision",
440
+ "source": "native/cma/manifest.json",
441
+ "value": null
442
+ }
443
+ },
444
+ {
445
+ "best_metric": {
446
+ "key": "protocol.best_metric",
447
+ "source": "native/adam/manifest.json",
448
+ "value": "RT photometric active full-window mean"
449
+ },
450
+ "budget": {
451
+ "completed": {
452
+ "traversals": {
453
+ "key": "complete_traversals",
454
+ "source": "native/adam/training_complete.json",
455
+ "value": 500
456
+ },
457
+ "updates": {
458
+ "key": "total_updates",
459
+ "source": "native/adam/training_complete.json",
460
+ "value": 156500
461
+ }
462
+ },
463
+ "configured": {
464
+ "traversals": {
465
+ "key": "protocol.complete_traversals",
466
+ "source": "native/adam/manifest.json",
467
+ "value": 500
468
+ },
469
+ "updates": {
470
+ "key": "protocol.complete_traversals * protocol.updates_per_traversal",
471
+ "source": "native/adam/manifest.json",
472
+ "value": 156500
473
+ },
474
+ "updates_per_traversal": {
475
+ "key": "protocol.updates_per_traversal",
476
+ "source": "native/adam/manifest.json",
477
+ "value": 313
478
+ }
479
+ }
480
+ },
481
+ "manifest": "native/adam/manifest.json",
482
+ "objective": {
483
+ "key": "identity.inputs.objective",
484
+ "source": "native/adam/manifest.json",
485
+ "value": {
486
+ "depth_rule": "q5_valid_indicator_numerator",
487
+ "depth_target": "stored uint16 / 1000.0 (float64), masked by 1[O > 0.5]",
488
+ "fused_ssim_binary_sha256": "5f3fe6f7b81a878ef853ebc0702bdbdf942e8476d74ce9ce0438c18aa6e9bc10",
489
+ "fused_ssim_module": "/mnt/data0/magna/belt_perception_wt_u08c_d3_lab_b_exec_20261014/.venv/lib/python3.11/site-packages/fused_ssim/__init__.py",
490
+ "fused_ssim_wrapper_sha256": "c4a9caf98599b378050d1aa258a0b5d8b5817635bc5aefa29ab6893f442490bf",
491
+ "masking": "rendered x (1 - H); observed RGB x O; observed depth x 1[O > 0.5]",
492
+ "means": "full image, all channels",
493
+ "objective_id": "real_rgbd_active_photometric_v1",
494
+ "rgb_ssim": "fused_ssim (U gaussian_splatting/submodules/fused-ssim, padding same, train True)",
495
+ "seg_ssim": "reference ssim (U loss_utils.ssim, 11x11 window sigma 1.5, zero padding)",
496
+ "source": "U gs_train.py:128-188 + loss_utils.py (PhysTwin 81c718790a37e5e0102eb77af2c6edd34a9db25f)",
497
+ "view_aggregation": "arithmetic mean over all supervising views",
498
+ "weights": {
499
+ "lambda_depth": 0.001,
500
+ "lambda_dssim": 0.2,
501
+ "lambda_seg": 1.0
502
+ }
503
+ }
504
+ },
505
+ "optimizer": {
506
+ "betas": {
507
+ "key": "protocol.betas",
508
+ "source": "native/adam/manifest.json",
509
+ "value": [
510
+ 0.9,
511
+ 0.99
512
+ ]
513
+ },
514
+ "eps": {
515
+ "key": "protocol.eps",
516
+ "source": "native/adam/manifest.json",
517
+ "value": 1e-08
518
+ },
519
+ "lr": {
520
+ "key": "protocol.lr",
521
+ "source": "native/adam/manifest.json",
522
+ "value": 0.001
523
+ },
524
+ "optimizer": {
525
+ "key": "protocol.optimizer",
526
+ "source": "native/adam/manifest.json",
527
+ "value": null
528
+ },
529
+ "scheduler": {
530
+ "key": "protocol.scheduler",
531
+ "source": "native/adam/manifest.json",
532
+ "value": null
533
+ },
534
+ "weight_decay": {
535
+ "key": "protocol.weight_decay",
536
+ "source": "native/adam/manifest.json",
537
+ "value": null
538
+ }
539
+ },
540
+ "parameters": {
541
+ "leaf_decision": {
542
+ "key": "protocol.leaf_decision",
543
+ "source": "native/adam/manifest.json",
544
+ "value": "Q7 (A) 2026-09-25: the R7/source leaf set (every object and attachment log_spring_y, raw ground restitution and friction; inactive object-contact leaves carried with zero gradient asserted)"
545
+ },
546
+ "leaf_set_contract": {
547
+ "key": "contract.adam_leaf_set",
548
+ "source": "native/cma/manifest.json",
549
+ "value": {
550
+ "decision": "Q7 (A) 2026-09-25: the R7/source leaf set (every object and attachment log_spring_y, raw ground restitution and friction; inactive object-contact leaves carried with zero gradient asserted)",
551
+ "frozen": [
552
+ "drag_damping",
553
+ "dashpot_damping",
554
+ "collision_distance_m",
555
+ "topology",
556
+ "rests",
557
+ "masses",
558
+ "attachments",
559
+ "q0/v0",
560
+ "controls",
561
+ "clock"
562
+ ],
563
+ "initialization": "exact photometric CMA winner arrays after a passed zero-update handoff",
564
+ "logged_activity": [
565
+ "raw_ground_restitution",
566
+ "raw_ground_friction"
567
+ ],
568
+ "optimizer_leaves": [
569
+ "log_spring_y",
570
+ "raw_ground_restitution",
571
+ "raw_ground_friction",
572
+ "raw_object_restitution",
573
+ "raw_object_friction"
574
+ ],
575
+ "zero_gradient_asserted": [
576
+ "raw_object_restitution",
577
+ "raw_object_friction"
578
+ ]
579
+ }
580
+ },
581
+ "optimizer_leaves": {
582
+ "key": "protocol.leaves",
583
+ "source": "native/adam/manifest.json",
584
+ "value": [
585
+ "log_spring_y",
586
+ "raw_ground_restitution",
587
+ "raw_ground_friction",
588
+ "raw_object_restitution",
589
+ "raw_object_friction"
590
+ ]
591
+ }
592
+ },
593
+ "schema": "real_rgbd_photometric_adam_v1",
594
+ "seed": {
595
+ "reason": "the Adam stage records no random seed; its traversal order is chronological",
596
+ "searched": [
597
+ "native/adam/manifest.json"
598
+ ],
599
+ "value": null
600
+ },
601
+ "stage": "photometric_adam",
602
+ "stiffness_update": {
603
+ "key": "protocol.projected_log_y",
604
+ "source": "native/adam/manifest.json",
605
+ "value": "projected: finite raw log Y moved back onto the physical cap after every update (protocol.projected_log_y true)"
606
+ }
607
+ }
608
+ ],
609
+ "status": {
610
+ "completion_evidence": [
611
+ "native/adam/training_complete.json",
612
+ "native/adam/best.json",
613
+ "native/cma/result.json"
614
+ ],
615
+ "label": "complete",
616
+ "note": null
617
+ },
618
+ "unknowns": []
619
+ }