{"schema":"dvidia.piper-reliability-protocol/v0.5","profile":"piper-rigid-block-task-v0.1","scope":"Paired authored PiPER reliability pilot, privileged native state and synthetic rigid blocks. No learned policy, sensor pipeline, calibrated contact, shoe competence or physical robot qualification.","physical_robot_ready":false,"learned_policy":false,"cohort":"confirmation","seed":227037,"scenes":[{"id":"friction080-mass040-layout00","layout_index":0,"stratum":"nominal","friction":0.8,"mass_kg":0.04,"seed":227037,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3027299643062554,-0.026483603571169852,0.082],"target_position_m":[0.34663211987003234,0.08384157482076107,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.04,"friction":0.8,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction080-mass040-layout01","layout_index":1,"stratum":"nominal","friction":0.8,"mass_kg":0.04,"seed":227038,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3034720652742572,-0.03475731269214419,0.082],"target_position_m":[0.35123225726516805,0.08384439411720945,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.04,"friction":0.8,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction080-mass060-layout00","layout_index":0,"stratum":"nominal","friction":0.8,"mass_kg":0.06,"seed":227039,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3027299643062554,-0.026483603571169852,0.082],"target_position_m":[0.34663211987003234,0.08384157482076107,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.06,"friction":0.8,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction080-mass060-layout01","layout_index":1,"stratum":"nominal","friction":0.8,"mass_kg":0.06,"seed":227040,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3034720652742572,-0.03475731269214419,0.082],"target_position_m":[0.35123225726516805,0.08384439411720945,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.06,"friction":0.8,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction055-mass040-layout00","layout_index":0,"stratum":"moderate_friction","friction":0.55,"mass_kg":0.04,"seed":227041,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3027299643062554,-0.026483603571169852,0.082],"target_position_m":[0.34663211987003234,0.08384157482076107,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.04,"friction":0.55,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction055-mass040-layout01","layout_index":1,"stratum":"moderate_friction","friction":0.55,"mass_kg":0.04,"seed":227042,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3034720652742572,-0.03475731269214419,0.082],"target_position_m":[0.35123225726516805,0.08384439411720945,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.04,"friction":0.55,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction055-mass060-layout00","layout_index":0,"stratum":"moderate_friction","friction":0.55,"mass_kg":0.06,"seed":227043,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3027299643062554,-0.026483603571169852,0.082],"target_position_m":[0.34663211987003234,0.08384157482076107,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.06,"friction":0.55,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction055-mass060-layout01","layout_index":1,"stratum":"moderate_friction","friction":0.55,"mass_kg":0.06,"seed":227044,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3034720652742572,-0.03475731269214419,0.082],"target_position_m":[0.35123225726516805,0.08384439411720945,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.06,"friction":0.55,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction015-mass040-layout00","layout_index":0,"stratum":"low_friction","friction":0.15,"mass_kg":0.04,"seed":227045,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3027299643062554,-0.026483603571169852,0.082],"target_position_m":[0.34663211987003234,0.08384157482076107,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.04,"friction":0.15,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction015-mass040-layout01","layout_index":1,"stratum":"low_friction","friction":0.15,"mass_kg":0.04,"seed":227046,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3034720652742572,-0.03475731269214419,0.082],"target_position_m":[0.35123225726516805,0.08384439411720945,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.04,"friction":0.15,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction015-mass060-layout00","layout_index":0,"stratum":"low_friction","friction":0.15,"mass_kg":0.06,"seed":227047,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3027299643062554,-0.026483603571169852,0.082],"target_position_m":[0.34663211987003234,0.08384157482076107,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.06,"friction":0.15,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}},{"id":"friction015-mass060-layout01","layout_index":1,"stratum":"low_friction","friction":0.15,"mass_kg":0.06,"seed":227048,"config":{"timestep":0.001,"control_dt":0.02,"timeout_s":20.0,"settle_s":0.5,"object_position_m":[0.3034720652742572,-0.03475731269214419,0.082],"target_position_m":[0.35123225726516805,0.08384439411720945,0.08],"object_half_size_m":[0.02,0.02,0.02],"mass_kg":0.06,"friction":0.15,"table_top_m":0.06,"table_center_xy_m":[0.38,0.0],"table_half_size_xy_m":[0.17,0.22],"table_thickness_m":0.04,"goal_position_tolerance_m":0.025,"goal_dwell_s":0.25,"min_lift_m":0.06,"min_lift_dwell_s":0.1,"retreat_clearance_m":0.1,"joint_target_rate_rad_s":1.5,"jaw_target_rate_m_s":0.05,"tool_orientation_wxyz":[0.0,0.0,1.0,0.0],"carry_orientation_wxyz":[0.25881904510252074,0.0,0.9659258262890683,0.0]}}],"variants":["recovery_placement","recovery_open_jaw","reacquire_placement","reacquire_open_jaw","reacquire_grasp_placement","reacquire_grasp_open_jaw","hold"],"planned_attempts":84,"contract":{"profile":"piper-rigid-block-task-v0.1","scope":"Authored PiPER rigid-block contact pilot with privileged native state. Pinned upstream servos/inertias/collision proxies/gravity compensation, synthetic commands and uncalibrated contact. No learned skill, camera sensing, shoe manipulation or physical robot qualification.","physical_robot_ready":false,"arm_joint_order":["joint1","joint2","joint3","joint4","joint5","joint6"],"actions":{"joint_targets_rad":"six native position-servo targets in radians","gripper_position_m":"one native single-finger slide target in metres [0,.035]; 0 closed/.035 open; not measured full gap"},"gripper_joints":["joint7","joint8"],"independent_gripper_commands":1,"tcp":"authored site in link6 at local [0,0,.12003] near the distal finger-box centers; not hardware calibrated","object":"free rigid block with native gravity, no weld/equality/mocap or post-reset pose writes","contact":"stock native finger collision boxes; object priority1 authors pair friction explicitly","servo_gains":"unchanged upstream PiPER position servos and force caps; upstream robot gravcomp=1 retained","collision_support_exemption":"fixed base capsule may contact floor; moving robot/table/floor or block/nonfinger contacts are critical","observations":"privileged joint/object/TCP/contact state; no deployable sensor pipeline","success":"valid native physics, sustained bilateral table-free lift and retained carry to supported destination, then actual released/settled destination dwell and retreat","carry_contact_loss_tolerance_seconds":0.04,"contact_force_threshold_n":0.01,"simulation_asset_license":"MIT"},"contact_contract":{"schema":"dvidia.piper-contact-memory/v0.3","parameters":{"history_window_s":0.12,"minimum_history_s":0.1,"trend_rate_m_s":0.025,"trend_displacement_m":0.0025,"minimum_straightness":0.7,"trend_samples":2,"loss_samples":2,"slowdown_joint_delta_scale":0.35,"slowdown_duration_s":0.12,"hold_minimum_s":0.12,"hold_timeout_s":0.8,"settled_rate_m_s":0.008,"settled_displacement_m":0.0015,"settled_dwell_s":0.1,"resumed_joint_delta_scale":0.45,"maximum_reassessments":2},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"observations":"causal recorded privileged TCP/object poses and native contact/normal force snapshots; no material, mass, future observation or outcome input to the contact check","history":"inclusive past 120 ms of TCP-local object offset; unknown before 100 ms span; displacement is endpoint Euclidean distance, rate is displacement/span, slope is least-squares vector rate, straightness is displacement/summed consecutive path","trend":"rate >=25 mm/s, displacement >=2.5 mm and straightness >=0.7 for two snapshots; two bilateral-contact-loss snapshots independently request closed hold","slowdown":"scale original requested joint-position delta from measured joints by 0.35 for 120 ms, then hold measured joints closed; actual native speed is measured separately","reassessment":"minimum 120 ms hold; known window displacement and maximum pairwise excursion <=1.5 mm and rate <=8 mm/s, loaded bilateral contacts throughout, no table support and object rise >=6 mm sustained for 100 ms; timeout 800 ms, at most two holds","resume":"causally refresh original teacher held offset to current TCP-local object offset and scale requested joint deltas by 0.45 until supported arrival; subsequent persistent slip may hold again within the budget","probe_only":"identical acquisition and retry; removes postqualification carry monitoring only","stop":"measured joint-position requests with jaw closed; inertia and native target rate limits may continue physical motion","duration":"unchanged fixed episode budget including probe, retry, slowdown, hold and abort; no force/gain/dynamics/scorer change","scope":"authored simulator controller with privileged observations; no learned memory, material inference, sensor latency, hardware safety or task qualification claim"},"acquisition_contract":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"evaluation_contract":{"schema":"dvidia.piper-reliability-sampled-evaluation/v0.5","contact":{"schema":"dvidia.piper-contact-sampled-evaluation/v0.3","following":{"schema":"dvidia.piper-grip-sampled-evaluation/v1","following_rise_m":0.01,"following_dwell_s":0.1,"qualification_lookahead_s":0.6,"local_offset_drift_limit_m":0.008,"post_alarm_window_s":0.1,"scope":"Independent recorded 20ms boundary proxies, not recomputed native physics or classifier accuracy. Following requires table-free object rise and stable TCP-local object offset, without controller predicates. Unresolved decisions and absent opportunities remain explicit. Alarm delays use simulator timestamps; wall computation is reported separately. Post-alarm path includes native servo motion while holding."},"motion_window_s":0.1,"settled_window_s":0.1,"settled_tcp_speed_limit_m_s":0.01,"minimum_settled_object_rise_m":0.006,"scope":"Independent recorded 20ms boundaries, not detector accuracy or physics recomputation. Motion windows retain actual native movement after commands, not instantaneous arrest. Settled, resumed and completed are separate; no observed true-slip opportunity is not a perfect score."},"comparison":"Completion and valid denominator first; completion time deltas only in paired common successes. Unsuccessful acquisitions retain bounded terminal decisions and the full original 20-second episode. Recovery duration includes unresolved holds; sampled motion is not a physical speed guarantee.","scope":"Recorded 20ms boundaries, not true-slip labels, independent physical truth or real-time sensor latency."},"implementation_sha256":{"piper_task.py":"e66a44a8df4e7a8ee42e4f3866f889f8797cdfb8e2688a146e09b75d2c76664f","piper_task_benchmark.py":"d1294fac93bb42a26a654c6fd0950718e528cbf3cd96ffcd53118da0a1646776","robot_profiles.py":"fb90782a6a9979e282182118ae0e3e29d00f101255cc57378dd3f692672bb13d","robot_profiles.lock.json":"4b2ee2ca675aceb2f826983cb3082a3e08e9aa0ff419b23078abcff08ebcc6fe","reference_task.py":"bbc768ccc202b8dd41cbd235b206e6478806ce47c1f30ae15dc662c0c1edcc3e","reference_sim.py":"c1201d22eb13dd07a236ee63cc4ba68e129f6067e8db61ed41af2d820eb5e3b8","reference_replay.py":"f73731434d55bac150db16c7205d341a70b95ce13e582e7a23d11dee31b27a19","piper_grip_guard.py":"90895566cad8d5a3c158a14d3165fa1866cb3d7a4a3eecac3ca0ca8ab3e88dfb","piper_grip_benchmark.py":"7ab72a8cbe77d4db96d3fa45087571e3e1d64f40fe92b6f37032936701f318e1","piper_contact_memory.py":"f608d6647046f6fa02d8ad5e87fad10853837520a6a0fae2043c7ad260a06c4c","piper_contact_benchmark.py":"6ebd44c3704cda8679335f988df0dcc7817b3f8da314b7a4fe8b3939215728bb","piper_contact_recovery.py":"81058659b332f4d1233fb88d9e3d84fd935f5a9fe9d418b040a4a536b5291f6c","piper_recovery_benchmark.py":"081ec18d90c91fe910c957ab3485444cfe2376ef7277be92823806c7c0e290bd","piper_reacquisition.py":"b1eaffd7f9d80f21d3b9371e1adbe8b9c730a834745d8160c558937d35691e21","piper_grasp_strategy.py":"a2cbf9f954f6428894bd11cb42f228fe86f2ae88ba62e431f78bc33c7f3db36b","piper_reliability_benchmark.py":"07672ae3f791c15df364580d7f9dc1758c23e5744374a6580720c4883b69aba9"},"native_command_units":["rad","rad","rad","rad","rad","rad","m"],"simulation_asset_license":"MIT","layout_offset_limit_m":0.005,"timing_boundary":"Attempt wall includes asset verification, compilation, settling, authored planning/IK, physics, contact scoring and recorded state construction. Protocol/report/trace disk serialization, rendering, training, physical sensing, transport and actuation are excluded. Control computation windows are not sensor-to-actuator reaction times.","comparison":"Identical native mechanics, initial state and full twenty-second duration per scene. Frozen v0.4 recovery versus bounded second lift and optional fixed alternate-grasp plus second lift. Each placement has its own complete arm-tape/open-jaw control, plus a shared initial-arm hold. The second-lift ablation separates carry recovery from alternate-grasp planning. Every attempted failure, invalid result and unresolved recovery remains in the denominator.","split_note":"Synthetic declared confirmation does not prove unseen scenes or physical reliability. Controller/evaluation parameters and sources are frozen before any native attempt.","recovery_contract":{"schema":"dvidia.piper-contact-recovery/v0.4","parameters":{"acquisition_window_s":0.12,"acquisition_minimum_span_s":0.1,"acquisition_jaw_excursion_m":0.0005,"acquisition_normal_excursion_n":0.05,"restoration_dwell_s":0.1,"restoration_ramp_s":0.3},"prior_contact_contract":{"schema":"dvidia.piper-contact-memory/v0.3","parameters":{"history_window_s":0.12,"minimum_history_s":0.1,"trend_rate_m_s":0.025,"trend_displacement_m":0.0025,"minimum_straightness":0.7,"trend_samples":2,"loss_samples":2,"slowdown_joint_delta_scale":0.35,"slowdown_duration_s":0.12,"hold_minimum_s":0.12,"hold_timeout_s":0.8,"settled_rate_m_s":0.008,"settled_displacement_m":0.0015,"settled_dwell_s":0.1,"resumed_joint_delta_scale":0.45,"maximum_reassessments":2},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"observations":"causal recorded privileged TCP/object poses and native contact/normal force snapshots; no material, mass, future observation or outcome input to the contact check","history":"inclusive past 120 ms of TCP-local object offset; unknown before 100 ms span; displacement is endpoint Euclidean distance, rate is displacement/span, slope is least-squares vector rate, straightness is displacement/summed consecutive path","trend":"rate >=25 mm/s, displacement >=2.5 mm and straightness >=0.7 for two snapshots; two bilateral-contact-loss snapshots independently request closed hold","slowdown":"scale original requested joint-position delta from measured joints by 0.35 for 120 ms, then hold measured joints closed; actual native speed is measured separately","reassessment":"minimum 120 ms hold; known window displacement and maximum pairwise excursion <=1.5 mm and rate <=8 mm/s, loaded bilateral contacts throughout, no table support and object rise >=6 mm sustained for 100 ms; timeout 800 ms, at most two holds","resume":"causally refresh original teacher held offset to current TCP-local object offset and scale requested joint deltas by 0.45 until supported arrival; subsequent persistent slip may hold again within the budget","probe_only":"identical acquisition and retry; removes postqualification carry monitoring only","stop":"measured joint-position requests with jaw closed; inertia and native target rate limits may continue physical motion","duration":"unchanged fixed episode budget including probe, retry, slowdown, hold and abort; no force/gain/dynamics/scorer change","scope":"authored simulator controller with privileged observations; no learned memory, material inference, sensor latency, hardware safety or task qualification claim"},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"refusal":"full recovery mode only: original two-observation supported object-not-following alarm plus at least 100 ms of bilateral loaded supported contact, closed requests, jaw excursion <=0.5 mm and each pad normal force excursion <=0.05 N; hold closed and refuse the unchanged retry","refusal_scope":"an unchanged grasp did not follow its probe; no mass/friction input or conclusion that a different grasp is impossible","carry_only":"recovery_carry retains exact v0.3 acquisition and supported retry; only carry speed restoration changes","restoration":"after the unchanged v0.3 settling hold, resume at 0.45 joint-delta scale; the same relative settling evidence must persist for 100 ms before scale increases linearly toward 1 over 300 ms of additional stable observed time; pause the increase while evidence is unstable and reset on a new hold","evidence":"known relative history, displacement and maximum excursion <=1.5 mm, rate <=8 mm/s, all samples loaded bilateral and unsupported, object rise >=6 mm; unchanged v0.3 trend/contact-loss responses remain active throughout","duration":"fixed 20-second episode includes refusal holding and every recovery; no force, gain, model, scorer, or instantaneous velocity writes","scope":"authored controller using privileged simulation observations; no learned model, sensor latency, material inference or hardware qualification"},"reliability_contract":{"recovery":{"schema":"dvidia.piper-contact-recovery/v0.4","parameters":{"acquisition_window_s":0.12,"acquisition_minimum_span_s":0.1,"acquisition_jaw_excursion_m":0.0005,"acquisition_normal_excursion_n":0.05,"restoration_dwell_s":0.1,"restoration_ramp_s":0.3},"prior_contact_contract":{"schema":"dvidia.piper-contact-memory/v0.3","parameters":{"history_window_s":0.12,"minimum_history_s":0.1,"trend_rate_m_s":0.025,"trend_displacement_m":0.0025,"minimum_straightness":0.7,"trend_samples":2,"loss_samples":2,"slowdown_joint_delta_scale":0.35,"slowdown_duration_s":0.12,"hold_minimum_s":0.12,"hold_timeout_s":0.8,"settled_rate_m_s":0.008,"settled_displacement_m":0.0015,"settled_dwell_s":0.1,"resumed_joint_delta_scale":0.45,"maximum_reassessments":2},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"observations":"causal recorded privileged TCP/object poses and native contact/normal force snapshots; no material, mass, future observation or outcome input to the contact check","history":"inclusive past 120 ms of TCP-local object offset; unknown before 100 ms span; displacement is endpoint Euclidean distance, rate is displacement/span, slope is least-squares vector rate, straightness is displacement/summed consecutive path","trend":"rate >=25 mm/s, displacement >=2.5 mm and straightness >=0.7 for two snapshots; two bilateral-contact-loss snapshots independently request closed hold","slowdown":"scale original requested joint-position delta from measured joints by 0.35 for 120 ms, then hold measured joints closed; actual native speed is measured separately","reassessment":"minimum 120 ms hold; known window displacement and maximum pairwise excursion <=1.5 mm and rate <=8 mm/s, loaded bilateral contacts throughout, no table support and object rise >=6 mm sustained for 100 ms; timeout 800 ms, at most two holds","resume":"causally refresh original teacher held offset to current TCP-local object offset and scale requested joint deltas by 0.45 until supported arrival; subsequent persistent slip may hold again within the budget","probe_only":"identical acquisition and retry; removes postqualification carry monitoring only","stop":"measured joint-position requests with jaw closed; inertia and native target rate limits may continue physical motion","duration":"unchanged fixed episode budget including probe, retry, slowdown, hold and abort; no force/gain/dynamics/scorer change","scope":"authored simulator controller with privileged observations; no learned memory, material inference, sensor latency, hardware safety or task qualification claim"},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"refusal":"full recovery mode only: original two-observation supported object-not-following alarm plus at least 100 ms of bilateral loaded supported contact, closed requests, jaw excursion <=0.5 mm and each pad normal force excursion <=0.05 N; hold closed and refuse the unchanged retry","refusal_scope":"an unchanged grasp did not follow its probe; no mass/friction input or conclusion that a different grasp is impossible","carry_only":"recovery_carry retains exact v0.3 acquisition and supported retry; only carry speed restoration changes","restoration":"after the unchanged v0.3 settling hold, resume at 0.45 joint-delta scale; the same relative settling evidence must persist for 100 ms before scale increases linearly toward 1 over 300 ms of additional stable observed time; pause the increase while evidence is unstable and reset on a new hold","evidence":"known relative history, displacement and maximum excursion <=1.5 mm, rate <=8 mm/s, all samples loaded bilateral and unsupported, object rise >=6 mm; unchanged v0.3 trend/contact-loss responses remain active throughout","duration":"fixed 20-second episode includes refusal holding and every recovery; no force, gain, model, scorer, or instantaneous velocity writes","scope":"authored controller using privileged simulation observations; no learned model, sensor latency, material inference or hardware qualification"},"reacquire":{"schema":"dvidia.piper-reacquisition/v0.5","parameters":{"low_hold_minimum_rise_m":0.001,"low_hold_dwell_s":0.1,"probe_height_m":0.008,"probe_speed_m_s":0.01,"probe_minimum_tcp_rise_m":0.004,"probe_timeout_s":1.2,"maximum_probes":1},"prior_recovery_contract":{"schema":"dvidia.piper-contact-recovery/v0.4","parameters":{"acquisition_window_s":0.12,"acquisition_minimum_span_s":0.1,"acquisition_jaw_excursion_m":0.0005,"acquisition_normal_excursion_n":0.05,"restoration_dwell_s":0.1,"restoration_ramp_s":0.3},"prior_contact_contract":{"schema":"dvidia.piper-contact-memory/v0.3","parameters":{"history_window_s":0.12,"minimum_history_s":0.1,"trend_rate_m_s":0.025,"trend_displacement_m":0.0025,"minimum_straightness":0.7,"trend_samples":2,"loss_samples":2,"slowdown_joint_delta_scale":0.35,"slowdown_duration_s":0.12,"hold_minimum_s":0.12,"hold_timeout_s":0.8,"settled_rate_m_s":0.008,"settled_displacement_m":0.0015,"settled_dwell_s":0.1,"resumed_joint_delta_scale":0.45,"maximum_reassessments":2},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"observations":"causal recorded privileged TCP/object poses and native contact/normal force snapshots; no material, mass, future observation or outcome input to the contact check","history":"inclusive past 120 ms of TCP-local object offset; unknown before 100 ms span; displacement is endpoint Euclidean distance, rate is displacement/span, slope is least-squares vector rate, straightness is displacement/summed consecutive path","trend":"rate >=25 mm/s, displacement >=2.5 mm and straightness >=0.7 for two snapshots; two bilateral-contact-loss snapshots independently request closed hold","slowdown":"scale original requested joint-position delta from measured joints by 0.35 for 120 ms, then hold measured joints closed; actual native speed is measured separately","reassessment":"minimum 120 ms hold; known window displacement and maximum pairwise excursion <=1.5 mm and rate <=8 mm/s, loaded bilateral contacts throughout, no table support and object rise >=6 mm sustained for 100 ms; timeout 800 ms, at most two holds","resume":"causally refresh original teacher held offset to current TCP-local object offset and scale requested joint deltas by 0.45 until supported arrival; subsequent persistent slip may hold again within the budget","probe_only":"identical acquisition and retry; removes postqualification carry monitoring only","stop":"measured joint-position requests with jaw closed; inertia and native target rate limits may continue physical motion","duration":"unchanged fixed episode budget including probe, retry, slowdown, hold and abort; no force/gain/dynamics/scorer change","scope":"authored simulator controller with privileged observations; no learned memory, material inference, sensor latency, hardware safety or task qualification claim"},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"refusal":"full recovery mode only: original two-observation supported object-not-following alarm plus at least 100 ms of bilateral loaded supported contact, closed requests, jaw excursion <=0.5 mm and each pad normal force excursion <=0.05 N; hold closed and refuse the unchanged retry","refusal_scope":"an unchanged grasp did not follow its probe; no mass/friction input or conclusion that a different grasp is impossible","carry_only":"recovery_carry retains exact v0.3 acquisition and supported retry; only carry speed restoration changes","restoration":"after the unchanged v0.3 settling hold, resume at 0.45 joint-delta scale; the same relative settling evidence must persist for 100 ms before scale increases linearly toward 1 over 300 ms of additional stable observed time; pause the increase while evidence is unstable and reset on a new hold","evidence":"known relative history, displacement and maximum excursion <=1.5 mm, rate <=8 mm/s, all samples loaded bilateral and unsupported, object rise >=6 mm; unchanged v0.3 trend/contact-loss responses remain active throughout","duration":"fixed 20-second episode includes refusal holding and every recovery; no force, gain, model, scorer, or instantaneous velocity writes","scope":"authored controller using privileged simulation observations; no learned model, sensor latency, material inference or hardware qualification"},"eligibility":"only an existing postqualification settling hold; unchanged known 100 ms relative history, loaded bilateral unsupported samples, <=1.5 mm displacement/excursion and <=8 mm/s rate; 100 ms low-stable dwell after minimum 120 ms hold; object rise >=1 mm and below original 6 mm resume floor","probe":"at most one measured-pose vertical second probe, requested rise <=8 mm at 10 mm/s, fixed measured orientation and closed jaw; 1.2 second total timeout including qualification","failure":"close hold and abort on unknown history, any current unloaded or lost pad, renewed table support, unexpected contact, relative offset drift >3 mm, or persistent original slip trend; never increase force or alter gains","resume":"second probe measured TCP rise >=4 mm from its origin; unchanged loaded relative settling evidence and original >=6 mm rise sustained 100 ms; refresh measured relative held offset, then original v0.4 reduced delta and restoration; task lift/retention/place gates untouched","scope":"authored privileged simulator state, not learned skill, sensor pipeline, calibrated robot or hardware safety control"},"reacquire_grasp":{"schema":"dvidia.piper-grasp-reacquisition/v0.5","reacquisition":{"schema":"dvidia.piper-reacquisition/v0.5","parameters":{"low_hold_minimum_rise_m":0.001,"low_hold_dwell_s":0.1,"probe_height_m":0.008,"probe_speed_m_s":0.01,"probe_minimum_tcp_rise_m":0.004,"probe_timeout_s":1.2,"maximum_probes":1},"prior_recovery_contract":{"schema":"dvidia.piper-contact-recovery/v0.4","parameters":{"acquisition_window_s":0.12,"acquisition_minimum_span_s":0.1,"acquisition_jaw_excursion_m":0.0005,"acquisition_normal_excursion_n":0.05,"restoration_dwell_s":0.1,"restoration_ramp_s":0.3},"prior_contact_contract":{"schema":"dvidia.piper-contact-memory/v0.3","parameters":{"history_window_s":0.12,"minimum_history_s":0.1,"trend_rate_m_s":0.025,"trend_displacement_m":0.0025,"minimum_straightness":0.7,"trend_samples":2,"loss_samples":2,"slowdown_joint_delta_scale":0.35,"slowdown_duration_s":0.12,"hold_minimum_s":0.12,"hold_timeout_s":0.8,"settled_rate_m_s":0.008,"settled_displacement_m":0.0015,"settled_dwell_s":0.1,"resumed_joint_delta_scale":0.45,"maximum_reassessments":2},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"observations":"causal recorded privileged TCP/object poses and native contact/normal force snapshots; no material, mass, future observation or outcome input to the contact check","history":"inclusive past 120 ms of TCP-local object offset; unknown before 100 ms span; displacement is endpoint Euclidean distance, rate is displacement/span, slope is least-squares vector rate, straightness is displacement/summed consecutive path","trend":"rate >=25 mm/s, displacement >=2.5 mm and straightness >=0.7 for two snapshots; two bilateral-contact-loss snapshots independently request closed hold","slowdown":"scale original requested joint-position delta from measured joints by 0.35 for 120 ms, then hold measured joints closed; actual native speed is measured separately","reassessment":"minimum 120 ms hold; known window displacement and maximum pairwise excursion <=1.5 mm and rate <=8 mm/s, loaded bilateral contacts throughout, no table support and object rise >=6 mm sustained for 100 ms; timeout 800 ms, at most two holds","resume":"causally refresh original teacher held offset to current TCP-local object offset and scale requested joint deltas by 0.45 until supported arrival; subsequent persistent slip may hold again within the budget","probe_only":"identical acquisition and retry; removes postqualification carry monitoring only","stop":"measured joint-position requests with jaw closed; inertia and native target rate limits may continue physical motion","duration":"unchanged fixed episode budget including probe, retry, slowdown, hold and abort; no force/gain/dynamics/scorer change","scope":"authored simulator controller with privileged observations; no learned memory, material inference, sensor latency, hardware safety or task qualification claim"},"acquisition":{"schema":"dvidia.piper-grip-guard/v1","parameters":{"probe_height_m":0.01,"probe_speed_m_s":0.02,"probe_min_object_rise_m":0.006,"qualification_dwell_s":0.1,"relative_drift_limit_m":0.003,"monitor_min_probe_motion_m":0.003,"consecutive_alarm_samples":2,"probe_timeout_s":1.4,"close_timeout_s":1.4,"retry_open_timeout_s":1.2,"retry_recenter_timeout_s":1.5,"retry_clearance_m":0.012,"max_retries":1},"observations":"grip check uses causal current privileged TCP/object pose and bilateral native contacts at 20 ms; no mass/friction or scorer input; downstream original motion policy remains unchanged and uses the existing lift outcome flag","qualification":"slow 10 mm probe; object rises at least 6 mm, both pads retain contact, support is absent and TCP-local drift <=3 mm for 100 ms","alarm":"two consecutive snapshots with relative drift, bilateral-contact loss or supported object failing to follow a moving probe; bounded closure/probe timeouts","recovery":"hold measured six joint targets first; only supported objects may be opened/recentered/retried, at most once; support loss stops closed","stop":"requested measured joint targets; native rate limiting and inertia may continue motion, which is recorded","duration":"original fixed episode timeout including every probe/retry/abort holding command","scope":"authored simulator controller, not a sensor implementation, hardware safety controller or learned policy"},"refusal":"full recovery mode only: original two-observation supported object-not-following alarm plus at least 100 ms of bilateral loaded supported contact, closed requests, jaw excursion <=0.5 mm and each pad normal force excursion <=0.05 N; hold closed and refuse the unchanged retry","refusal_scope":"an unchanged grasp did not follow its probe; no mass/friction input or conclusion that a different grasp is impossible","carry_only":"recovery_carry retains exact v0.3 acquisition and supported retry; only carry speed restoration changes","restoration":"after the unchanged v0.3 settling hold, resume at 0.45 joint-delta scale; the same relative settling evidence must persist for 100 ms before scale increases linearly toward 1 over 300 ms of additional stable observed time; pause the increase while evidence is unstable and reset on a new hold","evidence":"known relative history, displacement and maximum excursion <=1.5 mm, rate <=8 mm/s, all samples loaded bilateral and unsupported, object rise >=6 mm; unchanged v0.3 trend/contact-loss responses remain active throughout","duration":"fixed 20-second episode includes refusal holding and every recovery; no force, gain, model, scorer, or instantaneous velocity writes","scope":"authored controller using privileged simulation observations; no learned model, sensor latency, material inference or hardware qualification"},"eligibility":"only an existing postqualification settling hold; unchanged known 100 ms relative history, loaded bilateral unsupported samples, <=1.5 mm displacement/excursion and <=8 mm/s rate; 100 ms low-stable dwell after minimum 120 ms hold; object rise >=1 mm and below original 6 mm resume floor","probe":"at most one measured-pose vertical second probe, requested rise <=8 mm at 10 mm/s, fixed measured orientation and closed jaw; 1.2 second total timeout including qualification","failure":"close hold and abort on unknown history, any current unloaded or lost pad, renewed table support, unexpected contact, relative offset drift >3 mm, or persistent original slip trend; never increase force or alter gains","resume":"second probe measured TCP rise >=4 mm from its origin; unchanged loaded relative settling evidence and original >=6 mm rise sustained 100 ms; refresh measured relative held offset, then original v0.4 reduced delta and restoration; task lift/retention/place gates untouched","scope":"authored privileged simulator state, not learned skill, sensor pipeline, calibrated robot or hardware safety control"},"grasp_strategy":{"schema":"dvidia.piper-grasp-strategy/development","parameters":{"yaw_degrees":-45.0,"orientation_error_limit_rad":0.1,"retain_carry_yaw":false},"candidate":"fixed world-z yaw of the downward grasp orientation; original approach orientation; optionally retain that yaw through postapproach carry poses","planner":"bounded differential IK; translation error <=15 mm, orientation error <= configured limit only when requested quaternion matches the downward grasp target (absolute quaternion dot >=1-1e-12), original 0.05 rad for all other targets; joint delta <=0.06 rad, damping 0.012, original position/jaw target rates and native control limits","unchanged":"native gains, force limits, geometry, friction, integration, task scoring and 20-second budget","scope":"authored fixed development candidate, privileged native state, no material/mass/friction/outcome-based grasp selection and no hardware validation"},"selection":"fixed before the episode; no hidden mass, friction, outcome, or future observation inputs","scope":"experimental authored simulator candidate; alternate grasp acquisition alone is not completed placement"}},"policy_inputs_contract":{"native_lift_seen":"Boolean native 1ms lift latch recorded at each 20ms state, including terminal; monotonic and corroborated by sampled lift evidence. The original teacher reads this recorded flag during policy audit.","audit":"Portable checks validate stored native/task/pair evidence and explicit second-probe prerequisites/bounds. With pinned assets, replay the frozen authored policy and reconstruct IK at recorded states. No native trajectory reintegration or authenticity claim."}}
