# RESULT — 032 geodesics (geodesic vs linear interpolation)

**Row:** Campaign100 / MANIFEST row 032. **Tier:** T3-exploratory. **Date:** 2026-08-02.
**Status:** DONE (box compute + local judge/analysis self-harvested in-session).

## Question
Straight-line (chord) interpolation between two real sentence latents z_a, z_b decodes to
fluent-but-fabricated blends at the midpoint (the 023/025 "chord fabrication" behavior). Does a
path that **follows the data manifold** — a kNN-graph geodesic that stays in high-density regions —
decode to more valid / more meaningful *intermediate* sentences than the chord, at matched
path-fraction?

## Verdict
**POSITIVE, with a clean mechanism and one honest partial miss.** Following the manifold buys
what it should: at matched path-fraction the geodesic keeps decoder fluency roughly flat and its
intermediate sentences are individually well-formed real English, while the linear chord collapses
at the midpoint into a less-fluent, off-manifold fabricated blend. The blinded judge prefers the
geodesic both on absolute coherence and on "which reads more like a sentence *between* A and B."

Two nuances kept honest:
1. **The geodesic buys coherence, not smooth semantic blending.** Its interior sentences are real
   and fluent but frequently *topically detour* through geometrically-close-but-unrelated dense
   regions (e.g. "strong stone" → "tall tree" → "wise old man"; sports → "the Academy" → sports).
   It is a chain of valid stepping-stones, not a continuous meaning-morph. The judge still rates it
   more "between" than the chord — because a coherent real waypoint beats a garbled blend even when
   it wanders — but geometrically the chord midpoint sits *more* equidistant between A and B.
2. **"Linear leaves the manifold at the midpoint" is true on the decode/fluency measures, but the
   registered nn_point-below-baseline operationalization fails** (calibration issue the PREREG
   flagged pre-run; see pred (d) and G3 below).

## Linear vs geodesic by path-fraction (200 pairs × 9 points each)
Endpoints (t=0, t=1) are shared real z_a/z_b; interior t are the interpolation points.
`mean_lp` = decoder mean per-token logprob (fluency, higher=better). `nn_point` = cosine of the
interpolation *point* to nearest real z (excl. self). `nn_decode` = same for the *re-encoded
decode* (on-manifold-ness of the produced sentence). Endpoint real-z nearest-neighbor baseline
(the density-calibrated reference) = **0.573**.

| t | mean_lp LIN | mean_lp GEO | nn_point LIN | nn_point GEO | nn_decode LIN | nn_decode GEO |
|------|------|------|------|------|------|------|
| 0.00 | -0.18 | -0.18 | 0.574* | 0.574* | 0.784 | 0.784 |
| 0.125 | -0.19 | -0.31 | 0.991 | 0.947 | 0.786 | 0.839 |
| 0.25 | -0.25 | -0.31 | 0.959 | 0.935 | 0.844 | 0.795 |
| 0.375 | -0.46 | -0.26 | 0.895 | 0.939 | 0.852 | 0.813 |
| **0.50** | **-0.71** | **-0.30** | **0.833** | **0.927** | **0.679** | **0.797** |
| 0.625 | -0.45 | -0.27 | 0.900 | 0.946 | 0.837 | 0.817 |
| 0.75 | -0.26 | -0.28 | 0.961 | 0.949 | 0.869 | 0.815 |
| 0.875 | -0.19 | -0.34 | 0.992 | 0.941 | 0.798 | 0.801 |
| 1.00 | -0.18 | -0.18 | 0.572* | 0.572* | 0.784 | 0.784 |

\* t=0/t=1 nn_point ≈ 0.573 because the point *is* a real z, so nearest-OTHER-real ≈ the baseline.

**Read the midpoint column (t=0.50):**
- **Fluency:** linear collapses to `mean_lp` -0.71 (worst point); geodesic stays -0.30, essentially
  flat across the whole path. Interior means -0.358 (LIN) vs -0.296 (GEO).
- **Point on-manifold:** linear nn_point is U-shaped (0.99 near ends → **0.833** at midpoint);
  geodesic stays ~0.93 flat. Geodesic is more on-manifold *at the middle*, though linear is
  actually higher near the endpoints (the chord hugs a real neighbor there).
