# V266 right golden regression result

Created: 2026-08-19T09:20:15.428848+00:00

## Result

V266 wraps the approved V239 right grip process in one named contract and does **not** attempt to solve left.

The right golden regression passed with **zero numeric drift** against V265/V239 stage dumps for:

- V189 neutral pre-snap handframe
- V198 approved translation snap
- V199 lock-green / roll-pink stage
- V238/V239 approved finger layer

```json
{
  "max_numeric_diff": 0,
  "diff_counts": {
    "__NEXPROD01_V189_PRE_SNAP_NEUTRAL_APPROACH": 0,
    "__NEXPROD01_V198_V195_DELTA_SINGLE_WRITER": 0,
    "__NEXPROD01_V199_LOCK_GREEN_ROLL_PINK": 0,
    "__NEXPROD01_V238_APPROVED_GRIP": 0
  }
}
```

## New runtime authority

The runtime now exposes:

```js
window.__NEXPROD01_V266_CLEAN_GRIP_CONTRACT
```

For the right case this reports:

```json
{
  "schema": "NEXPROD01_V266_CLEAN_GRIP_CONTRACT_BASE",
  "requestedSide": "R",
  "applied": true,
  "implemented": true,
  "side": "R",
  "gate": {
    "v189Pass": true,
    "v198Pass": true,
    "v199Applied": true,
    "side": "R",
    "golden": "V239/V236 approved right grip pre-finger state",
    "rightDriftPolicy": "must match V239 before any left work is allowed"
  }
}
```

## Intentional stop

`side=L` is intentionally blocked in this package. This prevents further left-side patch stacking before the right grip process is actually parameterized.

## Why this is the sane checkpoint

The prior branch mixed: R-hardcoded stages, inferred left points, nearest-mesh points, overlay-visible debug markers, and scalar metrics that contradicted camera truth. V266 stops that. It preserves right and creates one contained location for the future general solver.

## Next step, and only next step

Parameterize the internals of the contract:

```text
v189NeutralPreSnapHandFrame(side)
v198SnapFromContactSpec(side, targetLimb, outsidePoint)
v199RollPalmContract(side, greenHomolog, pinkHomolog, objectAxis)
```

Gate order:

```text
1. side=R must still match V239 exactly.
2. side=L may run only after R still passes.
3. L may not choose new points dynamically.
4. L palm contract must pass camera truth before fingers.
```
