Repository navigation
Import matrix multiplication exponent at most 9/4 over every field - #670
Conversation
{
"reviewer": "Acquisition agent, separate full-scope review pass by the authoring agent; does not replace the configured independent GPT reviewer",
"reviewed_commit": "05bea3cecf86a63b3bf42089c476fb9bc0852a5a",
"verdict": "approve",
"merge_readiness": "Source, current-head CI and all reviews are ready. Held open under the user priority hold while current-main post-merge Lean CI 39029746969 is still building. No merge, queue entry or auto-merge requested; daily documentation is not the blocker.",
"coverage": {
"complete_diff": true,
"upstream_modules": 143,
"final_lean_files": 145,
"public_source_axiom_queries": 1760,
"method": "Bounded inspection of every upstream closure file, declarations and representative proof bodies, every port code delta, four headline contracts, dependency closure, exact-head build/profile evidence and individual CI workflows; not an elided GitHub diff; the complete nine-file follow-up diff sharing the complex/generic implementation was also inspected, with endpoint contracts unchanged. The complete four-file second repair was read; all original theorem headers are preserved and checked by specialization proofs."
},
"faithfulness": {
"verdict": "pass",
"bottom_line": "The Lean proves the all-fields arithmetic exponent claim and the uniform explicit-program bound.",
"proves_the_claim": "proves_it",
"claim_note": "For every field F and epsilon > 0, there is C > 0 such that every n >= 1 admits a correct division-free arithmetic program of cost at most C n^(9/4 + epsilon).",
"assumed_inputs": "The endpoint takes [Field F] and positive epsilon; the infrastructure descent lemma explicitly assumes a finite extension E/P. No spectral conclusion or exponent bound is postulated in a constructor or an endpoint hypothesis.",
"findings": []
},
"novelty": {
"verdict": "pass",
"bottom_line": "No matching headline or upstream project was found in the searched pool, Mathlib or TauCeti corpora.",
"already_formalized": "",
"novelty_note": "The arbitrary-field extension is distinguished from the credited complex-field preprint; pinned-source and live public-default-branch searches found no matching declaration, with no claim that keyword searches prove exhaustive novelty.",
"findings": []
},
"significance": {
"verdict": "pass",
"bottom_line": "This is research-level algebraic complexity with a substantial reusable tensor and arithmetic-program library.",
"fit": "good_fit",
"level": "research",
"branch": "algebraic complexity theory",
"mode": "theory_building",
"significance_one_sentence": "It proves matrix multiplication exponent at most 9/4 over every field and preserves finite Fourier separation, asymptotic spectrum and finite-extension rank-descent infrastructure.",
"findings": []
},
"sources": {
"verdict": "pass",
"bottom_line": "The primary paper supports the complex result, and the pinned public upstream explicitly supplies and is credited for the all-fields extension.",
"source_match": "matches",
"findings": []
},
"quality": {
"verdict": "pass",
"bottom_line": "All parallel complex arithmetic implementations named by both reviews now specialize the field-generic API: syntax, interpretation, append/substitution, expression compilation, schoolbook algorithm, block families/compiler, padding, lower bounds and exponent lemmas. Local gates pass; the remaining complex layer consists of typed compatibility adapters and square-cost ring identities.",
"code_quality": 3,
"findings": []
},
"mathematical_evidence": [
"Read Gate, Program, MatrixAlgorithm.Correct, AdmissibleExponent and omega directly. Input/literal loading is free; each addition, subtraction and multiplication costs one; correctness quantifies over all input matrix pairs. The claim concerns arithmetic operations, with no bit-complexity or numerical-stability claim.",
"The admissible set is proved nonempty and bounded below by two. Separate admissibility and explicit-program corollaries prevent the infimum headline from being vacuous. Quantifiers have epsilon, then C, then arbitrary positive n in the claimed order.",
"Positive-characteristic Fourier separation chooses consecutive candidate periods whose scalar casts cannot both vanish, proves the required no-wrap bounds, and constructs primitive roots in an algebraic closure. Interpolation uses injective nodes in an infinite field rather than integer casts.",
"Descent captures the finitely many rank-decomposition coefficients in a finite extension of the prime field, expands them in a basis with rank overhead m^3, absorbs that fixed factor using tensor powers, and maps the prime-field result into the arbitrary target field.",
"The new border-rank pullback theorem follows from continuity, exact-rank pullback and closure minimality; its callers remove finiteness hypotheses without weakening conclusions. The Brouwer replacement is an explicit homeomorphism of finite simplices using the existing pooled theorem.",
"The registered short entry is a real theorem, verified as an environment constant. All four main results resolve to exposition nodes. The initial export alias defect was repaired before this reviewed checkpoint.",
"The generic/complex sharing refactor preserves Gate/Program/Expression constructors, arithmetic semantics, cost and Correct by specialization at \u2102. The old square schoolbook cost is derived from the generic rectangular cost by a ring identity; the old positive-cost and nonnegative-exponent bounds use stronger existing generic bounds. All-fields endpoints are unchanged.",
"The second repair preserves the existing declaration headers. Generic Family \u2102 supplies identical program/output fields, and every block/padding/exponent correctness theorem is a direct application of its generic counterpart. Four square cost equalities and the existential block-step result normalize the same rectangular cost by ring arithmetic; no positivity hypothesis or other assumption was added."
],
"source_and_scope_evidence": {
"upstream": "jzuiddam/omega-nine-quarters-all-fields@615b591cddd8792173c17b58558ef3b9f11a702c",
"material_completion_utc": "2026-10-07T07:40:34Z, corroborated by upstream verification record; exact first public-announcement time not independently established",
"license": "Apache-2.0; NOTICE and individual modification notices retained",
"provenance": "AI; original OpenAI proof plus Jeroen Zuiddam extension with disclosed Claude assistance",
"prior_work": "OpenAI/math@adc7f1241b42e322a6451854ab7e4b4c146bf78a; the cited paper states the complex result and is not misrepresented as proving every-field descent",
"scope": "143-module coherent mathematical closure only; no unrelated monorepo results, comparator placeholder, dependency patch, Mathlib or TauCeti source vendored"
},
"validation": {
"local": "Warning-free clean build; generated indexes; all 15 Mathlib linters; text style; unmodified project-scoped repository quality functions; metadata/declaration resolution; all public-source axiom closures and all compiled declarations option/axiom-injection audit; all pass. No Python implementation changed.",
"performance": {
"baseline_seconds": 160.87,
"optimized_seconds": 145.23781766998582,
"baseline_largest_process_rss_kib": 3026000,
"optimized_largest_process_rss_kib": 1818408,
"build_targets_before_after": [
9106,
3838
],
"synchronous_sumTensor_restrict_seconds_before_after": [
20.61,
2.97
],
"conditions": "Project artifacts removed; pinned dependencies and pooled Brouwer warm; LEAN_NUM_THREADS=4 on the same shared 16-CPU VM. Final measurement load average 30.99 to 34.13. Timing noise and process-versus-total RSS disclosed. No incremental speedup from maintenance refactors asserted.",
"preserved_pre_review_checkpoint": {
"head": "86c168814cbc1a1d639c0a74ea457b6ffaad52ec",
"seconds": 138.2468455471,
"largest_process_rss_kib": 1821456
},
"state_obstruction_profile": {
"largest_command_seconds": 1.532808,
"largest_definition_value_seconds": 1.491395,
"assessment": "No pathological declaration or material safe further change evident."
},
"preserved_first_sharing_checkpoint": {
"head": "88374bbb7621fada649163220ccbff191e5d1903",
"seconds": 143.5152901809197,
"largest_process_rss_kib": 1818800
}
},
"pr_ci": {
"url": "https://github.com/LeanPool/lean-pool/actions/runs/39029849530",
"state": "success",
"reviewed_head": "05bea3cecf86a63b3bf42089c476fb9bc0852a5a",
"observed": "Full Lean CI build/index/lint/style/quality passes. All eight required contexts inspected: Build project and separation pass, six inapplicable scoped contexts skip. Non-draft PR, merge state CLEAN, all review conversations resolved."
},
"main_ci": {
"previous_post_merge_run": "https://github.com/LeanPool/lean-pool/actions/runs/39024769212",
"previous_post_merge_state": "success",
"current_main_tip": "59fa0f4d29068a41b6c6f5aaf7da42876f1e55aa",
"source_revision": "e491b5f601e09498ee3975e4237a9e996d2b365b",
"exact_source_queue_validation": "https://github.com/LeanPool/lean-pool/actions/runs/39024828020",
"exact_source_queue_state": "success",
"additional_post_merge_run": "https://github.com/LeanPool/lean-pool/actions/runs/39029746969",
"additional_post_merge_state": "in_progress"
},
"daily_documentation": "Asynchronous publication, excluded from merge-gate assessment; no aggregate statusCheckRollup verdict used",
"greptile": {
"head": "05bea3cecf86a63b3bf42089c476fb9bc0852a5a",
"state": "completed",
"result": "No blocking issue in the four-file refactor. Greptile still explicitly limits full-contribution approval; the independent full-scope review remains required. Original duplication thread resolved.",
"url": "https://github.com/LeanPool/lean-pool/pull/670#issuecomment-6232984909"
},
"independent_review": {
"reviewed_commit": "05bea3cecf86a63b3bf42089c476fb9bc0852a5a",
"verdict": "approve",
"rubrics": {
"faithfulness": "pass",
"novelty": "pass",
"significance": "pass",
"sources": "pass",
"quality": "pass"
},
"findings": [],
"reported_model": "gpt-6.1-sol",
"effort": "xhigh",
"published_utc": "2026-10-17T12:11:10Z",
"url": "https://github.com/LeanPool/lean-pool/pull/670#issuecomment-6233417079",
"limitation": "CI was in progress at review time; review does not replace CI."
}
}
} |
|
Advisory cross-file review against Lean Pool's supervisory rubric. This is not by itself a significance, source-verification, or merge verdict. [Low impact] No blocking issue was found in the latest four-file refactor; this is not a full-contribution approval. SummaryAdds the all-fields matrix multiplication bound and supporting tensor and arithmetic-program proofs. The latest update shares more proofs between the complex and field-generic APIs.
Reviews (3) · Last reviewed commit: "Specialize the remaining complex arithme..." · Reviewed by Greptile |
|
/review Please review current head |
Vilin97
left a comment
There was a problem hiding this comment.
Independent review of exact head 88374bbb7621fada649163220ccbff191e5d1903.
Disposition: source accepted; protected integration checks pending. The four substantive rubric verdicts are pass. Advisory quality is discuss, 3/5, weighed below.
- Faithfulness: The endpoints quantify over every field. For each positive ε, one positive C is chosen before all positive sizes n, and the witnesses are division-free programs correct for every matrix pair. Loading inputs/constants is free; additions, subtractions and multiplications each cost one. Nonempty admissible exponents and their lower bound are proved, and the explicit-program corollary avoids relying on the infimum headline alone. The reviewed construction includes finite-coefficient descent with the stated m³ rank factor, its absorption by tensor powers, a characteristic-safe Fourier period, and the actual pooled Brouwer producer used through a finite-simplex homeomorphism.
- Novelty: The inspected pinned Mathlib matrix-rank and Akra–Bazzi contracts, Tau Ceti finite-field-of-definition and tensor-decomposition contracts, and current pool cards do not supply these headline results. The finite-definition overlap is supporting infrastructure; the quantitative trilinear descent and arbitrary-field arithmetic bound add content. This is a bounded comparison of actual contracts, without a first-in-history or exhaustive semantic-absence claim.
- Significance: Research-level algebraic complexity, with a substantial tensor/program development. The admissibility and explicit-program results expose the same main bound; they are not counted as separate discoveries.
- Sources: The pinned primary paper states the complex-field result. The card and retained upstream notices clearly credit Zuiddam's all-fields extension and the preceding OpenAI formalization. All 143 mathematical modules correspond to the pinned upstream closure and are reachable from the entry. The complete upstream NOTICE and 41 detailed modification notices are retained.
Advisory maintenance finding — remaining complex specializations. In ComplexArithmetic/RecursiveBlockPrograms.lean, line 78, the second Family structure and its linear-form/composition/parallel/copies proofs repeat the generic implementation. The square block correctness/cost pipeline also specializes the generic rectangular pipeline; related duplication remains in ComplexArithmetic/MatrixPadding.lean:27–109 and ComplexArithmetic/Exponent.lean:25–63. For example, the two sum_fin_castLE_of_zero proofs are identical after field specialization. Keeping compatibility names as forwarding specializations would give these proofs one maintenance owner.
I have weighed this as acceptable follow-up debt under the advisory policy: the primitive program/compiler layers already share implementations, and both remaining routes have concrete consumers. Any consolidation should preserve the public APIs, rectangular dimensions and exact square cost bound.
All 146 published files were captured completely and authenticated at this head. The mathematical review followed the endpoint contracts and selected producer/proof chains; it was not a line-by-line rederivation of all 25,263 Lean lines. No local build, private benchmark or comparator replay was performed in this review, and contributor measurement claims remain attributed.
Current-head Lean CI and the existing configured review request 6233168174 remain outstanding. Current-main applicable validation is also still running. Keep the normal source, owner, thread, required-check and native-queue guards; daily documentation publishing remains asynchronous.
🤖 LLM review (
|
| Rubric | Verdict | Bottom line |
|---|---|---|
| Faithfulness | ✅ pass |
All four card claims match the Lean statements and definitions; current-head Lean CI remains pending, and no local build was run. |
| Novelty | ✅ pass |
No duplicate of the four headline results was identified in the inspected Mathlib, Tau Ceti, or pool sources. |
| Significance | ✅ pass |
The all-fields matrix multiplication bound and its supporting theory meet the significance bar; head Lean CI remains in progress. |
| Sources | ✅ pass |
The pinned upstream supports all four card results, and the diff distinguishes Zuiddam’s all-fields extension from OpenAI’s credited complex-field formalization. |
| Code quality (advisory) | ✅ pass |
The shared arithmetic implementation and complex adapters are maintainable; CI remains in progress, and no local build was run. |
| Aspect | Value |
|---|---|
| Proves the claim | ✅ proves_it |
| Assumed, not proved | The exponent results assume only a field and the stated positivity conditions; descent assumes a finite-dimensional field extension and a rank decomposition of the scalar-extended base-field tensor, as disclosed in the card. |
| Matches cited source | ✅ matches |
| Fit | ✅ good_fit |
| Level | research |
| Branch | algebraic complexity theory |
| Mode | theory_building |
| Code quality | 3 / 5 |
Statement check: For every field and positive epsilon, one positive constant bounds correct division-free programs at every positive matrix size by the claimed power; finite-extension rank descent has the stated cubic degree overhead.
The project establishes the 9/4 matrix multiplication exponent bound over every field, developing tensor restrictions, polynomial degeneration, spectral characters, finite-extension rank descent, and certified arithmetic programs.
Tokens: 16,339,034 in / 50,882 out across 5 model calls · Tier: codex-subscription · Effort: xhigh · Billing: Codex subscription quota (no API credits) · Estimated cost: $66.1194 (Standard API equivalent; uncached input)
Each rubric is an independent review against .github/review-rubrics/ on top of .github/REVIEW_RULES.md. Disagree? Reply on the PR; rules can be updated in a PR of their own.
CI was not green for this commit at review time; this review does not replace CI.
|
/review Please re-review current head All seven local validation stages pass: warning-free build, generated indexes, all 15 Mathlib linters, style, project-scoped unchanged quality checks, metadata plus public/all-compiled trust/option audits, and diff whitespace. The clean project build measures 145.24 s and 1,818,408 KiB peak process RSS (baseline 160.87 s and 3,026,000 KiB). CI on this new head remains required; previous-head checks do not establish it. The separate authoring-agent review has also been updated and does not replace independent review. |
Vilin97
left a comment
There was a problem hiding this comment.
Independent follow-up review of exact head 05bea3cecf86a63b3bf42089c476fb9bc0852a5a, compared with reviewed head 88374bbb7621fada649163220ccbff191e5d1903.
Source disposition: approve; integration checks pending. Faithfulness, novelty, significance and sources remain pass on the documented comparisons. Advisory quality is now pass, 4/5: the concrete duplication finding in the earlier reviews is resolved.
I read all four replacement files, covering all 482 current lines. The other 142 whole-file Git objects match the reviewed source, including the card, entry, four headline results, generic program model, all-fields descent and principal producers. The independent delta review checked all 44 handwritten theorem statements and the actual padding/block-recursion consumers.
- The complex linear forms,
Familyoperations, block compiler and correctness/cost certificates now specialize the generic implementation at ℂ and equal matrix dimensions. - Input and output costs remain
4*r*n²*m²and2*r*n²*m²; the final block step still costsr*p.cost + 6*r*n²*m². The adapters normalize the generic rectangular formulas by ring identities, retaining the original rank/correctness premises. - Padding and exponent lemmas directly use their generic counterparts. The zero-cost lemma derives zero register cost from the nonnegative total-cost sum and uses the existing generic result.
This gives the reviewed machinery one implementation and proof owner. The Family change is specifically a separate structure becoming an abbreviation of the generic type: the reviewed mathematical statements and current consumers are preserved, while compatibility with every old generated constructor/projection name or compiled nominal type is not claimed.
The unchanged source credit and substantial arbitrary-field theorem retain their earlier assessments. The novelty check also examined current nearby Tau Ceti contracts and bounded public search results; it does not establish exhaustive absence across the newer corpus.
The complete four-file published patches reconstruct the captured postimages. No local compiler, benchmark, private validation or comparator replay was performed by this reviewer; contributor measurements remain attributed.
Configured review2178 now approves all five rubrics on this exact head and fulfills the existing re-review request 6233491107; I read its current result and found no remaining finding to reconcile. Review2177 at 8837 remains historical evidence. Current-head CI, applicable current-main validation and all normal native-queue/owner/thread protections remain required. Previous-head success or cancellation does not establish readiness for this head.
Proof profile (new / modified Lean files)
This build covers the changed modules and their dependency cones on top of the restored cache. The serial per-file sums below are useful for ranking slow files, not as a build budget. Total heartbeats: 2,667,576 maxHeartbeats units across 145 valid files (25,080 added LOC). Sum of Count-heartbeats wall-clock total: 654.48 s. Repeated import cost inside Heartbeat values sum disjoint root command traces with LOC counts added lines in the profiled Lean files from this PR diff.
Aggregate phase totals
Slowest changed modules (from
|
| Changed module | Lake time |
|---|---|
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.AuxiliarySeparation.Tensor.DirectSum |
7.20 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.AuxiliarySeparation.Determinant.Filtration |
6.20 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.AuxiliarySeparation.Spectrum.StateObstruction |
6.10 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.Tensor.ComplexLocalMaps |
4.50 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.AuxiliarySeparation.Sector.Weights |
4.50 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.AuxiliarySeparation.Tensor.CharacterBounds |
4.40 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.AuxiliarySeparation.Determinant.Kernel |
4.30 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.Separation.ComplexRationalTypes |
4.20 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.AuxiliarySeparation.Sector.Branches |
4.20 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.Tensor.ComplexTensor |
4.10 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.AuxiliarySeparation.Convex.ConeSupport |
4.10 s |
LeanPool.MatrixMultiplicationAllFields.LinearAlgebra.MatrixMultiplication.Separation.ComplexLabelHierarchySeparation |
4.00 s |
Comment truncated to fit GitHub's 64 KB limit. This PR profiles 145 files; the per-file table shows only the 145 hottest by heartbeats. The full table and raw
lean --profileoutput for every file are in the run's step summary andproof-profileartifact.
Advisory only — never blocks merge.
Proves that the arithmetic exponent of square matrix multiplication is at most 9/4 over every field, and gives the infimum-free bound: for every ε > 0 there is C > 0 such that every positive size n admits a correct division-free arithmetic program costing at most C n^(9/4 + ε).
This preserves reusable tensor restriction, rank, polynomial degeneration, finite Fourier separation, asymptotic spectrum, and arithmetic straight-line-program infrastructure. The field-descent theorem independently converts a rank-R decomposition over a degree-m finite extension into one of rank at most m³R over the base field. The characteristic-dependent separation step chooses between consecutive periods 3M−2 and 3M−1, rather than assuming a primitive 5M-th root exists in every characteristic.
Source and eligibility:
adc7f1241b42e322a6451854ab7e4b4c146bf78a. The cited paper states the complex result; the arbitrary-field extension is attributed separately to Zuiddam.AllFields.Main, excluding the monorepo's unrelated results, comparator placeholder, tooling, and dependency patch. No Mathlib or TauCeti source is vendored. Searches of the pinned Mathlib/TauCeti sources, pool cards/history, PRs and issues found no matching headline theorem.Port and maintenance:
MatrixMultiplicationAllFieldsnamespace.LeanPool.Brouwer.Brouwerthrough a finite-simplex homeomorphism, removing the external fixed-point package and patch.Fintypeassumptions toFinite, and localized classical decidability.constanttoliteralto meet the existing token gate. Arithmetic semantics, operation costs, theorem strength and field generality are preserved.LeanPool.leanunchanged. Content-only change.Validation at
05bea3cecf86a63b3bf42089c476fb9bc0852a5a:LEAN_NUM_THREADS=4 lake build LeanPool.MatrixMultiplicationAllFields.Imports: success, zero warnings.lake exe mk_all --module --check: pass;lake exe runLinter --no-build LeanPool.MatrixMultiplicationAllFields.Imports: pass;lake exe lint-style LeanPool.MatrixMultiplicationAllFields.Imports: pass.#print axiomsclosure audit for all 1,760 public source declarations: pass, only the repository's three allowed axioms. The repository's compiled environment audit covered every declaration in all 145 project modules, including private/generated declarations: no option manipulation, gated literals, axiom injection or declared axioms.git diff --check: pass. No Python implementation changed. Full repository CI and configured reviews remain the final authority; final-head Lean CI has now passed, as recorded below.Measured optimization, same shared 16-CPU Azure VM, pinned dependencies and pooled Brouwer warm, imported-project artifacts removed before each measurement,
/usr/bin/time -v lake build LeanPool.MatrixMultiplicationAllFields.Imports,LEAN_NUM_THREADS=4:4d091d71e05bea3cecObserved improvement: 9.7% wall time, 39.9% peak single-process memory. Shared-host contention adds timing noise; these are project-clean builds with cached dependencies, not cold dependency builds, and RSS is not total parallel-build memory. Baseline warnings were repaired before the final measurement. The preserved pre-review checkpoint at
86c168814measured 138.25 s and 1,821,456 KiB; the first shared-code checkpoint88374bbb7measured 143.52 s, and the final specialization checkpoint05bea3cecmeasured 145.24 s. No incremental wall-time speedup from the maintenance refactors is claimed.The retained synchronous command traces (
lake env lean -DElab.async=false -Dtrace.Elab.command=true -Dtrace.profiler=true -Dtrace.profiler.threshold=100 <DirectSum.lean>) showsumTensor_restrictdropping from 20.61 s to 2.97 s after the disjoint pattern-match change. The remaining slowest module, determinant filtration, was profiled separately: its most expensive definition value was approximately 0.81 s, with no further material safe elaboration improvement evident from that trace. Public API documentation, redundant simp registrations and unused arguments were repaired across the complete imported scope; border-rank pullbacks now work without finiteness assumptions.The entry module exposes a concrete short theorem for its card, rather than a name alias: all four main results resolve to real exposition nodes. The acquisition agent posted an additional exact-head, full-scope review separately, and requested the configured independent review at this stable head. Greptile and the configured independent GPT reviewer are allowed to finish before any protected queue action.
The configured independent five-rubric review approves exact head
05bea3cecf86a63b3bf42089c476fb9bc0852a5a, with all rubrics passing and no findings. Greptile’s exact-head follow-up reports no blocking issue in the repair while limiting broader contribution approval; the separate full-scope source review also approves. Final-head Lean CI now passes, including build, index, lint, style and quality/trust validation. The eight protected contexts pass or are correctly scoped out. Current-main post-merge Lean CI 39029746969 is still building, so the user priority hold keeps this PR open and unqueued with auto-merge disabled. Daily documentation publishing is not the blocker.