# RUN-095 — Round 030's certificate re-judged with the theorem closures fed back in: **C1, C2 and C4 turn PASS** because RUN-090 applied one rule to ten criteria that are not all of one kind — and "the first blocker" turns out to be a **frontier, {C5, C8}**, not a single item

**Arm:** 數學戰士「墜衡」 / AMRAL Research Lab
**Subject:** the web line's instruction after [RUN-094](../RUN-094/) — re-run the C1–C10 status audit (v2) with RUN-094's theorem closures fed back into RUN-090's criteria and find the new first blocker; split C2 into structure / value and C4 into line / exact normalization, mapping everything back onto the original C1–C10 so the question is not quietly changed
**Second reading of the source:** D. Loeffler and Ó. Rivero, *Eisenstein degeneration of Euler systems*, arXiv:2201.02078v2 — read again 2026-09-15 for Assumption B1.1, §B2, §A8.3 and equation (8); recorded in `data/external/literature/loeffler-rivero-2201.02078v2/EXTRACTS.md`
**Tools:** `src97_normalization_audit_v2.py`, `src11_gate_drill.py`
**Logs:** `src97-normalization-audit-v2.json`, `src11-gate-drill.json`
**Deliverable:** [`handoff/NORMALIZATION-AUDIT-V2/`](../../packages/NORMALIZATION-AUDIT-V2/)