- **Decode on-manifold:** the sharpest signal — linear midpoint decode drops to **nn_decode 0.679**
  (well below the 0.784 endpoint level), i.e. the produced sentence itself moves off the manifold;
  geodesic midpoint decode stays 0.797, at/above endpoint level. This is 023's chord fabrication.

Betweenness geometry (mean min(cos_a,cos_b) at midpoint): linear **0.479** > geodesic **0.376** —
the chord midpoint is geometrically more equidistant; the geodesic wanders further from both.

## Coherence & betweenness (local neutral codex judge, 0 parse failures)
Neutral 3-way rubric {coherent / marginal / word-salad}, interior points only, method×band
stratified subsample. **96 coherence + 60 betweenness jobs, 0/156 parse failures** (judge valid;
PREREG void-threshold was >5%).

| method | n | coherent | marginal | word-salad |
|--------|---|----------|----------|------------|
| linear | 48 | 0.500 | 0.333 | **0.167** |
| geodesic | 48 | **0.625** | 0.333 | **0.042** |

Geodesic interior points are more often coherent and ~4× less often word-salad.

**Blinded betweenness vote** (X/Y order randomized, "which reads more like a sentence *between*
A and B"): **geodesic 31, linear 13, both 12, neither 4** (n=60). Geodesic wins 31 vs 13 head-to-head.

**Hand spot-check (15 points, labelled before comparing):** 13/15 exact agreement with codex; the 2
disagreements are one-level-adjacent (coherent↔marginal, marginal↔word-salad), zero coherent↔salad
flips. Codex is marginally *stricter* than the human on borderline items. Judge validated.

## Example path pairs (midpoint = t=0.50)
**Pair 2 — near, story (cos_ab 0.47):** A="Once there was a strong stone." B="Once upon a time there
was a wise old man who kept a skull on his desk."
- LINEAR t=0.50: *"Once upon a time there was a wise man who had a stone on his desk."* — fluent but
  a **fabricated graft** (the "stone" from A welded onto B's man+desk; nn_decode 0.82, mean_lp -0.24).
- GEODESIC t=0.50: *"Once upon a time there was a tall tree."* — clean real sentence (mean_lp -0.10,
  nn_point 0.98) but a **topical detour** (a "tall tree" waypoint, not a stone/man blend).

**Pair 150 — far, cross-domain (cos_ab 0.03):** A="Wrote the paper: AOB PSS DAP." B="I'm ready to
broaden my horizons, to challenge my assumptions, and to grow as a person."
- LINEAR t=0.50: *"I am ready to open up my horizon, AOSP assumptions, DAM as a."* — **word-salad
  hybrid** (mean_lp -0.65, nn_decode **0.54** off-manifold), A's acronym-noise bleeding into B's phrasing.
- GEODESIC t=0.50: *"We start with the proof of (a)."* — fully fluent real sentence (mean_lp -0.15,
  nn_decode 0.99); a mathematical-prose stepping-stone bridging the two dense regions.

**Pair 199 — far, sports (cos_ab 0.13):** A="We hope we will see a good game." B="Pellegrini admitted
that the spirit within his squad is a concern as he tries to arrest the slump."
- LINEAR t=0.50: *"Pellegrini hopes that the spirit in his team is a good one to try and st…"* —
  degraded blend, mean_lp -0.50.
- GEODESIC t=0.50: *"Pellegrini said: 'I think about the Academy, we have to be patient."* — fluent
  (nn_decode 1.00), a related-but-distinct real sports sentence.

## Predictions → Brier
Frozen in PREREG_LITE.md (2026-08-02, pre-run).

| pred | statement (abbrev) | p | outcome | Brier |
|------|--------------------|-----|---------|-------|
| (a) | geo interior higher mean_lp AND higher coherence than linear | 0.85 | **TRUE** (lp -0.296>-0.358; coh 0.625>0.500) | 0.0225 |
| (b) | BOTH methods' worst point near midpoint | 0.55 | **FALSE** (linear 0.99 yes; geo only 0.38 — geo worst is spread out) | 0.3025 |
| (c) | geo judged more semantically "between" a,b | 0.55 | **TRUE** (betweenness 31 vs 13) | 0.2025 |
| (d) | linear lower nn_point than geo at matched fraction AND linear midpoint below real-NN baseline while geo above | 0.72 | **FALSE** (midpoint-below-baseline clause fails; see note) | 0.5184 |

**Brier = 0.2615** (mean of the 4).

**On (b) and (d) — honest reads:**
- **(b)** was a conjunction the PREREG explicitly flagged as risky: linear's worst point is at the
  midpoint 99% of the time, but the geodesic — being near-manifold throughout — has no single weak
  spot (worst-point at t=0.50 only 38%; distributed across t). The prediction's own hedge fired.
- **(d)** splits: the **relative** clause (linear more off-manifold than geodesic *at the midpoint*)
  is robustly TRUE — nn_point 0.833<0.927, nn_decode 0.679<0.797, mean_lp -0.71<-0.30. The
  **absolute** clause (linear midpoint nn_point *below* the 0.573 real-NN baseline) is FALSE:
  interpolation points sit *among* dense neighbors, so their nn_point (0.83–0.99) is far *above*
  the real nearest-neighbor baseline. The PREREG's calibration note anticipated exactly this
  ("literal-0.9 form: near-certain FALSE"), but the frozen scoring still required the baseline-band
  clause, so (d) scores FALSE. The qualitative claim it was proxying for — *linear leaves the
  manifold at the midpoint, geodesic stays* — is confirmed on the decode/fluency measures.

## Gates
- **G1 connectivity — PASS.** kNN graph k=15: 1 component, LCC 29,029/29,029 (100% ≥ 95%). All 200
  pairs have a finite geodesic (n_nopath=0). No disconnected pairs.
- **G2 endpoints sanity — PASS.** t=0/t=1 decodes reconstruct z_a/z_b: mean chrF 92.96 / 92.11
  (shared endpoints for both methods). Round-trip near-identity per 021/027.
- **G3 chord-fabrication reproduction — reproduced (registered literal metric miscalibrated).**
  The *phenomenon* is reproduced: linear midpoints leave the manifold and are altered, not faithful
  blends — decode on-manifold-ness nn_decode drops 0.784→**0.679** at t=0.50, fluency mean_lp
  −0.18→**−0.71**, and recons are visible fabricated grafts (examples above). The *registered
  metric* (mean nn_point at t=0.5 below the real-NN baseline) reads FALSE — 0.833 > 0.573 —
  because interpolation points naturally sit above the nearest-real baseline; the metric direction
  was wrong for this space (same calibration issue as pred (d), flagged pre-run). Geodesic does not
  fabricate (nn_decode 0.797, mean_lp −0.30).
- **G4 determinism/finite — PASS.** det_ok=True (re-decoding a real z twice identical); all logprobs
  finite.

## Caveats
- **Greedy-only decode.** All 3,600 points decoded pure-greedy (022 loop, argmax, no length/rep
  penalty). Chord fabrication and its avoidance may look different under sampling/beam (cf. 026).
- **Judge subsample.** Coherence on 96 interior points (method×band balanced), betweenness on 60
  (midpoint±2). Not per-fraction. Single low-effort codex judge; validated by 15-point hand check
  (13/15 exact) but not multi-judge.
- **One corpus / one AE.** 29,029 SONAR sentences (news/fiction/technical/web × length), reusing
  027-local-id cached z. The corpus skews toward short synthetic-math and children's-story
  sentences (visible in examples); geodesic behavior on a denser/broader manifold is untested.
- **Geodesic wander is real.** The positive coherence result should not be read as "geodesics give
  smooth semantic interpolation." They give *coherent stepping-stones through dense regions*, which
  can be topically off the A→B line (pred (c) risk, materialized qualitatively even though the vote
  favored geodesic). A sparser k or different weighting would change the waypoints.
- **nn_point is a weak manifold measure** in this space (interpolation points hug dense neighbors);
  nn_decode + mean_lp are the load-bearing on-manifold/fluency signals here.

## Artifacts
- `out/points.json` (3,600 points), `out/pairs.json` (200 endpoints), `out/meta.json`, `out/run.log`
- `out/coh_labels.json` (96 coherence labels), `out/between_labels.json` (60 betweenness votes)
- `out/results.json` (full analysis dump)
- `src/geodesic_decode.py` (box compute), `src/judge_coherence.py` (local neutral judge),
  `src/analyze.py` (local analysis)
