{
  "version": "v97-rc49-special-prop-binding",
  "createdAt": "2026-05-22T18:52:55+00:00",
  "principle": "Special props/partner/object movements are promoted only when the movement truth and prop binding are explicit. Wrong-family placeholders remain held.",
  "sequenceChanges": 7,
  "changes": [
    {
      "exerciseKey": "med-ball-slam",
      "action": "medball object binding promoted",
      "runtimeImpact": "runtime landmarks activated only where hand/foot confidence passes gate",
      "runtimeGate": "special-prop-active"
    },
    {
      "exerciseKey": "box-jump",
      "action": "box prop semantics added",
      "runtimeImpact": "no new MediaPipe runtime activation; anchor/fas is now explicit",
      "runtimeGate": "manual-prop-locked"
    },
    {
      "exerciseKey": "seated-box-jump",
      "action": "box prop semantics added",
      "runtimeImpact": "no new MediaPipe runtime activation; anchor/fas is now explicit",
      "runtimeGate": "manual-prop-locked"
    },
    {
      "exerciseKey": "buddy-hamstring-curls",
      "action": "partner/knee pivot semantics added",
      "runtimeImpact": "no new MediaPipe runtime activation; manual knee pivot retained",
      "runtimeGate": "manual-knee-pivot-locked"
    },
    {
      "exerciseKey": "chest-pass",
      "action": "throw placeholder gated with true-movement requirements",
      "runtimeImpact": "runtime remains held; lab documents what future candidates must match",
      "runtimeGate": "review-hold-needs-true-pose-set"
    },
    {
      "exerciseKey": "rotational-throw",
      "action": "throw placeholder gated with true-movement requirements",
      "runtimeImpact": "runtime remains held; lab documents what future candidates must match",
      "runtimeGate": "review-hold-needs-true-pose-set"
    },
    {
      "exerciseKey": "broad-jump",
      "action": "manual review retained",
      "runtimeImpact": "no new activation",
      "runtimeGate": "manual-review-retained"
    }
  ],
  "medballMediaPipeActivation": {
    "activated": 15,
    "skipped": 3,
    "items": [
      {
        "poseKey": "sheet_10_medball_throw_slam__pose01",
        "athleteId": "athlete-a",
        "minConfidence": 0.882
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose01",
        "athleteId": "athlete-b",
        "minConfidence": 0.786
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose02",
        "athleteId": "athlete-a",
        "minConfidence": 0.858
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose02",
        "athleteId": "athlete-b",
        "minConfidence": 0.846
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose03",
        "athleteId": "athlete-a",
        "minConfidence": 0.855
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose03",
        "athleteId": "athlete-b",
        "minConfidence": 0.807
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose04",
        "athleteId": "athlete-a",
        "minConfidence": 0.845
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose04",
        "athleteId": "athlete-b",
        "minConfidence": 0.903
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose05",
        "athleteId": "athlete-a",
        "minConfidence": 0.879
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose06",
        "athleteId": "athlete-a",
        "minConfidence": 0.76
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose06",
        "athleteId": "athlete-b",
        "minConfidence": 0.852
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose08",
        "athleteId": "athlete-a",
        "minConfidence": 0.79
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose08",
        "athleteId": "athlete-b",
        "minConfidence": 0.879
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose12",
        "athleteId": "athlete-a",
        "minConfidence": 0.897
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose12",
        "athleteId": "athlete-b",
        "minConfidence": 0.892
      }
    ],
    "skippedItems": [
      {
        "poseKey": "sheet_10_medball_throw_slam__pose05",
        "athleteId": "athlete-b",
        "minConfidence": 0.518
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose10",
        "athleteId": "athlete-a",
        "minConfidence": 0.399
      },
      {
        "poseKey": "sheet_10_medball_throw_slam__pose10",
        "athleteId": "athlete-b",
        "minConfidence": 0.66
      }
    ]
  },
  "heldOrManual": [
    "box-jump",
    "seated-box-jump",
    "buddy-hamstring-curls",
    "chest-pass",
    "rotational-throw",
    "broad-jump"
  ],
  "runtimePolicy": {
    "newRuntimeActivation": "med-ball-slam only, confidence-gated",
    "manualPropLocked": [
      "box-jump",
      "seated-box-jump",
      "buddy-hamstring-curls"
    ],
    "reviewHold": [
      "chest-pass",
      "rotational-throw"
    ],
    "noImageGeneration": true
  }
}
