# Phase 17: boulder metrology, terrain and physical hypothesis

## Purpose and evidential boundary

Phase 16 established that candidate `e824bf3ee775b25b10ab721b` is a persistent transported boulder and track visible by 2010. Phase 17 asks what can be measured from the image sequence, which terrain constraints are available, and which physical histories remain plausible. Eight observations were acquired; human review determined that `M179585542RE` and `M1439367760LE` are noise and scientifically invalid, leaving six analysis observations.

The current numbers are **preliminary measurements**, not publication-ready facts. Four shadow endpoints and the visible route are seed visual annotations awaiting human acceptance. The topography is SLDEM2015 at 59.225 m/pixel, which constrains the regional slope but cannot resolve boulder-scale terrain. The first visible point in the trace is not asserted to be the release point.

## Current result

- Source-pixel-verified visible trace: 227.916 m after retracing its full centreline and anchoring its endpoint to the measured body centre.
- SLDEM2015 elevation drop along that trace: 80.698 m.
- Regional 250 m plane: 19.119° downhill toward 142.747° east of north; plane residual RMSE 4.970 m.
- Four slope-corrected shadow heights: 6.109, 6.158, 5.762 and 5.502 m; median 5.936 m.
- Four 90th-percentile sunlit-component equivalent diameters: 9.322, 6.604, 7.114 and 7.181 m; median 7.148 m.
- Deliberately broad working dimensions: 6–10 m diameter and 4.5–7.5 m height.
- With an explicitly assumed 2,700–3,300 kg/m³ density and ellipsoidal volume, the working mass interval is 229–1,296 tonnes.
- The visible-drop gravitational energy interval is 28.8–162.8 MJ. A no-loss solid-sphere upper-bound speed is 13.39 m/s. Neither is a reconstructed historical speed.

The close height agreement under four different illumination geometries is encouraging. It is not independent of the shared terrain-plane approximation, and the seed endpoints still need correction/acceptance in the review.

## Traceable stage graph

```mermaid
flowchart LR
  S["00 source hashes\n8 projected NAC images + campt + SLDEM extract"] --> R["01 co-registration\ntranslation into the 2010 reference"]
  S --> A["02 annotations\nbody centres + shadow tips"]
  S --> T["03 topography\nregional plane + route elevations"]
  R --> M["04 metrology\nfootprints + shadow heights"]
  A --> M
  T --> M
  M --> H["05 hypothesis\ninteractive terrain + adjustable physics"]
  T --> H
```

Every stage has a `manifest.json` containing SHA-256 hashes of its inputs and outputs. `lunar-jepa evidence metrology-audit` re-hashes the complete graph and reports any changed or missing input. Phase 16 assets are referenced by hash rather than copied, so their provenance remains connected to the native-image package.

## Source evidence

### Images and illumination

Eight native NAC observations spanning 2010-10-30 to 2026-03-17 were projected north-up onto the common 0.5 m/pixel Phase 16 grid. Each image and its ISIS `campt` CSV is retained and hashed in `00-source/manifest.json`. `M179585542RE` and `M1439367760LE` are explicitly marked `invalid_noise_excluded`; they do not enter co-registration, metrology, review navigation or any result. Shadow direction for the six valid observations uses the ISIS `SubSolarGroundAzimuth` value at the candidate, not the differently defined catalog azimuth.

Gradient-magnitude phase correlation estimates a translation from each observation to `M143053461RE`. It is used to demonstrate common physical placement across illumination geometries; the metrology points remain in each image's own 320 m crop.

### Topography

