# Skyhook Cargo — GPT-6.1 Terra validation

- Artifact: `index.html` (17,782 bytes)
- Source: one complete document from a fresh GPT-6.1 Terra Codex session (Codex CLI 0.163.0, `gpt-6.1-terra`, reasoning effort medium, 76 s, 24,669 tokens reported), published without operator code changes
- Runtime: headless Chrome `156.0.8078.47` with offline `file://` loads and CDP key and pointer events
- Review date: 2026-10-27

These checks were run by the operator after delivery. They are not claims made by the authoring agent. No score, rank or rubric pass is claimed. **This is a failed run**, published as failed-run evidence.

| Check | Result | Evidence |
| --- | --- | --- |
| Complete standalone document | Pass | Has a doctype and a closing `</html>`, inline script only, no external asset, no `fetch`, `XMLHttpRequest` or `WebSocket` |
| Offline desktop load | Pass | The 1280×720 load drew the harbour diorama, the gantry crane, the striped tower, the landing pad and the telemetry panel. No console error, page exception or outside request |
| Offline mobile load | Pass | At 390×844 the canvas scaled to 364×197 with no horizontal overflow, and all six controls stayed reachable |
| Coupled swing on drive and brake | Pass | One second of `ArrowRight` gave −16.9° at 1.30 m/s. On release the load swung forward through 0°. Reversing with `ArrowLeft` gave +15.4° and the swing reversed continuously |
| Angle readout matches the arc | Pass | Angle is `atan2` of the drawn anchor and load positions, and the arc and plumb line follow the same state |
| Hoist and lower limits | Pass | The cable shortened to 1.35 m and lengthened to 6.70 m, and the drawn cable matched the readout |
| Pause | Pass | Paused telemetry was byte-identical after one second (−4.8°, 2.22 m/s), and motion resumed after unpause |
| Reset | Pass | Restored trolley 2.2 m, cable 4.90 m, 0.0°, Airborne, 0.0 s |
| Load can reach the pad | **Fail** | With the trolley held over the pad at 10.2 m and the cable fully paid out to 6.70 m, contact stayed `Airborne` and settle stayed `0.0s` for five seconds |
| Landing rule and delivery | **Fail** (unreachable) | A delivery can never begin because the crate cannot touch the pad |
| Tower contact | **Fail** | With a long cable, driving the crate into the tower side pinned it at −15.6° and 0.00 m/s. `ArrowLeft` then changed nothing, and only hoisting moved the state |
| Runtime during interactions | Pass | No uncaught exception, console error or failed request during the whole session |

## Root cause

The crane geometry makes the pad unreachable:

```
anchorY=7.5, crateH=.9, pad={l:9.15,r:11.7,top:.24}, maxL=6.7
```

The lowest the crate centre can go is `7.5 − 6.7 = 0.80`, which puts the crate bottom at `0.35`. The pad surface is at `0.24`, so the crate always hangs 0.11 units above it. Delivery needs `onPad` (bottom within 0.025 of the pad surface), so no input sequence can ever start the settle ring. For the same reason the crate can never touch the quay floor.

The tower freeze comes from the step guard. When the cable intersects the tower, the crate is embedded, or the constraint error goes above 0.025, the whole step is rolled back and the velocity set to zero. Once the crate is pressed against the tower side on a long cable, every later step fails that guard.

## Limits and unchecked items

- C1 (pendulum and telemetry) was partly observed and passes as far as it was tested. C4 and C5 (landing and delivery) fail by construction.
- No frame-rate claim: the CPU renderer is not representative.
- The 390×844 screenshot was checked from layout measurements only.
