{
  "id": "stretch-body-arm-jog",
  "name": "Hello Robot Stretch Body: Arm jogging",
  "summary": "Arm jogging. Pinned upstream source; source reviewed only, without Hub execution evidence.",
  "framework": "stretch-body",
  "kind": "official_example",
  "source_registry": "curated-platform-sources-v1",
  "capabilities": [
    "real-robot",
    "arm-control",
    "teleoperation"
  ],
  "aliases": [
    "Stretch"
  ],
  "robot_types": [
    "mobile-manipulator"
  ],
  "robot_scope": "The pinned README explicitly covers Stretch 1-3; it points Stretch 4 to a separate repository. This is not a tested model/firmware/payload matrix.",
  "source": {
    "repository": "https://github.com/hello-robot/stretch_body",
    "commit": "92c9db0cc9ade6535f822e83bbf10cbd0c68136a",
    "path": "tools/bin/stretch_arm_jog.py",
    "url": "https://github.com/hello-robot/stretch_body/blob/92c9db0cc9ade6535f822e83bbf10cbd0c68136a/tools/bin/stretch_arm_jog.py",
    "sha256": "33ba3897f3a13d1257497a56747a7edaca854b4aa53c056ac76a818648c09b9a",
    "bytes": 3240,
    "authors": [
      "Hello Robot Inc."
    ]
  },
  "license": {
    "spdx": "Apache-2.0",
    "url": "https://github.com/hello-robot/stretch_body/blob/92c9db0cc9ade6535f822e83bbf10cbd0c68136a/tools/LICENSE.md",
    "sha256": "828d224ce889a5e9dd519823ce736eb10b4d5457e4a483accacaff3a6ff28bf2",
    "bytes": 923,
    "verified": true,
    "scope": "Selected first-party source/instruction text only, under its pinned license and author notices. Preserve upstream attribution. Referenced runtimes, third-party components, model weights, data, firmware and hardware retain their own terms."
  },
  "artifact": {
    "kind": "source_code",
    "format": "python",
    "role": "upstream-program"
  },
  "access": {
    "mode": "source_reference",
    "hub_prepare": false,
    "setup_url": "https://github.com/hello-robot/stretch_body/blob/92c9db0cc9ade6535f822e83bbf10cbd0c68136a/README.md",
    "instructions": "Read the exact source with its upstream setup and adjacent dependencies. This reference neither installs an agent instruction bundle nor authorizes code or physical motion."
  },
  "requirements": {
    "python": "Python 3 and the pinned body/tools package declarations; no combined dependency environment was resolved.",
    "packages": [
      "hello-robot-stretch-body",
      "hello-robot-stretch-body-tools",
      "Per-tool and body/setup.py dependencies, robot parameters and calibrated devices"
    ],
    "display": "Configured Stretch 1-3 hardware, device permissions, calibration and applicable tool/firmware setup. Several scripts execute at import time. Home also checks remote package/firmware metadata. Arm/lift jog scripts can disable runstop handling; review the complete upstream procedure before authorized use.",
    "execution_domain": "real_robot"
  },
  "invocation": {
    "entrypoint": "tools/bin/stretch_arm_jog.py",
    "notes": "Use the exact upstream tool after hardware setup. It can connect to hardware at module import; do not import it merely to inspect metadata. This script explicitly calls disable_runstop; this is not a safe default autonomous invocation."
  },
  "evidence": {
    "level": "source_reviewed",
    "runtime_verification": "not_run",
    "checked_at": "2026-10-19",
    "inspection_method": "static_text_and_source_identity",
    "inspection": "Verified SHA-256, byte count, Git blob, reviewed operation anchors and source license. Parsed Python as AST or inspected native/instruction entry documents; no upstream instructions or code executed.",
    "source_anchors": [
      "a.move_by("
    ],
    "provenance_files": [
      {
        "path": "README.md",
        "url": "https://github.com/hello-robot/stretch_body/blob/92c9db0cc9ade6535f822e83bbf10cbd0c68136a/README.md",
        "sha256": "18219237e0b1281c073595eb1cefaf0ab40884ed3191b1953ddeb7abcaa94502",
        "bytes": 1913
      },
      {
        "path": "body/LICENSE.md",
        "url": "https://github.com/hello-robot/stretch_body/blob/92c9db0cc9ade6535f822e83bbf10cbd0c68136a/body/LICENSE.md",
        "sha256": "8efc25c9c53f386639839db38e8b90b4993eaac0a27f054404b4554c180c8c3a",
        "bytes": 918
      },
      {
        "path": "body/setup.py",
        "url": "https://github.com/hello-robot/stretch_body/blob/92c9db0cc9ade6535f822e83bbf10cbd0c68136a/body/setup.py",
        "sha256": "6684328b7140b9ce332c4e68cb8e56f367c73fbe0f938f7400950888305ef160",
        "bytes": 1875
      },
      {
        "path": "tools/setup.py",
        "url": "https://github.com/hello-robot/stretch_body/blob/92c9db0cc9ade6535f822e83bbf10cbd0c68136a/tools/setup.py",
        "sha256": "b7d0b33d60eda535f1af7fc22c8e72809a280a21787ee29ab8efda1a90bc968d",
        "bytes": 1501
      }
    ]
  }
}
