{
  "schema_version": "1",
  "interpretation": "data_only",
  "hub_commit": "d800c48cfd84f618a5c6ab84f8f7feec74ab0b56",
  "skill_id": "dmcontrol-cartpole-balance-sparse",
  "name": "DM Control cartpole balance sparse feedback policy",
  "example_input": {
    "seed": 0
  },
  "environment": [
    {
      "runtime": "dm-control",
      "runtime_version": "1.0.34",
      "robot": "cartpole",
      "controller": "privileged_state_bounded_feedback",
      "observation": "simulator_state_and_native_reward",
      "os": "linux",
      "architecture": "x86_64",
      "python": "3.10",
      "status": "hub_verified"
    }
  ],
  "interface": {
    "version": "1",
    "kind": "task",
    "abstraction_level": 2,
    "execution_domain": "simulation",
    "language": "python",
    "input_transport": "json_file_or_inline",
    "output_transport": "json_stdout",
    "output_selector": "outputs",
    "conventions": {
      "linear_unit": "m",
      "angular_unit": "rad",
      "time_unit": "s",
      "coordinate_frame": "Native pinned DM Control model world frame; no external frame conversion",
      "joint_order": "not_used",
      "quaternion_order": "not_used"
    },
    "input_schema": {
      "type": "object",
      "required": [
        "seed"
      ],
      "properties": {
        "seed": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10000
        }
      },
      "additionalProperties": false
    },
    "output_schema": {
      "type": "object",
      "required": [
        "final_window_mean_reward",
        "final_reward",
        "minimum_window_reward",
        "reward_window",
        "steps",
        "control_effort"
      ],
      "properties": {
        "final_window_mean_reward": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "final_reward": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "minimum_window_reward": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "reward_window": {
          "type": "array",
          "minItems": 100,
          "maxItems": 100,
          "items": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          }
        },
        "steps": {
          "type": "integer",
          "minimum": 100,
          "maximum": 1000
        },
        "control_effort": {
          "type": "number",
          "minimum": 0,
          "maximum": 100000
        }
      },
      "additionalProperties": false
    },
    "preconditions": [
      "Use the exact recorded source, Linux Python 3.10 environment and pinned direct packages.",
      "No physical robot, network actuation or external robot credentials."
    ],
    "postconditions": [
      "All reported checks must be true and all output numbers finite.",
      "Success covers the declared goal and frozen cases, not arbitrary tasks or physical hardware."
    ],
    "failure_codes": [
      "invalid_input_or_environment",
      "execution_failed",
      "task_failed"
    ],
    "composition": {
      "depends_on": [],
      "automatic_frame_conversion": false,
      "automatic_hardware_execution": false
    }
  },
  "source_commit": "3831fa523c160fe653d83a829d0a0c59715f5725",
  "record_version": "1.0.0",
  "evidence": {
    "level": "task_complete",
    "verified_by": "Hub finite-case Lambda execution harness",
    "date": "2026-10-20",
    "environment": {
      "scope": "simulation",
      "physical_robot": false,
      "platforms": [
        "linux"
      ]
    },
    "commands": [
      "python tools/verify_runtime_expansion.py --backend dmcontrol --source-cache SOURCE_CACHE --output OUTPUT"
    ],
    "result": "All 3 frozen cases completed against this exact adapter and source.",
    "artifacts": [
      "https://raw.githubusercontent.com/Superfast-Robotics/robot-skill-hub/d800c48cfd84f618a5c6ab84f8f7feec74ab0b56/evidence/runtime/diverse-sim-v1/dmcontrol-cartpole-balance-sparse.json"
    ],
    "runtime_verification": "task_complete",
    "contributor_reported": null,
    "hub_verification": {
      "runtime": "task_complete",
      "scope": "simulation",
      "adapter_sha256": "58c5e5304708ad520a7f0d4884691baadcb08016c2a1c4b8abe937844c31f2bf",
      "source_commit": "3831fa523c160fe653d83a829d0a0c59715f5725",
      "record_version": "1.0.0",
      "case_count": 3,
      "retained_failed_cases": 0
    }
  },
  "record_url": "https://hub.superfastrobotics.com/skills/dmcontrol-cartpole-balance-sparse/skill.json",
  "inspect_url": "https://api.superfastrobotics.com/v1/skills/dmcontrol-cartpole-balance-sparse?hub_commit=d800c48cfd84f618a5c6ab84f8f7feec74ab0b56&record_version=1.0.0&include=experience",
  "execution_performed": false
}