**Result. Three certificate items move UNMEASURED → PASS and the first blocker moves from C1 to C5. The move is not a re-grading of the same evidence, and it is not the web line's proposal accepted on trust; it rests on a defect in RUN-090's own method, found here. RUN-090 judged all ten items with ONE rule — PASS only if the object had been constructed and every measurement on it was green. That rule is correct for a criterion that demands an exhibited object. Round 030's ten sentences are not all of that kind: "Target and calibrator use the same exact late character" is an EQUALITY, "No partner arithmetic is hidden in the common line" is an ABSENCE, "The auxiliary leading tensor or equivalent q-blind source exists" is an EXISTENCE, and only C5's "Every defect factor is tagged E, L, G, or P" is an ENUMERATION that cannot be settled without the factors. This round reads the ten sentences out of the corpus file and classifies each by a stated lexicon, then applies the rule that matches — with one guard that keeps this from being a rubber stamp: a `CITED_THEOREM` discharge is admissible only against a criterion that does not demand an exhibited object, so RUN-094's three theorem closures cannot, even in principle, turn C5 green. THE LEDGER: C1 PASS, C2 PASS, C3 PASS (unchanged), C4 PASS, C5–C10 UNMEASURED, no FAIL, status still `NORMALIZATION-UNMEASURED` — six of ten open, and there is no majority vote. THE FIRST BLOCKER IS NOW AMBIGUOUS AND THAT IS WORTH KNOWING: Round 030's own numbering makes it **C5**; the handoff's §11 attack order, which RUN-090's gate used, makes it **C6**. Round 030 states the certificate as a conjunction, so neither order is part of the criterion; the report gives both. THREE THINGS WERE COMPUTED THAT NO EARLIER ROUND COMPUTED. (1) THE HYPOTHESES C1.1 INHERITS — the web line was right that RUN-094 stopped too early. C1.1 restates only "We suppose for simplicity that `g` is ordinary", but its next sentence sends `V(f,g)*` to §B3.1, and Assumption B1.1 governs "throughout part B": the families must pass through **noble** eigenforms — `p`-stabilisations of eigenforms of **prime-to-`p` level** whose **Hecke polynomial at `p` has distinct roots** — and §B2, the Kato-family discussion, assumes the family is **new** of level `N` and **residually irreducible**, which lands on our partners because the Kato class in C1.13 is `κ(g × ψ)`. All of it computed here on both curves: `11 ∤ 389`, `11 ∤ 19`; Hecke discriminants `−28` and `−35`, nonzero and nonzero mod 11, so distinct roots and `p`-distinguished; ordinary hence non-critical slope and Hida; and residual irreducibility discharged through **semistability, computed from the Weierstrass invariants** — `Δ = 389` with `c₄ = 112`, `Δ = −19` with `c₄ = 36928`, so at every prime dividing `Δ` the reduction is multiplicative — after which Mazur's theorem on rational isogenies of prime degree forbids an 11-isogeny. Semistability is exactly *no additive reduction*; squarefreeness of `Δ` is **not** part of it (Cremona 19a1 has `Δ = 19³` and is semistable) and is carried separately as a guard that the model is minimal, since a non-minimal model has `u¹² | Δ` — the drill plants the target's `u = 2` model to exercise it. Surjectivity is still not required and is still planted as an over-strong hypothesis. (2) THE SMOOTHING FACTOR, AS A FORMULA. LR equation (8) reads `C_d(f,g,j) = d² − d^(j−k₁−k₂)·ε_f⁻¹(d)·ε_g⁻¹(d)`. Our `f = E₂(1,χ₈)` has `ε_f = χ₈` and `k₁ = 0`; each partner is a weight-2 newform on `Γ₀(N)`, so `ε_g = 1` and `k₂ = 0`; hence `C_d = 25 + 5^j`, and PC-001's independently computed `𝒮₅(0) = 26` pins `j = 0 = k₁+k₂`. RUN-090 carried `S5_partner_independent: True` as a **constant**. Here the commonality is **derived** — and derived from something a mutation can break, because `C_d`'s partner-dependence is real and enters exactly through `(ε_g(d), k₂)`, which happen to agree for our pair. (3) WHERE `C_π` ACTUALLY COMES FROM, AND THE ONE THING THAT STAYS. `C_π = c_lead/q_f`. `c_lead` is the leading coefficient of `c_f`, which C1.9 states is a meromorphic function on `V₁` **alone**. `q_f` is PC-001 §4's name for `b_f⁺(0) = c_r η_f`, and **§A8.3** defines `b_f⁺` as a trivialisation of `D_cris(F⁺D(f)*(−1−k))` — a module built from `f` alone, in a part of the paper where the cuspidal partner never appears; the partner enters the Perrin-Riou regulator only in the second tensor slot, `η_g`. So every constituent of `C_π` is auxiliary-only, and **nothing about either partner can obstruct fixing one frame**: the "common frame" PC-001 §2 calls 「共同規範是必要假設」 is a free, partner-independent *normalisation*, not an unproved arithmetic claim. That is the precise sense in which C1 passes. But §A8.3 says `b_f⁺` may be chosen only **non-canonically**, so `C_π` has no numerical value until one trivialisation is fixed, and **anything later built from `C_aux` inherits that ambiguity** — which is a warning for C5, and is carried in an explicit ledger of obligations that are real but outside every certificate sentence, alongside the BF coordinates, `Π_E/Π_0` and `c_ES/Kum`. ONE MORE PRECISION: C1.9's non-vanishing clause covers integer weights `k ⩾ −1` **except possibly `k = r`** — and `k = r` is our Eisenstein point. RUN-094's "`C` nonzero" is right, but not for C1.9's reason; the nonvanishing is C1.13's, where the starred leading term is stated to lie in `L^×`. BSD is not proved and is not closer to being proved; what moved is the normalisation certificate's bookkeeping.**

---

## 1. The defect in RUN-090's method

RUN-090's rule, in full:

```python
def rule(ev):
    if not ev["applicable"]:      return "NOT-APPLICABLE"
    if ev["counterexample"]:      return "FAIL"
    if not ev["object_constructed"]:
        return "PASS" if UNMEASURED_TO_PASS else "UNMEASURED"
    return "PASS" if ev["measured_ok"] else "FAIL"
```

One rule for ten items, and never `UNMEASURED → PASS`. Both of those were right, and both are kept. What was wrong is the premise underneath: that every one of the ten asks for an object to be exhibited. Round 030 §40's ten sentences, read as written:

