{
  "dataset_version": "center12-friction14-v1",
  "dataset_revision": "8c02168906f991bc07ee3648bee6290babf13e47",
  "dataset_episodes": 6240,
  "dataset_steps": 4736343,
  "training_seed": 42,
  "test_manifest_seed": 20261027,
  "results": [
    {
      "modality": "state",
      "algorithm": "bc",
      "successes": 0,
      "cases": 520,
      "success_rate": 0.0,
      "mean_final_coverage": 0.18279688261622634,
      "curve_train_successes": 0,
      "curve_train_cases": 52,
      "curve_test_successes": 0,
      "curve_test_cases": 52
    },
    {
      "modality": "state",
      "algorithm": "diffusion",
      "successes": 33,
      "cases": 520,
      "success_rate": 0.06346153846153846,
      "mean_final_coverage": 0.4699907422911883,
      "curve_train_successes": 0,
      "curve_train_cases": 52,
      "curve_test_successes": 1,
      "curve_test_cases": 52
    },
    {
      "modality": "state",
      "algorithm": "flow",
      "successes": 25,
      "cases": 520,
      "success_rate": 0.04807692307692308,
      "mean_final_coverage": 0.4755063825829289,
      "curve_train_successes": 4,
      "curve_train_cases": 52,
      "curve_test_successes": 4,
      "curve_test_cases": 52
    },
    {
      "modality": "state",
      "algorithm": "act",
      "successes": 319,
      "cases": 520,
      "success_rate": 0.6134615384615385,
      "mean_final_coverage": 0.8333031396542107,
      "curve_train_successes": 27,
      "curve_train_cases": 52,
      "curve_test_successes": 36,
      "curve_test_cases": 52
    },
    {
      "modality": "image",
      "algorithm": "bc",
      "successes": 5,
      "cases": 520,
      "success_rate": 0.009615384615384616,
      "mean_final_coverage": 0.357876169405311,
      "curve_train_successes": 0,
      "curve_train_cases": 52,
      "curve_test_successes": 3,
      "curve_test_cases": 52
    },
    {
      "modality": "image",
      "algorithm": "diffusion",
      "successes": 191,
      "cases": 520,
      "success_rate": 0.36730769230769234,
      "mean_final_coverage": 0.6911618619060375,
      "curve_train_successes": 17,
      "curve_train_cases": 52,
      "curve_test_successes": 17,
      "curve_test_cases": 52
    },
    {
      "modality": "image",
      "algorithm": "flow",
      "successes": 226,
      "cases": 520,
      "success_rate": 0.4346153846153846,
      "mean_final_coverage": 0.7204631215368275,
      "curve_train_successes": 22,
      "curve_train_cases": 52,
      "curve_test_successes": 22,
      "curve_test_cases": 52
    },
    {
      "modality": "image",
      "algorithm": "act",
      "successes": 227,
      "cases": 520,
      "success_rate": 0.43653846153846154,
      "mean_final_coverage": 0.7993092341575485,
      "curve_train_successes": 28,
      "curve_train_cases": 52,
      "curve_test_successes": 23,
      "curve_test_cases": 52
    }
  ],
  "configs": {
    "state/bc": {
      "algo": "bc",
      "steps": 100000,
      "batch_size": 256,
      "seed": 42,
      "parameters": 164098,
      "history": 2,
      "horizon": 1,
      "execution_horizon": 1,
      "torch_version": "2.8.0+cu128",
      "cuda_version": "12.8",
      "block_friction": 1.4,
      "data_manifest_sha256": "2a188ea8e04c6b302a6635769ca1587bd6085e59ff629905f587c1594e71a462",
      "learning_rate": 0.0001,
      "ema_decay": 0.995,
      "checkpoint_selection": "Fixed final EMA at 100000 updates; no test tuning",
      "device_name": "NVIDIA GeForce RTX 5090"
    },
    "state/diffusion": {
      "algo": "diffusion",
      "steps": 100000,
      "batch_size": 256,
      "seed": 42,
      "parameters": 1793410,
      "history": 2,
      "horizon": 16,
      "execution_horizon": 4,
      "torch_version": "2.8.0+cu128",
      "cuda_version": "12.8",
      "block_friction": 1.4,
      "data_manifest_sha256": "2a188ea8e04c6b302a6635769ca1587bd6085e59ff629905f587c1594e71a462",
      "learning_rate": 0.0001,
      "ema_decay": 0.995,
      "checkpoint_selection": "Fixed final EMA at 100000 updates; no test tuning",
      "device_name": "NVIDIA GeForce RTX 5090"
    },
    "state/flow": {
      "algo": "flow",
      "steps": 100000,
      "batch_size": 256,
      "seed": 42,
      "parameters": 1793410,
      "history": 2,
      "horizon": 16,
      "execution_horizon": 4,
      "torch_version": "2.8.0+cu128",
      "cuda_version": "12.8",
      "block_friction": 1.4,
      "data_manifest_sha256": "2a188ea8e04c6b302a6635769ca1587bd6085e59ff629905f587c1594e71a462",
      "learning_rate": 0.0001,
      "ema_decay": 0.995,
      "checkpoint_selection": "Fixed final EMA at 100000 updates; no test tuning",
      "device_name": "NVIDIA GeForce RTX 5090"
    },
    "state/act": {
      "algo": "act",
      "steps": 100000,
      "batch_size": 256,
      "seed": 42,
      "parameters": 1348418,
      "history": 2,
      "horizon": 16,
      "execution_horizon": 4,
      "torch_version": "2.8.0+cu128",
      "cuda_version": "12.8",
      "block_friction": 1.4,
      "data_manifest_sha256": "2a188ea8e04c6b302a6635769ca1587bd6085e59ff629905f587c1594e71a462",
      "learning_rate": 0.0001,
      "ema_decay": 0.995,
      "checkpoint_selection": "Fixed final EMA at 100000 updates; no test tuning",
      "device_name": "NVIDIA GeForce RTX 5090"
    },
    "image/bc": {
      "algo": "bc",
      "steps": 100000,
      "batch_size": 256,
      "microbatch": 64,
      "seed": 42,
      "parameters": 3113666,
      "history": 2,
      "horizon": 1,
      "execution_horizon": 1,
      "torch_version": "2.8.0+cu128",
      "cuda_version": "12.8",
      "block_friction": 1.4,
      "data_manifest_sha256": "2a188ea8e04c6b302a6635769ca1587bd6085e59ff629905f587c1594e71a462",
      "learning_rate": 0.0001,
      "ema_decay": 0.995,
      "checkpoint_selection": "Fixed final EMA at 100000 updates; no test tuning",
      "device_name": "NVIDIA GeForce RTX 5090",
      "modality": "rgb_proprio_task",
      "image_shape": [
        2,
        3,
        96,
        96
      ],
      "object_state_input": false,
      "image_cache_sha256": "a440f9153ea402bf3d7792da2ba08d70dcad20b011df765b2dd13dff177c13d0"
    },
    "image/diffusion": {
      "algo": "diffusion",
      "steps": 100000,
      "batch_size": 256,
      "microbatch": 64,
      "seed": 42,
      "parameters": 4742978,
      "history": 2,
      "horizon": 16,
      "execution_horizon": 4,
      "torch_version": "2.8.0+cu128",
      "cuda_version": "12.8",
      "block_friction": 1.4,
      "data_manifest_sha256": "2a188ea8e04c6b302a6635769ca1587bd6085e59ff629905f587c1594e71a462",
      "learning_rate": 0.0001,
      "ema_decay": 0.995,
      "checkpoint_selection": "Fixed final EMA at 100000 updates; no test tuning",
      "device_name": "NVIDIA GeForce RTX 5090",
      "modality": "rgb_proprio_task",
      "image_shape": [
        2,
        3,
        96,
        96
      ],
      "object_state_input": false,
      "image_cache_sha256": "a440f9153ea402bf3d7792da2ba08d70dcad20b011df765b2dd13dff177c13d0"
    },
    "image/flow": {
      "algo": "flow",
      "steps": 100000,
      "batch_size": 256,
      "microbatch": 64,
      "seed": 42,
      "parameters": 4742978,
      "history": 2,
      "horizon": 16,
      "execution_horizon": 4,
      "torch_version": "2.8.0+cu128",
      "cuda_version": "12.8",
      "block_friction": 1.4,
      "data_manifest_sha256": "2a188ea8e04c6b302a6635769ca1587bd6085e59ff629905f587c1594e71a462",
      "learning_rate": 0.0001,
      "ema_decay": 0.995,
      "checkpoint_selection": "Fixed final EMA at 100000 updates; no test tuning",
      "device_name": "NVIDIA GeForce RTX 5090",
      "modality": "rgb_proprio_task",
      "image_shape": [
        2,
        3,
        96,
        96
      ],
      "object_state_input": false,
      "image_cache_sha256": "a440f9153ea402bf3d7792da2ba08d70dcad20b011df765b2dd13dff177c13d0"
    },
    "image/act": {
      "algo": "act",
      "steps": 100000,
      "batch_size": 256,
      "microbatch": 64,
      "seed": 42,
      "parameters": 4201218,
      "history": 2,
      "horizon": 16,
      "execution_horizon": 4,
      "torch_version": "2.8.0+cu128",
      "cuda_version": "12.8",
      "block_friction": 1.4,
      "data_manifest_sha256": "2a188ea8e04c6b302a6635769ca1587bd6085e59ff629905f587c1594e71a462",
      "learning_rate": 0.0001,
      "ema_decay": 0.995,
      "checkpoint_selection": "Fixed final EMA at 100000 updates; no test tuning",
      "device_name": "NVIDIA GeForce RTX 5090",
      "modality": "rgb_proprio_task",
      "image_shape": [
        2,
        3,
        96,
        96
      ],
      "object_state_input": false,
      "image_cache_sha256": "a440f9153ea402bf3d7792da2ba08d70dcad20b011df765b2dd13dff177c13d0"
    }
  },
  "source": {
    "reference_revision": "73289a1c7f41b67d76f811b2b33794be1073c494",
    "matching_public_files": [
      "training/__init__.py",
      "training/curve_worker.py",
      "training/curves.py",
      "training/evaluate.py",
      "training/image_data.py",
      "training/image_evaluate.py",
      "training/image_models.py",
      "training/image_train.py",
      "training/models.py",
      "training/test_curves.py",
      "training/test_training.py",
      "training/train.py",
      "push_any_letter/__init__.py",
      "push_any_letter/app.py",
      "push_any_letter/batch.py",
      "push_any_letter/env.py",
      "push_any_letter/geometry.py",
      "push_any_letter/planner.py",
      "push_any_letter/recording.py",
      "push_any_letter/render.py"
    ],
    "different_or_absent_public_files": [
      "training/data.py",
      "training/image_handoff.py",
      "training/image_launch.py",
      "training/launch_suite.py",
      "training/test_image.py",
      "push_any_letter/dataset.py"
    ],
    "training_source_sha256": {
      "training/__init__.py": "78743031bc7fbe1f2693380aee8caad000edd2101ef8ef11babdc1173e9d52da",
      "training/curve_worker.py": "d271fb38cd3bf23ea80bc9afed163ecdc2d7dd65bcb6bc142c62fd946807a1a8",
      "training/curves.py": "8d1e32745eb0eac86d2f18bf7d129fcea1af3f966add279f14e890d5eeca474c",
      "training/data.py": "7f9c1d15be51ab1728da1a0754a640be561c14b10dcff66e2e8db35bfbe13f38",
      "training/evaluate.py": "531aba2e1b17439f377e7886c059f8413f9a4e68e03cc04409a712a8c0aafff6",
      "training/image_data.py": "487c26e8435c23c868eb0c2af62e6ecd1fa2ed6e4172be11e8972111a27901b7",
      "training/image_evaluate.py": "8bce8a6e6cbadb9f923185d3fb1ae1fefbad918fde1cdc43f09493dd6de755db",
      "training/image_handoff.py": "ad54f7bf8163a38c82a0e68cd2cc4394a15fd857338a4cd9aac9a48c988ed943",
      "training/image_launch.py": "16f5e37f0a91e1e1162d165b09c47a76beff7fa7b9b3d080e9b176b5dec2feb8",
      "training/image_models.py": "1950a39d0f2bde9fba566d05ce6364cb3d13bce8d61d26b9a7c8fdd401729bde",
      "training/image_train.py": "78abf02242d026682a6babf16cffa6d76f8d70a723e6ca140cd9b17a87a77f07",
      "training/launch_suite.py": "4f7eda0dee84b23d9bc5e951a88dc35f56384ea552eb5a3c1d6d7d565f9d5c65",
      "training/models.py": "d143bf314d6acf33bbf3700340deeef05291cf78a91b880512cf5ea7bdef585a",
      "training/test_curves.py": "5578b0cae01c6c45cf300eabb86e1926faf248679da05ddd27aac39b4d493655",
      "training/test_image.py": "b12bfeb3bb4510ffc681e53abe527ef294b34461300d9ca13f3db7047603637f",
      "training/test_training.py": "f0ffeb392fea9b16b2f36044ab044a66af3521e9ae9e7b6794e71f63b5c8f2ff",
      "training/train.py": "8c4750674b41028ea3e672ceaa0ac44f553f6b4a4511a43d701263a436f0de72",
      "push_any_letter/__init__.py": "3588e7ac808a91bb531bec8cf2315de3517653afb08a9cc89bf82e271b550cc8",
      "push_any_letter/app.py": "529ca044a344b9fc191da3047b026c84613883e89cb50dd15079a86e7ac3097e",
      "push_any_letter/batch.py": "3d4379ca60a42d3ea6152ad3b0c81f667b1ba07af22ab9cb79bd1b209990b419",
      "push_any_letter/dataset.py": "b98ebe950a16dfb32749150e1f4e6ddcfab9dcb33f838d6792700b60584ff42f",
      "push_any_letter/env.py": "4a6bc2b55a99103f530baf208dbd115dc4588981e2f95c866125ab6131140450",
      "push_any_letter/geometry.py": "332a98bab596b62be20ad6626b57effe0b72d535402e9639b77ee63c7cf4dc19",
      "push_any_letter/planner.py": "aa5aab4b30ebe4a93a7887abd784fdf045e9a5bae248b34da8f9875d6856adf6",
      "push_any_letter/recording.py": "9dd24cbe7bbcf789e0bcd7df4dc208a0403beaa5b8d6e430ec31793290c80151",
      "push_any_letter/render.py": "0c16d7124dd6c133db76c12aea9c03c0d7f835cb82be7c0e449514617c7521af"
    }
  },
  "scope": "Single training seed. 520 final tasks and 52-case learning curves are distinct. Core model/environment code matches the public reference; deployment/import adapters differ.",
  "curve_subset_seed": 20261028,
  "evaluation_policy_rng_seed": 20261026
}
