{
  "schema": "simcompare.blog.physx-direction-pilot.v1",
  "status": "complete",
  "training_seed": 0,
  "sample_budget_per_policy": 131072,
  "training_engine": "PhysX CPU",
  "additional_trainings": 2,
  "episode_records": 192,
  "protocol": {
    "schema": "simcompare.physx-direction-pilot.v1",
    "training_engine": "physx",
    "physx_execution_path": "CPU",
    "source_runtime_threads": 2,
    "seed": 0,
    "force_penalties": [
      0,
      10
    ],
    "sample_budget": 131072,
    "workers": 8,
    "rollout_steps": 512,
    "architecture": [
      64,
      64
    ],
    "log_std_init": -0.5,
    "ppo": "unchanged rl_train.py hyperparameters",
    "validation": "24 frozen source-engine starts, once after the final update; final fixed-budget checkpoint is primary; no test selection.",
    "starts": "Existing frozen eight training starts; no scene regeneration.",
    "selection": "Seed 0, both rewards, fixed final 131072 checkpoint declared before PhysX pilot outcomes. One-seed engineering/scientific pilot, not an engine-wide robustness estimate.",
    "evaluation": {
      "engines": [
        "physx",
        "physx_gpu",
        "mujoco_cpu"
      ],
      "indices": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7
      ],
      "seed": 2000,
      "policies": "PhysX final checkpoint and archived equal-budget MuJoCo seed 0; scripted reference.",
      "interpretation": "Eight previously used regression layouts, not novel holdouts. Newton/Genesis and full 58-start evaluation deferred until this direction is informative."
    },
    "success": "Frozen insertion final hold and raw 40 N / 4 Nm stops. No credit for avoiding contact without inserting; numerical failures stay failures.",
    "measured_behavior": [
      "success",
      "overload/numerical failure",
      "depth/lateral/tilt",
      "raw and filtered loads",
      "native pose/action recordings"
    ],
    "scientific_claim": "Different successful behavior must be compared in the same evaluation engine; one seed only motivates replication, not a robust training-engine effect.",
    "cost_gate": "Require complete real PPO cost probe and exact scheduler parity. Project 32 updates plus final validation; do not launch if projection exceeds six hours per training condition. Runtime cap six hours per condition; preserve progress checkpoints every 16384 transitions.",
    "cost_limitations": "Initial random-policy speed may differ from contact-rich trained behavior; probe shares GPU with Genesis. Projection is a scheduling estimate.",
    "restart": "No automatic training retry. Saved policy/optimizer/normalization is not an exact native-state continuation.",
    "comparisons": {
      "0": {
        "checkpoint": "/workspace/simcompare/results/review-resumed-01/runs/insert-force0-seed0/checkpoints/000131072/policy.zip",
        "sha256": "cb5da1879ff1ee1692697355604e27419102ef266f95df01fce6436bdc5ff5ba",
        "source_plan_sha256": "2e7308efb63657d7d281565a543fadd6d0d7dda6752fd7fbcb31b18a9396463d"
      },
      "10": {
        "checkpoint": "/workspace/simcompare/results/review-resumed-01/runs/insert-force10-seed0/checkpoints/000131072/policy.zip",
        "sha256": "1acb1851ad54833c37c1d5ebb0640ea33292f36f36b4f6af17f9d846574ecc31",
        "source_plan_sha256": "1b66cd6f68661b36a2e38a75ba0faee1e3f0aab6cfdbfba405b69bcf747fe442"
      }
    }
  },
  "selection": "Fixed final checkpoint declared before outcomes; no checkpoint selection on these tests.",
  "scope": "One seed per reward, 24 source-validation starts and eight previously used test starts. This is not the five-seed, 50-new-start cohort. MuJoCo comparators use the same 131072-transition budget.",
  "interpretation": "The PhysX CPU baseline is less successful than the matched MuJoCo policy in every tested target. The PhysX force-penalty policy has zero successful insertions across all targets. Lower overload counts without task completion are not robustness. Source learning is not solved at this budget; successful behavior or engine-wide robustness differences are not established.",
  "recovery": "Baseline completed all PPO updates and saved the final checkpoint before an intermittent validation XML import failure. Unchanged scene passed an isolated check; the complete validation was repeated in a fresh journaled pass. No baseline retraining, physics change, or outcome selection. Original failure evidence retained.",
  "replay": "All 192 original native pose/action recordings and geometry hashes verified in the compact workspace backup; camera-independent 100 Hz samples plus finite terminal state, with 1 kHz peak diagnostics. Raw archive is not published.",
  "validations": {
    "0": {
      "physx": {
        "episodes": 24,
        "successes": 12,
        "overloads": 3,
        "other_unsuccessful": 9
      },
      "mujoco": {
        "episodes": 24,
        "successes": 24,
        "overloads": 0,
        "other_unsuccessful": 0
      }
    },
    "10": {
      "physx": {
        "episodes": 24,
        "successes": 0,
        "overloads": 2,
        "other_unsuccessful": 22
      },
      "mujoco": {
        "episodes": 24,
        "successes": 24,
        "overloads": 0,
        "other_unsuccessful": 0
      }
    }
  },
  "comparisons": {
    "0": {
      "physx": {
        "physx_trained": {
          "episodes": 8,
          "successes": 2,
          "overloads": 3,
          "other_unsuccessful": 3
        },
        "mujoco_trained": {
          "episodes": 8,
          "successes": 4,
          "overloads": 4,
          "other_unsuccessful": 0
        },
        "scripted": {
          "episodes": 8,
          "successes": 8,
          "overloads": 0,
          "other_unsuccessful": 0
        }
      },
      "physx_gpu": {
        "physx_trained": {
          "episodes": 8,
          "successes": 1,
          "overloads": 3,
          "other_unsuccessful": 4
        },
        "mujoco_trained": {
          "episodes": 8,
          "successes": 8,
          "overloads": 0,
          "other_unsuccessful": 0
        },
        "scripted": {
          "episodes": 8,
          "successes": 7,
          "overloads": 1,
          "other_unsuccessful": 0
        }
      },
      "mujoco_cpu": {
        "physx_trained": {
          "episodes": 8,
          "successes": 4,
          "overloads": 0,
          "other_unsuccessful": 4
        },
        "mujoco_trained": {
          "episodes": 8,
          "successes": 8,
          "overloads": 0,
          "other_unsuccessful": 0
        },
        "scripted": {
          "episodes": 8,
          "successes": 8,
          "overloads": 0,
          "other_unsuccessful": 0
        }
      }
    },
    "10": {
      "physx": {
        "physx_trained": {
          "episodes": 8,
          "successes": 0,
          "overloads": 0,
          "other_unsuccessful": 8
        },
        "mujoco_trained": {
          "episodes": 8,
          "successes": 2,
          "overloads": 6,
          "other_unsuccessful": 0
        },
        "scripted": {
          "episodes": 8,
          "successes": 8,
          "overloads": 0,
          "other_unsuccessful": 0
        }
      },
      "physx_gpu": {
        "physx_trained": {
          "episodes": 8,
          "successes": 0,
          "overloads": 0,
          "other_unsuccessful": 8
        },
        "mujoco_trained": {
          "episodes": 8,
          "successes": 5,
          "overloads": 3,
          "other_unsuccessful": 0
        },
        "scripted": {
          "episodes": 8,
          "successes": 7,
          "overloads": 1,
          "other_unsuccessful": 0
        }
      },
      "mujoco_cpu": {
        "physx_trained": {
          "episodes": 8,
          "successes": 0,
          "overloads": 0,
          "other_unsuccessful": 8
        },
        "mujoco_trained": {
          "episodes": 8,
          "successes": 8,
          "overloads": 0,
          "other_unsuccessful": 0
        },
        "scripted": {
          "episodes": 8,
          "successes": 8,
          "overloads": 0,
          "other_unsuccessful": 0
        }
      }
    }
  },
  "checkpoints": {
    "0": {
      "physx_trained": {
        "files": {
          "policy.zip": "85015f4e97577f7cb671f713a0870f703b97f6fd62ea06c6e2e2d7b22da18d71",
          "interface.json": "a33c034c19e48b20741dc9c3b7d66451d1c77e680e3e9f22358c9b0889e5b281",
          "normalization.json": "769209e93ab9843fde9dcc14a4041ee80807503574a8e2b1308dc8bffe399d2d"
        },
        "interface": {
          "version": "simcompare.rl.interface.v4",
          "task": "insert",
          "observation_dim": 70,
          "action_dim": 6,
          "observation": "q9,qd9,hand9,objects9/peg9,goal3,geometry3,target9,previous_action,remaining_time,bore_minus_tip3,goal_minus_tip3,peg_axis3,target_minus_hand3",
          "rotation": "first two rotation-matrix columns, row-major; raw traces use WXYZ",
          "policy_dt": 0.02,
          "control_dt": 0.001,
          "action": "world hand delta .25mm/.002rad, bounded target lead 3mm; part-one impedance",
          "feedforward": "shared current-state bias; no scripted trajectory feedforward",
          "force_observation": false,
          "horizon": 250,
          "control_profile": "insertion_v4",
          "constraints": {
            "position_step_m": 0.00025,
            "rotation_step_rad": 0.002,
            "position_lead_m": 0.003,
            "workspace_low_m": [
              -0.008,
              -0.008,
              -0.028
            ],
            "workspace_high_m": [
              0.008,
              0.008,
              0.008
            ],
            "rotation_target_limit_rad": 0.1,
            "tilt_limit_rad": 0.15,
            "speed_limit_rad_s": 2.0,
            "joint_margin_rad": 0.05,
            "lateral_success_m": 0.002,
            "tilt_success_rad": 0.0872664626
          },
          "reward": "structured_manipulation_v1",
          "force_penalty": 0.0,
          "task_structure": "align,enter,insert,hold"
        }
      },
      "mujoco_trained": {
        "files": {
          "policy.zip": "cb5da1879ff1ee1692697355604e27419102ef266f95df01fce6436bdc5ff5ba",
          "interface.json": "a33c034c19e48b20741dc9c3b7d66451d1c77e680e3e9f22358c9b0889e5b281",
          "normalization.json": "4253cc297154ed16e7f0181703f8dc65f916dcb47784fbc683f3c77f1f4dcf88"
        },
        "interface": {
          "version": "simcompare.rl.interface.v4",
          "task": "insert",
          "observation_dim": 70,
          "action_dim": 6,
          "observation": "q9,qd9,hand9,objects9/peg9,goal3,geometry3,target9,previous_action,remaining_time,bore_minus_tip3,goal_minus_tip3,peg_axis3,target_minus_hand3",
          "rotation": "first two rotation-matrix columns, row-major; raw traces use WXYZ",
          "policy_dt": 0.02,
          "control_dt": 0.001,
          "action": "world hand delta .25mm/.002rad, bounded target lead 3mm; part-one impedance",
          "feedforward": "shared current-state bias; no scripted trajectory feedforward",
          "force_observation": false,
          "horizon": 250,
          "control_profile": "insertion_v4",
          "constraints": {
            "position_step_m": 0.00025,
            "rotation_step_rad": 0.002,
            "position_lead_m": 0.003,
            "workspace_low_m": [
              -0.008,
              -0.008,
              -0.028
            ],
            "workspace_high_m": [
              0.008,
              0.008,
              0.008
            ],
            "rotation_target_limit_rad": 0.1,
            "tilt_limit_rad": 0.15,
            "speed_limit_rad_s": 2.0,
            "joint_margin_rad": 0.05,
            "lateral_success_m": 0.002,
            "tilt_success_rad": 0.0872664626
          },
          "reward": "structured_manipulation_v1",
          "force_penalty": 0.0,
          "task_structure": "align,enter,insert,hold"
        }
      }
    },
    "10": {
      "physx_trained": {
        "files": {
          "policy.zip": "98ddb173865f2539816d5580ce53a31f80e3742365ba519a3067fa9ece396541",
          "interface.json": "05500cc8c8d44b147c724c82811ae0da5b7ec5f1adea830850b351291bd56519",
          "normalization.json": "30c042f9116f58b06b4344f03e412d8d11ceae8c27153f70e9b3e4f5060a5084"
        },
        "interface": {
          "version": "simcompare.rl.interface.v4",
          "task": "insert",
          "observation_dim": 70,
          "action_dim": 6,
          "observation": "q9,qd9,hand9,objects9/peg9,goal3,geometry3,target9,previous_action,remaining_time,bore_minus_tip3,goal_minus_tip3,peg_axis3,target_minus_hand3",
          "rotation": "first two rotation-matrix columns, row-major; raw traces use WXYZ",
          "policy_dt": 0.02,
          "control_dt": 0.001,
          "action": "world hand delta .25mm/.002rad, bounded target lead 3mm; part-one impedance",
          "feedforward": "shared current-state bias; no scripted trajectory feedforward",
          "force_observation": false,
          "horizon": 250,
          "control_profile": "insertion_v4",
          "constraints": {
            "position_step_m": 0.00025,
            "rotation_step_rad": 0.002,
            "position_lead_m": 0.003,
            "workspace_low_m": [
              -0.008,
              -0.008,
              -0.028
            ],
            "workspace_high_m": [
              0.008,
              0.008,
              0.008
            ],
            "rotation_target_limit_rad": 0.1,
            "tilt_limit_rad": 0.15,
            "speed_limit_rad_s": 2.0,
            "joint_margin_rad": 0.05,
            "lateral_success_m": 0.002,
            "tilt_success_rad": 0.0872664626
          },
          "reward": "structured_manipulation_v1",
          "force_penalty": 10.0,
          "task_structure": "align,enter,insert,hold"
        }
      },
      "mujoco_trained": {
        "files": {
          "policy.zip": "1acb1851ad54833c37c1d5ebb0640ea33292f36f36b4f6af17f9d846574ecc31",
          "interface.json": "05500cc8c8d44b147c724c82811ae0da5b7ec5f1adea830850b351291bd56519",
          "normalization.json": "17d7689a5ec70f2f5c350c04e1e76ed237543493397bc03d57c98fb0d60c9dd7"
        },
        "interface": {
          "version": "simcompare.rl.interface.v4",
          "task": "insert",
          "observation_dim": 70,
          "action_dim": 6,
          "observation": "q9,qd9,hand9,objects9/peg9,goal3,geometry3,target9,previous_action,remaining_time,bore_minus_tip3,goal_minus_tip3,peg_axis3,target_minus_hand3",
          "rotation": "first two rotation-matrix columns, row-major; raw traces use WXYZ",
          "policy_dt": 0.02,
          "control_dt": 0.001,
          "action": "world hand delta .25mm/.002rad, bounded target lead 3mm; part-one impedance",
          "feedforward": "shared current-state bias; no scripted trajectory feedforward",
          "force_observation": false,
          "horizon": 250,
          "control_profile": "insertion_v4",
          "constraints": {
            "position_step_m": 0.00025,
            "rotation_step_rad": 0.002,
            "position_lead_m": 0.003,
            "workspace_low_m": [
              -0.008,
              -0.008,
              -0.028
            ],
            "workspace_high_m": [
              0.008,
              0.008,
              0.008
            ],
            "rotation_target_limit_rad": 0.1,
            "tilt_limit_rad": 0.15,
            "speed_limit_rad_s": 2.0,
            "joint_margin_rad": 0.05,
            "lateral_success_m": 0.002,
            "tilt_success_rad": 0.0872664626
          },
          "reward": "structured_manipulation_v1",
          "force_penalty": 10.0,
          "task_structure": "align,enter,insert,hold"
        }
      }
    }
  },
  "source_files_sha256": {
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-pilot-01/protocol.json": "4c82d3d5467fa3fdf4fad7b7d55c40b498cf919006eee40ad59add6cd62d23b6",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/status.json": "27eff5fda8af99e223fce66efe17e961e3f507bbc9f17f47daf246bc85349f1c",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-pilot-01/runs/physx-force0-seed0/checkpoints/000131072/checkpoint-manifest.json": "bdcda1daec2aff650c81d38e4d70ff7f43cd6afba9f5843df338629e46626ff8",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-pilot-01/runs/physx-force0-seed0/checkpoints/000131072/interface.json": "a33c034c19e48b20741dc9c3b7d66451d1c77e680e3e9f22358c9b0889e5b281",
    "output/vast-54611478/review-resume-01/results/review-resumed-01/runs/insert-force0-seed0/checkpoints/000131072/checkpoint-manifest.json": "206c48d8f136098e68469b12da1978a7ccebf1f80973a418a341e0f44e982b3d",
    "output/vast-54611478/review-resume-01/results/review-resumed-01/runs/insert-force0-seed0/checkpoints/000131072/interface.json": "a33c034c19e48b20741dc9c3b7d66451d1c77e680e3e9f22358c9b0889e5b281",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/validation/force0/status.json": "0a3e910089d4e30d552a890b2267669c2b8742cb7c32493841849197c157d3bf",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/validation/force0/outcomes.json": "ee870e07d81782e6e5381b0a8dd7ead931af2a99028ea3a14640743e90ecf009",
    "output/vast-54611478/review-resume-01/results/review-resumed-01/runs/insert-force0-seed0/checkpoints/000131072/validation-outcomes.json": "d51325b0863dec3cca7ddaab56e5866879f2cad7edb8e29ae2daf68b2be025d9",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force0-physx/status.json": "1823273b2a49fd638900d04a81f71c8835a9ff0f974468301a1b03f1a2c58281",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force0-physx/outcomes.json": "799780e3ad6b6da44e00c3ba89d4aace155b7029012f771db7f0ea3e18c3819d",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/comparison-force0-physx.json": "23eb080e5a23613fde0e3f7a3c42b9cc0eb54cebdf87c5c869a53c213d1bcabd",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force0-physx_gpu/status.json": "a3e90ff95d32f0049fac1f194e94b6baf520b40f5dad4074138c1690f2ac9fdf",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force0-physx_gpu/outcomes.json": "7b2ec30d4dc6891074c4c4a3b5dd86e5de6a6968b5104ae4bdc62b83b66d213a",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/comparison-force0-physx_gpu.json": "f8c3f5b3c5eb0b95e70db75f8623aa424ed67a10606caa1a4d99f04a6cf22bb8",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force0-mujoco_cpu/status.json": "4de03fb7fa0eb3c31b93175b8716fc8445acf5cb4ff7a16a3bf3891aaace8df2",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force0-mujoco_cpu/outcomes.json": "2eb4d1de3a3cd6d854cadfc5b72375f7cdef3eb77a1ccbb216e2d014e52fc0be",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/comparison-force0-mujoco_cpu.json": "d7b017443d927cb50adf300787b3f432e7f3c936943ad57cff92b7051b4b48c8",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/runs/physx-force10-seed0/checkpoint-manifest.json": "7471548fbcfc8d91f51a855af069d550e8ea9df6789e69ebca2e68f38176c8a0",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/runs/physx-force10-seed0/interface.json": "05500cc8c8d44b147c724c82811ae0da5b7ec5f1adea830850b351291bd56519",
    "output/vast-54611478/review-resume-01/results/review-resumed-01/runs/insert-force10-seed0/checkpoints/000131072/checkpoint-manifest.json": "cbd796bbe52f04295898d66af1b639e6db3c7e2e53cf40b2e904aa9d524516fe",
    "output/vast-54611478/review-resume-01/results/review-resumed-01/runs/insert-force10-seed0/checkpoints/000131072/interface.json": "05500cc8c8d44b147c724c82811ae0da5b7ec5f1adea830850b351291bd56519",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/validation/force10/status.json": "1036d4f0385245fc2a5c602a4d14cea84750c34211c33fe8be70ebb5b133c073",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/validation/force10/outcomes.json": "8444b2f806ac086323e8999e767420fb6300302717edf48c8eb9dc3884c32e74",
    "output/vast-54611478/review-resume-01/results/review-resumed-01/runs/insert-force10-seed0/checkpoints/000131072/validation-outcomes.json": "e54d0691c2480f6ff8204a8b3603feefd3198f6abea9925edaba5bb58df12ab3",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force10-physx/status.json": "1ecbc01e8d8c34927822e2fd5abd6e1c98d7aece90e06d2dd1666e1011590aa6",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force10-physx/outcomes.json": "02852405faad6c3e64a4c2d0d18aabeb92b325dbc597c8815c426b9f7c6bc032",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/comparison-force10-physx.json": "0fee6e655bbe0460ba3eb9277e08f4d3282065800cca5b3bb42494d257c26064",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force10-physx_gpu/status.json": "9c30cf0f5df7275c1efaca1f77ce34570306aa59905f55861be04079d7ee8e74",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force10-physx_gpu/outcomes.json": "a054d84b48cbf709492ea42f6b9219d15503623dec05360df5988983fd96e5ea",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/comparison-force10-physx_gpu.json": "1f4e0268abffa81c8dd89b4f33d5340f6dbaf5ef0bde582c6f0705d46423de74",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force10-mujoco_cpu/status.json": "e8cfc4d3b35cfa8be78c4afdc481003e668cfd1d91cfdcfac85623f540afb2b4",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/evaluations/force10-mujoco_cpu/outcomes.json": "23ffc1079ed9518e28a3ac4ead4618bf05844faf5ac2433e5fc6a2d3bbf0c7f7",
    "output/vast-54611478/physx-direction-01/results/physx-cpu-direction-recovery-01/comparison-force10-mujoco_cpu.json": "3cf3ccfa9c03447495ac0bdd2fb07b4ba2e7b2afd63655f75dde65a8c90beb8c"
  },
  "exporter_sha256": "5e998461652fbf9beb3888762c2292ae48f3ad9659b73ed50dcb97c33c9b58fd"
}