| | sentence (Round 030 §40, verbatim) | what it demands | needs an exhibited object? |
| --- | --- | --- | --- |
| C1 | Target and calibrator use **the same** exact late character. | EQUALITY | no |
| C2 | **No** partner arithmetic is hidden in the common line. | ABSENCE | no |
| C3 | **No** analytic coordinate weight is hidden in exact normalization. | ABSENCE | no |
| C4 | The auxiliary leading tensor or equivalent q-blind source **exists**. | EXISTENCE | no |
| C5 | **Every** defect factor is **tagged** E, L, G, or P. | ENUMERATION | **yes** |
| C6 | **Either** canonical cancellation **or** one explicit residual pairing scalar. | EXISTENCE | no |
| C7 | **Either** canonical cohomological equality **or** explicit `κ_det`. | EXISTENCE | no |
| C8 | **No** exact unit ambiguity is attributed to a length / index. | ABSENCE | no |
| C9 | **No** residual holonomy. | ABSENCE | no |
| C10 | Canonical section **or** one exact anchor. | EXISTENCE | no |

The sentences are read out of the corpus file at gate time, not retyped, and the classification is mechanical from a stated lexicon — `"every"` ⇒ ENUMERATION, `"exists"` / `"either"` / `" or "` ⇒ EXISTENCE, `"the same"` ⇒ EQUALITY, `"no "` ⇒ ABSENCE, first match wins. Reordering the lexicon so `" or "` outranks `"every"` misclassifies C5 as an existence claim, and the drill plants exactly that.

An equality, an absence or an existence can be settled by a theorem. An exhaustive tagging cannot: you cannot tag every factor of a decomposition nobody has.

## 2. The rule this round uses

```text
NOT-APPLICABLE  the item does not apply
FAIL            a counterexample or a nontrivial residual is in hand
UNMEASURED      the SUBJECT of the criterion does not exist
                  — an absence claim about nothing is vacuous, not true
UNMEASURED      the criterion demands an exhibited object and none has been exhibited
PASS            a NAMED verified input discharges it, AND that input's label is
                admissible for this criterion's demand
UNMEASURED      otherwise
```

and the guard:

```text
admissible without an exhibited object : COMPUTED_HERE, CITED_THEOREM, DERIVED_FROM_VERIFIED_INPUTS
admissible with    an exhibited object : COMPUTED_HERE only
```

so a theorem can never discharge C5. The gate carries a **positive control on its own rule** (`auditv2-discharge-rule`): it hands the rule a `CITED_THEOREM` discharge for C5 and requires refusal, hands it a vacuous absence for C9 and requires refusal, hands it a discharge whose hypotheses fail and requires refusal — and then hands it an admissible one and requires acceptance, because a guard that refuses everything is not a guard. The whole-tree drill also runs the first of these as a *control*: offering C5 a theorem discharge must move nothing.

`UNMEASURED_TO_PASS` and `CLOSURE_REQUIRES_ALL` are kept from RUN-090 and are load-bearing: with the promotion switch on, every undischarged item passes, and the drill turns it on to check that this is noticed.

## 3. The ledger

| | v1 (RUN-090) | v2 | demand | what discharges it, or why nothing does |
| --- | --- | --- | --- | --- |
| **C1** | UNMEASURED | **PASS** | EQUALITY | LR Thm C1.9 + §A8.3 + Thm C1.10 + Remark C1.11 + Thm C1.13, hypotheses instantiated here — `CITED_THEOREM` |
| **C2** | UNMEASURED | **PASS** | ABSENCE | Thm C1.13's explicit factorisation + the `C_d` commonality computed here — `DERIVED_FROM_VERIFIED_INPUTS` |
| **C3** | PASS | PASS | ABSENCE | RUN-090's coordinate audit on the actual series — `COMPUTED_HERE` |
| **C4** | UNMEASURED | **PASS** | EXISTENCE | RUN-094's chain (A6.1 → §A6.2 → A6.3(i) → A2.1 case (3)) with RUN-092/093 — `CITED_THEOREM` |
| **C5** | UNMEASURED | UNMEASURED | ENUMERATION | no decomposition of `D = C_arith ⊗ C_aux⁻¹` exists, so "every defect factor" has no referent — and no theorem label may discharge an enumeration |
| **C6** | UNMEASURED | UNMEASURED | EXISTENCE | neither alternative is in hand: no canonical period–de Rham cancellation, no explicit `η_pdR` |
| **C7** | UNMEASURED | UNMEASURED | EXISTENCE | neither alternative is in hand: no determinant comparison map, no explicit `κ_det` |
| **C8** | UNMEASURED | UNMEASURED | ABSENCE | the absence cannot be claimed for the target: `389.a1`'s prime-to-11 saturation is unmeasured (RUN-090) |
| **C9** | UNMEASURED | UNMEASURED | ABSENCE | the **subject does not exist** — no comparison objects, hence no transport graph; "no holonomy" would be vacuous |
| **C10** | UNMEASURED | UNMEASURED | EXISTENCE | neither alternative: no canonical section, and `q_fin = 1` is a number, not an anchor |

