@@ -191,9 +191,128 @@ work to `main` and refresh all documentation:
191191 name, the commits folded in, the remaining open pieces of the
192192 milestone, and the proposed smallest useful next advance.
193193
194- ## Current rung state (2026-05-17)
195-
196- ### Session arc 2026-05-17 (read this first)
194+ ## Current rung state (2026-05-20)
195+
196+ ### Session arc 2026-05-20 evening — ω-power rank-mono unblock (read this first)
197+
198+ * Where we started today (commit ` 8c9ddcb ` on ` harden/ci-flake-pin-2026-05-18 ` ):*
199+ the ordinal track had the WfCNF predicate plus the ` _<ᵇ⁻_ ` subrelation
200+ foundations from the earlier session. The rank-embedding route to
201+ unbudgeted ` wf-<ᵇʳᶠ_ ` was framed as "closed impossible" in
202+ ` docs/echo-types/buchholz-rank-obstruction.adoc ` — the
203+ ` <ᵇ-+Ω <ᵇ-0-Ω : bplus bzero (bOmega (fin 1)) <ᵇ bOmega (fin 0) `
204+ counterexample forced a rank inversion under additive Brouwer rank
205+ with ` nat-to-ord ` successor-stack ` ω-rank ` . 4 of 13 constructors
206+ admitted rank-mono via ` RankPartial.agda ` ; 9 were structurally
207+ walled.
208+
209+ * Where we ended (PR #87 , branch ` session-2026-05-20/buchholz-budgeted-plus ` ,
210+ 23 commits ahead of ` 8c9ddcb ` ):* the "closed impossible" verdict is
211+ ** narrowed** — under the WfCNF restriction ` _<ᵇ⁻_ ` together with a
212+ * limit-shaped* ω-power rank, ** 10 of 13 constructors close** via
213+ relation-agnostic compositional primitives. 3 cases remain open
214+ under documented structural blockers (ψ-admissibility, joint-bplus).
215+
216+ Eight slices landed in order, each with ` agda proofs/agda/All.agda `
217+ and ` agda proofs/agda/Smoke.agda ` exiting 0 under ` --safe --without-K ` ,
218+ zero postulates, zero escape pragmas, no funext:
219+
220+ 1 . ** Slice 1** — ` Ordinal.Brouwer.OmegaPow.agda ` lands ` _·ℕ_ ` , ` ω^_ ` ,
221+ basic identifications (` ω^0≡one ` , ` one·ℕ≡nat-to-ord ` ,
222+ ` ·ℕ-zero ` , ` ·ℕ-suc ` ), positivity ` ω^_-pos ` , one-step strict-mono
223+ ` ω^-strict-mono-suc ` , weakening ` ω^-step ` .
224+ 2 . ** Slice 2** — left-monotonicity of ` _⊕_ ` (` ⊕-mono-≤-left ` in
225+ ` Phase13.agda ` ) + ` ·ℕ-mono-≤-left ` , ` ω^-mono-≤ ` , ` ω^-strict-mono `
226+ (general gap). Block comment in Phase13 documenting why strict
227+ left-mono of ` _⊕_ ` is * not* a theorem (the ` α + ω = β + ω `
228+ counterexample).
229+ 3 . ** Slice 3** — ` ⊕-assoc-≤ ` / ` ⊕-assoc-≥ ` (both funext-free ` ≤′ `
230+ directions in Phase13), ` ·ℕ-add-≤ ` bridge, and the keystone
231+ ** ` additive-principal ` ** at ` ω^(suc n) ` . The closure-under-addition
232+ property that makes ω-powers the right rank target for plus-side
233+ ` _<ᵇ_ ` constructors.
234+ 4 . ** Slice 4** — ` Ordinal.Buchholz.RankPow.agda ` : limit-shaped
235+ ` ω-rank-pow : OmegaIndex → Ord ` (` fin n ↦ ω^(suc n) ` ), `rank-pow :
236+ BT → Ord` consuming it, plus reusable compositional primitives
237+ (` rank-pow-bplus-right-mono ` , ` rank-pow-via-left ` ,
238+ ` rank-pow-bplus-into-ω-rank-pow ` , ` additive-principal-ω-rank-pow ` ).
239+ 5 . ** Slice 5** — 9 per-constructor rank-mono primitives in RankPow:
240+ ` rank-mono-<ᵇ-0-Ω/0-ψ/ΩΩ/Ωψ/ψΩ/Ω+/ψ+/+Ω/+ψ ` . Each stated purely
241+ in terms of rank inequalities (not the relation), so both ` <ᵇ⁻ `
242+ and ` <ᵇʳᶠ ` consumers reuse them by pattern-matching on their own
243+ relation's constructor.
244+ 6 . ** Item 1** — ` rank-mono-<ᵇ-+1-via-target ` parametric in the
245+ target's additive-principal witness; ` rank-mono-<ᵇ-+1-Ω-target `
246+ and ` rank-mono-<ᵇ-+1-ψ-target ` convenience wrappers. Closes
247+ ` <ᵇ-+1 ` for atomic targets; bplus-target sub-case explicitly
248+ deferred.
249+ 7 . ** Item 2** — ` Ordinal.Buchholz.WellFormedAdmissible.agda ` lands
250+ ` WfAdm : BT → Set ` strengthening WfCNF with `rank-pow α <′
251+ ω-rank-pow ν` on each ` bpsi ν α`. Carrier only; rank refinement
252+ for ` <ᵇ-ψα ` / ` <ᵇ-ψΩ≤ ` discharge deferred (cross-case interaction
253+ with ` <ᵇ-+ψ ` documented in the module preamble).
254+ 8 . ** Item 3** — ` Ordinal.Buchholz.RankMonoUmbrella.agda ` : the
255+ rank-soundness-ready relation ` _<ᵇ⁰_ ` with 10 constructors
256+ (tail-bounds baked in via ` _≤ᵇ⁰_ ` ) plus the umbrella theorem
257+ ** ` rank-pow-mono-<ᵇ⁰ : x <ᵇ⁰ y → rank-pow x <′ rank-pow y ` **
258+ proved by direct structural recursion over the 10 cases.
259+
260+ * Closure-doc update* : ` docs/echo-types/buchholz-rank-obstruction.adoc `
261+ gains a "Slices 1–5 of the ω-power unblock" section with an updated
262+ per-constructor verdict table (10 closed / 3 open). The "rank-
263+ embedding route is closed" framing is narrowed: closed for
264+ unrestricted ` _<ᵇ_ ` , opens up under the WfCNF restriction with
265+ limit-shaped rank.
266+
267+ ** Open work on this track (documented blockers):**
268+
269+ * ` <ᵇ-ψα ` , ` <ᵇ-ψΩ≤ ` — provisional ` rank-pow (bpsi ν _) = ω-rank-pow ν `
270+ doesn't discriminate on α. Closed by ψ-admissibility predicate
271+ (carrier landed in Item 2); the rank refinement is a separate
272+ slice that needs to resolve the ` <ᵇ-+ψ ` cross-case.
273+ * ` <ᵇ-+1 ` joint-bplus — ` rank-pow (bplus z₁ z₂) ` is not additive
274+ principal in general. Needs a coarser dominator function (e.g.,
275+ ` leading-Ω-index : BT → OmegaIndex ` returning the leftmost-deepest
276+ Ω-marker) or a richer rank shape.
277+ * ` rank-pow-mono-<ᵇ⁻ ` (full umbrella over ` _<ᵇ⁻_ ` — gated on the
278+ above two). The 10-of-13 ` _<ᵇ⁰_ ` umbrella is the working closure;
279+ consumers needing the full ` _<ᵇ⁻_ ` form bridge through the
280+ 3-cases-open gap.
281+
282+ Build invariant held every slice: ` All.agda ` + ` Smoke.agda ` exit 0
283+ under ` --safe --without-K ` , zero postulates, zero escape pragmas, no
284+ funext. All headlines pinned in ` Smoke.agda ` (or
285+ ` Ordinal/Buchholz/Smoke.agda ` for the Buchholz-layer modules).
286+
287+ ** Reusable design constraint** : Per a parallel-session note on
288+ ` _<ᵇʳᶠ_ ` , the rank-mono primitives are stated * relation-agnostically*
289+ (rank-input, rank-output, no ` <ᵇ ` constructor patterns). Both the
290+ ` _<ᵇ⁻_ ` consumer (this track) and the ` _<ᵇʳᶠ_ ` consumer (parallel
291+ session's wf-` <ᵇʳᶠ ` milestone) can pattern-match on their own
292+ relation's constructor and apply the matching primitive.
293+
294+ * Plan for the next Claude:* PR #87 is the deliverable. Closure
295+ work continues in three follow-ons, prioritised:
296+
297+ 1 . ** ψ-admissibility rank refinement** (closes ` <ᵇ-ψα ` , ` <ᵇ-ψΩ≤ ` ,
298+ 2 of 3 open cases). Define ` rank-adm : BT → Ord ` using
299+ ` ω-rank-pow ν ⊕ rank-pow α ` for ψ under WfAdm. Cross-case fix
300+ for ` <ᵇ-+ψ ` : under admissibility, source-rank is bounded by
301+ ` ω-rank-pow ν ` (the structural admissibility-source-bound lemma).
302+ 2 . ** Leading-Ω-index domination** (closes ` <ᵇ-+1 ` general). Define
303+ ` head-Ω : BT → OmegaIndex ` returning the leftmost-deepest Ω
304+ marker. Prove ` rank-pow t <′ ω-rank-pow-succ (head-Ω t) ` for
305+ non-bzero WfCNF terms. Then ` <ᵇ-+1 ` discharges via head-Ω
306+ inversion + additive-principal at the head-Ω's successor.
307+ 3 . ** Full ` rank-pow-mono-<ᵇ⁻ ` umbrella** — composition of 1+2
308+ with the existing 10-constructor ` _<ᵇ⁰_ ` umbrella.
309+
310+ DO NOT reopen: the closed 10 constructors (their primitives are
311+ correct under WfCNF); the unbudgeted ` _<ᵇʳᶠ_ ` rank route per
312+ ` RankBrouwer.agda ` preamble (genuinely impossible for unrestricted
313+ ` _<ᵇ_ ` ). The umbrella works on ` _<ᵇ⁰_ ` , not on ` _<ᵇ_ ` directly.
314+
315+ ### Session arc 2026-05-17 (legacy — read second)
197316
198317* Where we started today (commit ` 8a2b908 ` ):* the establishment
199318track was a plan plus scaffolds — Pillar A landed; Pillars B–D were
0 commit comments