An exact-coordinate [LROC reduced-data-product search](https://data.lroc.im-ldi.com/lroc/rdr_product_select) found no local NAC stereo DTM; the [released NAC DTM footprint index](https://data.lroc.im-ldi.com/lroc/view_rdr/SHAPEFILE_NAC_DTMS) is also preserved as the authoritative coverage source. The best immediately available public terrain constraint is the [USGS SLDEM2015 LOLA/Kaguya merged DEM](https://astrogeology.usgs.gov/search/map/moon_lro_lola_selene_kaguya_tc_dem_merge_60n60s_59m), whose published horizontal sampling is about 59 m/pixel and typical vertical accuracy is about 3–4 m. A 20 km regional GeoTIFF was range-read from the public cloud object rather than downloading the 22.65 GB global file.

The extract is reproducible with:

```bash
scripts/fetch_phase17_sldem_region.sh
```

Expected SHA-256 values:

- `sldem2015-20km.tif`: `5d2a4acf3e86ed39095416d61db8c757da057fc4864a882c311f867300064934`
- `sldem2015-20km.xyz`: `32775c5ae8f9649aa4683c67f1cbee50b45ee490db0fbfd8667b1296393f5942`

## Measurement methods

For a locally planar terrain surface with east/north gradients \(g_e,g_n\), observed shadow length \(L\), solar elevation \(e\), and unit shadow direction \((d_e,d_n)\), body height is

\[
h=L\left(\tan(e)+g_e d_e+g_n d_n\right).
\]

The gradient term corrects the distance at which the shadow ray intersects inclined terrain. Each reported height stores the body point, shadow endpoint, image scale, incidence, solar ground azimuth, flat-ground result and slope-corrected result.

The apparent diameter is not a hard segmentation. Within a local window around the accepted body centre, connected bright components are measured at the 90th, 94th and 97th intensity percentiles. The equivalent diameter is \(2\sqrt{A/\pi}\) after converting component area to square metres. The threshold series exposes sensitivity to illumination and saturation.

The physical workbench uses an ellipsoid mass hypothesis

\[
m=\frac{\pi}{6}d^2h\rho
\]

and displays \(m g \Delta z\). Its ideal rolling speed uses solid-sphere rotational partition, \(v=\sqrt{10g\Delta z/7}\), multiplied by an adjustable retained-energy fraction. This is a transparent bounding calculation, not a fitted trajectory.

The default motion display now changes from surface rolling to an irregular bouncing tumble over the final 42% of the visible route. That interpretation is motivated by the repeated-looking late-track marks, but it is deliberately exploratory: onset, nominal impact spacing, peak hop height and tumble strength are controls, and “surface roll only” remains available. The terminal phase is constructed to land exactly on the measured body centre. No parameter is claimed as a dynamical fit.

## Reproduce and review

```bash
lunar-jepa evidence metrology-build \
  --config experiments/configs/phase17-boulder-metrology-v1.json

lunar-jepa evidence metrology-audit \
  --output artifacts/phase17-boulder-metrology

scripts/serve_phase17_hypothesis.sh
```

Open:

- `artifacts/phase17-boulder-metrology/review/index.html` to inspect all eight dates. Arrow keys keep the viewing position fixed. “Set body centre” and “Set shadow tip” make corrections; “Export annotations” preserves them.
- Open `http://127.0.0.1:8765/` after starting `scripts/serve_phase17_hypothesis.sh` for the Three.js terrain/physics hypothesis. Chromium blocks the neighbouring texture PNGs when the page is opened directly through `file://`; the script serves only this output folder and binds only to localhost. Pass a different port as the first argument if 8765 is occupied. Six valid, translation-registered 640 m LROC observation textures can be draped over the terrain. Drag to rotate, right-drag to pan, scroll to zoom, use Home/Track/Top for recoverable camera views, adjust body dimensions/density/energy retention/vertical exaggeration, scrub the route, or play and pause the visible journey.
- `artifacts/phase17-boulder-metrology/05-hypothesis/route-alignment-reference-320m.png` is the generated one-pixel source-space overlay used to audit the trace against `M143053461RE`; `route-alignment-audit.json` records every grid pixel, UV, inverse-mapped pixel and the maximum round-trip error. The visual route height is sampled from the exact DEM triangles rendered by Three.js rather than the grid's bilinear scientific sampler, eliminating exaggeration-amplified parallax between the line and textured surface.

To rebuild from accepted corrections, save the exported JSON and add its path as `annotations_file` in the config. The annotation JSON is then hashed and changes the status of stage 02 to `human_review_edits_applied`.

## What would materially improve the reconstruction

1. Human acceptance/correction of all usable body and shadow endpoints.
2. A refined local bundle adjustment rather than translation-only co-registration.
3. A NAC stereo pair and derived local DTM, ideally at metre or sub-metre posting.
4. A specialist trace of the full upslope feature, including a search beyond the present 640 m field for the actual release scar.
5. Shape-from-shadow measurements using multiple body edges, propagated endpoint and terrain uncertainty, and a non-planar ray/terrain intersection.
6. Only after those steps: fit rolling, sliding and bounce models against the accepted route morphology and terrain, compare their residuals, and report an ensemble rather than one animation.

The current interactive reconstruction is therefore useful as a constraint explorer and review instrument. It uses Three.js r184 with constrained OrbitControls, a distance-based animation loop, real LROC image textures, and explicit camera recovery controls. Route points, the terminal body and texture UVs share the same 1280-pixel, 640 m north-up coordinate frame; the terminal point is the measured reference body centre rather than a rounded visual approximation. Texture detail is substantially finer than the 59.2 m elevation mesh and must not be mistaken for boulder-scale topography. The scene is intentionally not yet an origin claim.