```text
upgrades      C1, C2, C4        downgrades    none        FAIL   none
first blocker C5  (Round 030's own numbering)
              C8  (a topological pass over RUN-090's recorded dependency graph)
              C6  (the handoff's section 11 attack order, which RUN-090's gate used)
status        NORMALIZATION-UNMEASURED
```

Three orders, three answers — which is the signal that **"the first blocker" no longer has a single-item answer**. Round 030 states its certificate as a conjunction ("Only after C1–C10 pass should the normalization ledger be frozen"), so no order is part of the criterion. The question the phrase was standing in for is *what can be worked on now*, and that is a set.

## 3b. The frontier — the question "first blocker" was standing in for

```text
attackable now (open, and every in-certificate upstream has passed):   C5,  C8
        C6 blocked by C5
        C7 blocked by C6
        C9 blocked by C5, C6, C7
       C10 blocked by C9
```

The upstream column is RUN-090's own, read back out of its gate log:

| | in-certificate upstream (RUN-090's record) | v2 verdict |
| --- | --- | --- |
| C1 | — | PASS |
| C2 | C1 | PASS |
| C3 | — | PASS |
| C4 | C1, C3 | PASS |
| **C5** | **C4** | **UNMEASURED — attackable now** |
| C6 | C4, C5 | blocked |
| C7 | C4, C6 | blocked |
| **C8** | **—** | **UNMEASURED — attackable now, and always was** |
| C9 | C4, C5, C6, C7 | blocked |
| C10 | C9 | blocked |

Two things follow that a single "first blocker" would have hidden. **C5 is the next item on the chain C4's closure opened** — every other open item except C8 sits behind it, directly or transitively — so the handoff's §11 attack order, which puts C6 and C7 *before* C5, runs against the dependencies RUN-090 itself recorded (C6 lists C5 as upstream; C7 lists C6). And **C8 has no in-certificate upstream at all**: nothing in the certificate was ever blocking it, and it is open only because nobody has attacked it. It can be taken in parallel with C5.

Reshuffling either stated order, ignoring the dependency graph, or introducing a cycle into it turns `auditv2-ledger` red; adding an upstream from *outside* the certificate is a control and must change nothing.

## 4. The hypotheses C1.1 inherits

The web line's catch was correct. C1.1 says only "We suppose for simplicity that `g` is ordinary", then immediately: "Let `V(f,g)*` be the module defined in **Section B3.1**." Assumption B1.1 opens "Throughout part B of this paper…", and §B2's Kato discussion adds the paper's only residual hypothesis.

| hypothesis | source | 389.a1 | 19.a1 | label |
| --- | --- | --- | --- | --- |
| ordinary at 11 | C1.1 Setup | `a₁₁ = −4`, unit root 7 | `a₁₁ = 3`, unit root 3 | **COMPUTED_HERE** |
| prime-to-`p` level | Assumption B1.1 | `11 ∤ 389` | `11 ∤ 19` | **COMPUTED_HERE** |
| Hecke polynomial at `p` has distinct roots | Assumption B1.1 | `disc = 16 − 44 = −28 ≠ 0` | `disc = 9 − 44 = −35 ≠ 0` | **COMPUTED_HERE** |
| ⇒ **noble** (Hansen [Han15]) | Assumption B1.1 | ✓ | ✓ | **DERIVED** |
| `p`-distinguished (roots differ mod `p`) | standard for ordinary | `−28 ≡ 5 (mod 11)` | `−35 ≡ 9 (mod 11)` | **COMPUTED_HERE** |
| non-critical slope | Assumption B1.1 | ordinary ⇒ slope `0 < r₁+1 = 1` | same | **DERIVED** |
| Hida (ordinary) | §B2's restriction | ✓ | ✓ | **DERIVED** |
| new of its level | §B2 | ✓ | ✓ | given |
| minimal model (guard: `Δ` squarefree, `1728Δ = c₄³ − c₆²`) | — | `Δ = 389` | `Δ = −19` | **COMPUTED_HERE** |
| **residually irreducible at 11** | §B2 | `389 ∤ c₄ = 112` ⇒ semistable | `19 ∤ c₄ = 36928` ⇒ semistable | **COMPUTED_HERE** + Mazur |
| `d ∈ Z_{>1}`, `(d, 6S) = 1` | Thm C1.4 | `d = 5`, `S = {2,11,19,389}`, `gcd(5, 6S) = 1` | same `d` | **COMPUTED_HERE** |
| full mod-11 surjectivity | **not required** by C1.1, B1.1 or §B2 | — | — | over-strong; planted as a defect |

The semistability is computed from the Weierstrass data already in this tree (`src70`'s `AINVS`, `src82`'s `AINVS0`). Semistable means *no additive reduction* — at every prime dividing `Δ`, `c₄` is not divisible by it — and that is what the gate computes; squarefreeness of `Δ` is **not** part of the definition (Cremona 19a1 has `Δ = 19³` and is semistable) and is kept apart, with `1728Δ = c₄³ − c₆²`, as a guard that the model is minimal, since a non-minimal model has `u¹² | Δ`. Dropping the `−27b₆²` term from the discriminant, and separately handing the gate the target's `u = 2` non-minimal model, each turn `auditv2-inherited` red. Mazur's theorem on rational isogenies of prime degree — a semistable `E/Q` admits a rational `ℓ`-isogeny only for `ℓ ⩽ 7` — then forbids an 11-isogeny, so `ρ̄_{E,11}` is irreducible for both. It gives surjectivity too, but the paper does not ask for it and this round does not claim it as a hypothesis. Stretching the bound to include `p = 11` turns the same check red.

## 5. The smoothing factor, derived rather than asserted

LR equation (8), verbatim in structure:

```text
C_d(f, g, j)  =  d² − d^(j − k₁ − k₂) · ε_f⁻¹(d) · ε_g⁻¹(d)
```

`g` is in its argument list, so the partner-dependence is real. Instantiating:

| | `f = E₂(1,χ₈)` | `g = 389.a1` | `g = 19.a1` |
| --- | --- | --- | --- |
| nebentypus | `ε_f = ψτ = χ₈`, `ε_f⁻¹(5) = χ₈(5) = −1` | trivial, `ε_g⁻¹(5) = 1` | trivial, `ε_g⁻¹(5) = 1` |
| weight parameter | `k₁ = r = 0` | `k₂ = 0` | `k₂ = 0` |
| `C_d` | | `25 + 5^j` | `25 + 5^j` |

The two entries `(ε_g(d), k₂)` are equal, so `C_d` is the **same number for both partners** — that is the derivation RUN-090 was missing, and it holds **at every `j`**, since `j` is a coordinate common to both applications. The gate checks it at three.

Separately, and not needed for that conclusion: `C_d(j) = 26` holds at one and only one `j`, namely `j = 0 = k₁ + k₂`. That matches PC-001's independently computed `𝒮₅(0) = 26` — the tree got 26 from PC-001's own `d² − χ₈(d)⁻¹`, LR's formula reproduces it, and the agreement identifies which point of the cyclotomic variable `𝒮₅(0)` sits at. It is a consistency check between two independently stated formulas, not an input to C2.

The drill gives 19.a1 a nontrivial nebentypus, and separately weight 4, and each splits `C_d` between the partners: `auditv2-smoothing` goes red. So the commonality is a measurement, not a label.

## 6. `C_π`, constituent by constituent — and what stays open inside a PASS

| constituent | where it is defined | side | canonical? |
| --- | --- | --- | --- |
| `c_lead` | leading coefficient of `c_f`, "a meromorphic function on `V₁` alone" (Thm C1.9) | auxiliary | yes |
| `q_f` = `b_f⁺(0)` = `c_r η_f` | §A8.3: a trivialisation of `D_cris(F⁺D(f)*(−1−k))`, with `c_r` introduced in §A8.3 | auxiliary | **no** — "we may choose (non-canonically)" |
| `ω_f` | Thm C1.10: **unique** over `O(V₁)`; Remark C1.11: determined by `f` alone | auxiliary | yes |
| `η_g` | the second tensor slot of `Col_{b_f⁺ ⊗ η_g}` | **partner** | yes |

Part A of the paper, where `b_f⁺` and `c_r` live, never mentions the cuspidal partner. So there is **no partner-dependent obstruction** to fixing one frame, and PC-001 §2's 「共同規範是必要假設」 is a free normalisation rather than an arithmetic claim. Filing `q_f` as partner-side data, or folding `η_g` into `C_π`, turns `auditv2-late-factor` red.

What does *not* follow, and is carried explicitly:

```text
b_f^+ is non-canonical, so C_pi has no numerical value until one trivialisation is fixed.
It cancels in PC-001's (2) — the ratio of two identically-projected classes — exactly as
PC-001 says. It does NOT cancel in anything built from C_aux alone.
```

That is a warning aimed at C5: the defect `D = C_arith ⊗ C_aux⁻¹` will inherit a `b_f⁺`-ambiguity unless the trivialisation is fixed first.

**One precision on the nonvanishing.** C1.9 gives regularity and non-vanishing at integer weights `k ⩾ −1` *except possibly at `k = r`* — and `k = r` is our point, the Eisenstein one. RUN-094 reported "`C` nonzero, Thm C1.13", which is the right conclusion; the reason is that C1.13's construction forms `X^n κ̂_d(f,g)`, non-zero mod `X`, whose regulator image is `c*_f(r)·C_d·log^{[r+1]}·L_p^g(…)` "where `c*_f(r) ∈ L^×`". Attributing the nonvanishing to C1.9, or forgetting its exception, turns `auditv2-late-factor` red.

## 7. The sub-splits, and the mapping back

The web line asked for C2 → structure/value and C4 → line/exact-norm, mapped back so the question is not quietly changed. The mapping rule used:

> the parent takes the verdict of the child its **own sentence** asks about; a child outside the sentence is carried in the outside-certificate ledger and cannot change the parent either way.

| parent | sentence asks about | child inside | child outside |
| --- | --- | --- | --- |
| C2 | whether partner arithmetic is kept out of the common line | `C2-STRUCTURE` = **PASS** | `C2-VALUE` (`Π_E/Π_0`) = **OPEN** |
| C4 | whether the auxiliary leading tensor / q-blind source **exists** | `C4-LINE` = **PASS** | `C4-EXACT-NORM` (`c_ES/Kum`) = **OPEN** |

This answers the question the symbolic line left open — whether Round 030's C4 criterion demands that the source line exist or that a fully normalized tensor exist. The sentence says **exists**. So top-level C4 is PASS, not PARTIAL, and the exact normalisation is an obligation the certificate never asked for.

Claiming a child outside the sentence is inside it — so that an open obligation would read as passed — turns `auditv2-ledger` red.

## 8. Obligations that are real and outside the certificate

```text
BF-COORD              no computed representative of kappa_d(f,g), hence none of B_{E,2} or r_{0,1}
C2-VALUE              Pi_E/Pi_0 has no known value
C4-EXACT-NORM         c_ES/Kum is not fixed
C_PI-TRIVIALISATION   b_f^+ is non-canonical; C_pi has no numerical value until one is fixed,
                      and anything built from C_aux inherits the ambiguity
```

Dropping any of these from the ledger turns `auditv2-ledger` red. They are the answer to the obvious objection that three items turning green makes the tree look further along than it is: nothing was measured this round that was not measured before, and the four obligations above are unchanged.

## 9. Claim labels

`COMPUTED_HERE` — the ten criterion sentences parsed from the corpus and their moods; the inherited hypotheses on both curves, including semistability from the Weierstrass invariants with the `1728Δ` identity; LR equation (8) instantiated, the partner entries compared, and `j` pinned by `𝒮₅(0) = 26`; the provenance of every constituent of `C_π`; the positive control on the audit's own rule.
`CITED_THEOREM` — LR Assumption B1.1, §B2, §A8.3, equation (8), Thms A2.1 / A6.1 / A6.3(i), C1.4, C1.9, C1.10, Remark C1.11, Thm C1.13; Mazur on rational isogenies of prime degree; Hansen's nobility.
`DERIVED_FROM_VERIFIED_INPUTS` — RUN-090's C3 and lattice ledger, RUN-092/093's Selmer line, RUN-094's C4 chain and C1.13 dictionary.
`UNMEASURED` — C5 through C10, and the four obligations of §8.
`FAILED` — nothing.

## 11. What the drill caught in this round's own gate

The first whole-tree run of this round was **not** clean: 507 defects, 503 caught by the check named for them, **4 uncaught**, 0 caught by the wrong check, 134 controls undisturbed.

All four were function replacements — `weierstrass`, `chi8`, `frontier`, and the RUN-090 log `_V1`. None of them moves a module-level constant, and this gate's memo key was built out of constants only. The memo is additive and primed at import, so restoring the baseline is a cache hit rather than a recompute; that is the RUN-090 lesson, and it is right. But with a key that did not name the functions, the cache served the baseline answer to a mutated gate and the defect became invisible.

So the two lessons are duals, and a gate needs both:

```text
RUN-090   a cache that EVICTS makes a gate's behaviour depend on what ran before it
RUN-095   a cache that never evicts but is keyed too NARROWLY makes a mutation invisible
          => the key must name everything a mutation can change: the constants, the
             FUNCTIONS the module computes with, and the logs it reads back
```

The second whole-tree run, after the fix: **507 defects, 507 caught by the check named for them, 0 uncaught, 0 caught by the wrong check, 134 controls undisturbed, state restored, over 150 checks** (5298 s as 8 shards). The key now names `weierstrass`, `chi8`, `frontier`, `dependency_order` and `rule` directly — function objects are hashable and a replacement has a different identity — together with a fingerprint of what this gate actually reads out of RUN-090's log. After the fix all five function-replacement defects (the four above plus the non-minimal-model one) are caught by their own named check, and both dependency-graph controls stay green.

This is also the answer to the obvious question about a self-auditing gate: a module-level probe that clears the cache between mutations would have shown all thirty-three green. The whole-tree drill, which does not clear it, showed four holes. The looser instrument agreed with me; the stricter one did not.

## 10. Status

```text
C1   PASS          the late character is one auxiliary-only quantity, by theorem,
                   with every inherited hypothesis instantiated on both curves
C2   PASS          partner dependence is located, not hidden; C2-VALUE open outside
C3   PASS          unchanged
C4   PASS          the source exists; C4-EXACT-NORM open outside
C5   UNMEASURED    attackable now: its only in-certificate upstream, C4, just closed
C6   UNMEASURED    blocked by C5
C7   UNMEASURED    blocked by C6
C8   UNMEASURED    attackable now: no in-certificate upstream at all, and never had one
C9   UNMEASURED    blocked by C5, C6, C7
C10  UNMEASURED    blocked by C9
NORMALIZATION-UNMEASURED        BSD  OPEN
```
