# RUN-101 — C9, the residual holonomy audit: the complete transport graph built before any quotient (RUN-097's five lines, PC-001's `B̂` vertex, four actual arrows, `A′` and two dictionary edges, eight tagged loops, the E-labels and R0.5's divisors placed), then quotiented in the web line's two representations — a tree with `β₁ = 0`, and `β₁ = 2` with both fundamental-cycle products exactly 1 on exact instances — the `id(LR ~ PC-001)` edge shown to be a definition (PC-001 §1 names LR's object; (1) is C1.13 in six slots), completeness taken from R0 / C5 / C6 / C7 with every candidate edge dispositioned: **C9 PASS, residual monodromy trivial**; the identity `A′ = Ψ₄Ψ₃` of RUN-100 is the first cycle's witness; C10 recorded and not claimed

**Arm:** 數學戰士「墜衡」 / AMRAL Research Lab
**Subject:** the web line's instruction after [RUN-100](../RUN-100/) — C9 `Mon(ℛ) = 1?`: full graph first, six labels per edge, quotient G / L / P and the settled E-factors, the two `id`s, no fake A/A′ cycle, `β₁` and every cycle product with inverses, completeness not reinvented, components and flatness separate, ten mutations, three positive controls, do not touch C10
**Tools:** `src103_c9_residual_holonomy.py`, `src11_gate_drill.py`
**Logs:** `src103-c9-residual-holonomy.json`, `src11-gate-drill.json`
**Deliverable:** [`handoff/C9-RESIDUAL-HOLONOMY/`](../../packages/C9-RESIDUAL-HOLONOMY/)

**Result. The transport graph is built complete before anything is quotiented: vertices `L0..L4` (RUN-097) and `L2′` (PC-001's `B̂_i`, a second description of `L2`); edges `Ψ₁..Ψ₄` (actual maps, their theorems named), `A′` (the regulator on the leading term — the same map as `Ψ₄Ψ₃`, witness RUN-100's identity from C1.13's proof and Eq. 11), `id` (`L2 → L2′`, a definition: PC-001 §1 "先取 X-leading class，再以同一個輔助商映射投影，記為 `B̂_i(t)`" names Loeffler–Rivero's own object, and (1) is C1.13 in six slots matched in RUN-094/095, `C_d ↔ 𝒮₅(0) = 26` numerically) and `Ψ₃^PC` (PC-001 (1) as a map); each edge answers the six questions; eight loops carry the frame, generator and partner changes with their ledger tags (`b_f⁺ ↔ ω_f`, the `X` uniformiser, the Kummer/ES realisation of `Θ_aux`, `Ω^±`/`λ^±`, `Gauss(χ₈)` — G; `q`, the lattice indices — L; the partner factors — P); the E-labels `η_pdR = 1`, `κ_det = 1`, `id = 1` are resolved and `C_π` is an edge label; R0.5's divisors are attached to `Ψ₁..Ψ₃` as extraction data. Quotienting G, L, P and the settled E-factors gives, in representation I, a tree on `L0..L4` (`β₁ = 0`) and, in representation II, `β₁ = 7 − 6 + 1 = 2` with fundamental cycles `Ψ₄⁺·A′⁻·Ψ₃⁺` and `Ψ₃^PC⁺·Ψ₃⁻·id⁺`, both of product exactly 1 on 25 exact instances with inverses on reversed edges, the two representations agreeing. Completeness comes from R0 (these arrows and no others), C5 (23 records, none unassigned), C6 and C7 (route multiplicity 1): every candidate edge is listed with its disposition and none is unknown, so representation I's vacuous PASS is carried by completeness. The gate accepts a tree, accepts a genuine 3-cycle of product 1, rejects the same cycle at product 6/5. C9 PASS: residual monodromy trivial, one component. For C10, recorded and not claimed: one anchor would fix connectivity, but trivial holonomy leaves the `K^×`-torsor of (20.2). The ten mutations and the positive controls are planted; "one anchor fixes all components" on a two-component graph turns only the C10-boundary check red.**

---

## 0. The verdict in the requested form

```text
C9 = PASS
   residual graph complete   = YES   (from R0, C5, C6, C7; every candidate edge listed with its disposition, §4)
   components                = 1     (both representations)
   beta_1                    = 0 (representation I: theoremically identical maps quotiented)
                             = 2 (representation II: the parallel edges kept)
   fundamental cycle products = []  /  [1, 1]      — A′·Ψ₄⁻¹·Ψ₃⁻¹ = 1 (RUN-100's identity);  id·Ψ₃^PC·Ψ₃⁻¹ = 1 (the dictionary)
   residual monodromy        = trivial, the two representations agreeing
   id(LR class ~ PC-001 projected class) = 1, a DEFINITION (§3), not a defaulted unknown
   for C10, recorded and not claimed: one component, so one anchor would fix connectivity — but trivial holonomy leaves the K^×-torsor of (20.2)
```

## 1. The complete transport graph, before any quotient

**Vertices.** `L0 = 𝒞_aux`, `L1` = the Beilinson–Flach family line, `L2` = its leading line, `L3` = the Kato line, `L4 = 𝒞_arith` (RUN-097), and `L2′` = PC-001's `B̂_i` — a second *description* of `L2` (§3).

**Edges**, each answering the instruction's six questions (actual map? same map under theorem? frame change? lattice change? partner factor? exact comparison?):

| edge | from → to | theorem | actual | same-map | frame | lattice | partner | exact |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `Ψ₁` | `L1 → L0` | C1.9 (LZ16 regulator) | ✓ | — | – | – | ✓ (η_g, `L_p^g`; all P-slots) | ✓ |
| `Ψ₂` | `L1 → L2` | C1.6–C1.8 | ✓ | — | – | – | – | ✓ |
| `Ψ₃` | `L2 → L3` | C1.13 (Prop C1.1 lift) | ✓ | — | – | – | ✓ | ✓ |
| `Ψ₄` | `L3 → L4` | Kato (through LR) | ✓ | — | ✓ (`γ^±`, cancels; `η_pdR = 1`) | – | – | ✓ |
| `A′` | `L2 → L4` | the regulator on the leading term | ✓ | **= `Ψ₄Ψ₃`**, witness C1.13's proof + Eq. 11 (RUN-100) | – | – | ✓ | ✓ |
| `id` | `L2 → L2′` | PC-001 §1, a definition | – | **= identity**, witness §3 | – | – | – | ✓ |
| `Ψ₃^PC` | `L2′ → L3` | PC-001 (1) = C1.13 in six slots | ✓ | **= `Ψ₃∘id⁻¹`**, witness the six-slot dictionary (RUN-094/095) | – | – | ✓ | ✓ |

**Loops** — the frame, generator and partner changes at a vertex, each with its ledger tag: `b_f⁺ ↔ ω_f` (G), the `X` uniformiser (G, inside `c_lead/q_f`), the Kummer ↔ ES realisation of `Θ_aux` (G; C4 PASS by theorem — a realisation of `L0`'s element, not a second vertex), the period frame `Ω^±`/`λ^±` (G; cancels, RUN-099), `Gauss(χ₈)` (G), `γ_Kato ↔ γ_tree = q` (L, `q_D`), the lattice indices (L), the partner factors `E_adj_i, Π_i, λ_i(0), κ_E, ℓ_0` (P).

**E-labels**: `η_pdR = 1` (RUN-099), `κ_det = 1` (RUN-100), `id = 1` (this round), `C_π` (an edge label on `Ψ₁/Ψ₂`, invariant — a label, not a cycle). **Divisors** `L_E`, `X^n`, `log^{[r+1]}` are attached to `Ψ₁, Ψ₂, Ψ₃` as R0.5's localization / extraction data and are never cycle labels. Every merge of two descriptions names its equality witness; a merge without one is planted and caught by `c9-graph`.

## 2. The residual graph, in the two representations the instruction named — and the monodromy, computed

Quotient the G, L, P loops and the settled E-factors; keep only neutral exact transport.

| | representation I | representation II |
| --- | --- | --- |
| rule | theoremically identical maps → one edge; the dictionary vertex merged | the parallel edges kept |
| `V` | `L0..L4` | `L0..L4, L2′` |
| `E` | `Ψ₁, Ψ₂, Ψ₃, Ψ₄` | `Ψ₁, Ψ₂, Ψ₃, Ψ₄, A′, id, Ψ₃^PC` |
| components | 1 | 1 |
| `β₁ = |E| − |V| + c` | `4 − 5 + 1 = 0` | `7 − 6 + 1 = 2` |
| spanning tree | all four edges | `Ψ₁, Ψ₂, Ψ₃, A′, id` (BFS from `L0`) |
| fundamental cycles | — | cotree `Ψ₄`: `Ψ₄⁺ · A′⁻ · Ψ₃⁺`, product **1**; cotree `Ψ₃^PC`: `Ψ₃^PC⁺ · Ψ₃⁻ · id⁺`, product **1** |
| monodromy | trivial (vacuous — carried by §4) | trivial |

Computed on 25 exact rational instances (the four arrow scalars random units, `A′ := Ψ₄Ψ₃` by RUN-100's identity, `Ψ₃^PC := Ψ₃` by the dictionary), the inverse taken on every edge traversed against its orientation; the two representations agree on every instance. The cycle products are not asserted: an `h = 2` slipped into `A′` gives product `2` and `c9-holonomy` goes red; a forgotten inverse gives `Ψ₄²Ψ₃²`-type products and goes red.

**Controls the gate must accept and reject.** A tree: accepted. A genuine 3-cycle with labels `2, 3, 1/6` (product 1): accepted at `β₁ = 1`. The same cycle with `1/5` in place of `1/6` (product `6/5`): rejected. A holonomy routine that cannot say "non-trivial", and a gate that accepts trees only, are both planted and caught.

## 3. The two `id`s

`id(Kato ~ modular symbol)` became `q = [γ_Kato : γ_tree]` in RUN-099 — L, `q_D` — and is a loop removed from the residual graph; it is not allowed in `ℛ`, and a version that keeps it is caught.

`id(LR class ~ PC-001 projected class)` is answered here by reading PC-001 §1: "對普通 partner i，先取 X-leading class，再以同一個輔助商映射投影，記為 `B̂_i(t)`" — that is Loeffler–Rivero's own construction (C1.7's projection of the `X`-leading class by the auxiliary quotient map), *named*; PC-001's equation (1) `B̂_i = C_π A_i j z_i` is C1.13 rewritten in six slots, and PC-001 says so ("使用的文獻事實是 Loeffler–Rivero C1.9–C1.13 的退化比較及 C1.11 的唯一性"). RUN-094/095 matched the slots: `C/q_f → C_π`, `C_d ↔ 𝒮₅(0) = 26` (numerically), `log^{[r+1]} ↔ j(t)`, `L_p(g×τ)/L_p(Ad g) ↔ λ_i/D_i`, `κ ↔ z_i`. So the identification is notation — **residual label = 1 by definition** — and the conventions PC-001 fixes ("相容的 Kato、Coleman、Gauss 與 adjoint 規範") are the ledger's G/L/P slots, not a hidden exact scalar. This is what the second fundamental cycle of representation II checks. The gate refuses an `id` whose status is "unknown" yet labelled `1`.

## 4. Completeness — from R0, C5, C6, C7, not reinvented

R0: the route realized is these arrows and no others (RUN-097). C5: the inventory has 23 records, none unassigned, no unknown slot (RUN-096/097). C6: the pairing slot resolved (RUN-099). C7: route multiplicity 1 — no direct `f`-to-`g` comparison exists, and the modular-symbol arrow is a change of generator (RUN-100). Every candidate edge and its disposition:

| candidate | disposition |
| --- | --- |
| A (the chain) | the edges `Ψ₁..Ψ₄` |
| A′ | an edge in II, merged into `Ψ₄Ψ₃` in I (witness RUN-100) |
| PC-001's `B̂` description | the vertex `L2′` with `id`, `Ψ₃^PC` in II, merged in I (witness §3) |
| B (direct `f`-to-`g`) | no theorem induces it: not an edge |
| C (Kato's class → the tree's series) | a change of generator by `q`: a loop, L, removed |
| the Kummer / ES realisation of `Θ_aux` | a realisation of `L0`'s element (C4 PASS): a loop, G, removed |
| the frame changes `b_f⁺, X, Ω^±, Gauss` | loops, G, removed |
| the lattice indices; the partner factors | loops, L / P, removed |
| R0.5's divisors | extraction data on `Ψ₁..Ψ₃`, not edges |

No unknown candidate ⇒ **graph complete = YES**, and representation I's `β₁ = 0` is a vacuous PASS *with* completeness, not instead of it. Deleting a cotree edge to fake `β₁ = 0` while its disposition still calls it an edge is planted and caught by `c9-completeness`.

## 5. Components and flatness, separately — the C10 boundary

One component in both representations, so one anchor would fix connectivity. Recorded for C10 and **not claimed**: a flat line local system with trivial monodromy still has a `K^×`-torsor of nonzero sections (Round 030 (20.2)) — trivial holonomy ≠ canonical normalization. The instruction's mutation "one anchor fixes all components" on a two-component graph turns `c9-c10-boundary` red and leaves C9 green, as the instruction specified.

## 6. The instruction's ten mutations, and where each is caught

| mutation | check |
| --- | --- |
| an `h ≠ 1` slipped into the A/A′ cycle | `c9-holonomy` |
| two edges merged without an equality theorem | `c9-graph` |
| a theoremically same map treated as an independent unknown cycle | `c9-holonomy` |
| the G-factor `q_f` left in the residual graph | `c9-residual` |
| the L-factor `q` left in the residual graph | `c9-residual` |
| a reversed edge without the scalar inverse | `c9-holonomy` |
| a cotree edge deleted to fake `β₁ = 0` | `c9-completeness` |
| R0.5's `L_E` / `X^n` divisor as residual holonomy | `c9-residual` |
| "one anchor fixes all components" on a disconnected graph | `c9-c10-boundary` (C9 stays green) |
| an unknown E-edge defaulted to 1 | `c9-residual` |

Plus the two positive-control refusals (§2). Three controls must stay green: another product-1 triple, the representations in the other order, the seed.

## 7. What C9 does not claim

* C10 — a canonical flat section or an exact anchor; the torsor remains;
* `v_11(q)` — L, `q_D`, outside the certificate;
* the numerical value of `C_π` — an edge label of a tree, not holonomy.

## 8. Drill

The whole-tree mutation drill: **578 planted defects, 578 caught by the check named for them, 0 uncaught, 0 caught by the wrong check, 153 controls undisturbed, state restored, over 177 checks** (first run, as 8 shards). Twelve of the defects and three of the controls are this round's. The report and package were written before the drill was launched and nothing was touched while it ran.

## 9. Status

```text
C1-C7  PASS       C8  PASS       R0  PASS (category C)
C9     PASS — residual graph complete, one component, β₁ = 0 / 2, cycle products [] / [1, 1], monodromy trivial
C10    UNMEASURED — the last cell: a canonical flat section of ℛ, or one exact anchor
NORMALIZATION-UNMEASURED (C10)        BSD  OPEN
```
