Repository navigation
Preserve TrustRegion parameter representation on reinit - #1229
ChrisRackauckas merged 1 commit into
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: OpenAI Codex <noreply@openai.com> Agent-Harness: Codex CLI 0.153.4 Agent-Model: gpt-6-astra Agent-Session: local session ID 01a0598f-11b9-72d1-91d9-b2fbb186557d
|
CI is now complete for This is separate from the additional composed Catalyst docs validation, which is still running locally and is not claimed to pass. The draft remains for @ChrisRackauckas review; no merge was performed. 🤖 Generated with Codex CLI 0.153.4 (model: gpt-6-astra; session: local session ID 01a0598f-11b9-72d1-91d9-b2fbb186557d). |
|
The additional composed Catalyst docs build completed successfully (exit 0), including HTML rendering and nonempty Command (Julia 1.12.7): TMPDIR=/home/crackauc/sandbox/tmp_20260831_204216_89854/.tmp \
JULIA_PKG_PRECOMPILE_AUTO=0 JULIA_DEBUG=Documenter timeout 28800 \
xvfb-run -a julia --project=../.validation/catalyst-docs-pr1574-timeroutputs1-patched \
--color=no --code-coverage=user docs/make.jlFinal output includes completed HTML rendering, automatic inventory version This is explicitly composed evidence, not a clean-registry or this-patch-alone claim. Local package sources included this TrustRegion fix; NonlinearSolveBase's initialization correction; SciML/SciMLBase.jl#1574; sumiya11/Groebner.jl#226; pogudingleb/RationalFunctionFields.jl#61; and an unpublished local TimerOutputs closure-capture fix. Groebner and RationalFunctionFields additionally had local TimerOutputs 1 compat allowances. The complete environment is retained locally. The checked-in Catalyst configuration has CI on this NonlinearSolve draft previously completed with 72 successful checks and three skipped checks. No merge was performed. 🤖 Generated with Codex CLI 0.153.4 (model: gpt-6-astra; session: local session ID 01a0598f-11b9-72d1-91d9-b2fbb186557d). |
- NonlinearSolveBase: rebuild a pre-wrapped function when its signatures do not match u0/p (#1226) - Fix reverse AD through despecialized parameters (#1228) - Preserve Jacobian cache parameter representation (#1227) - Preserve TrustRegion cache parameter representation on reinit (#1229) Agent-Harness: Claude Code Agent-Model: claude-opus-5[1m] Claude-Session: https://claude.ai/code/session_014FEzNTLFutCmTEAZ3zBg5R Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- NonlinearSolveBase: rebuild a pre-wrapped function when its signatures do not match u0/p (#1226) - Fix reverse AD through despecialized parameters (#1228) - Preserve Jacobian cache parameter representation (#1227) - Preserve TrustRegion cache parameter representation on reinit (#1229) - Run runic on docstrings and markdown files (#1231) - Release NonlinearSolveFirstOrder 2.5.1 (#1232) - NonlinearSolveBase: report the wrapped arity for despecialization wrappers (#1230) Agent-Harness: Claude Code Agent-Model: claude-opus-5[1m] Claude-Session: https://claude.ai/code/session_014FEzNTLFutCmTEAZ3zBg5R Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Drop stale [compat] majors older than one year (#1198) - Drop @fastmath from L2_NORM/Linf_NORM so isfinite guards survive (#1182) - Release 4.28.1 (#1202) - Release 2.48.1 (#1206) - Align QA NLsolve compat with root project (#1205) - Widen NonlinearSolveBase LogExpFunctions compat to 0.3.28–1 (#1203) - Continue polyalgorithm after stalled least-squares solves (#1204) - Align Wrappers NLsolve compat with root project (#1208) - Release 2.48.2 (#1210) - Preserve despecialized parameters during reinit (#1199) Agent-Harness: Claude Code Agent-Model: claude-opus-5[1m] Claude-Session: https://claude.ai/code/session_014FEzNTLFutCmTEAZ3zBg5R Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Require all components to stall before resetting Broyden (#1184) - Add adaptive Jacobian reuse to first-order solvers (#1072) - Release 4.29.1 (#1220) - Release 2.49.1 (#1221) - Release 1.15.3 (#1222) - Fix @static_timeit for TimerOutputs ≥ 0.5.27 (#1224) (#1225) - NonlinearSolveBase: rebuild a pre-wrapped function when its signatures do not match u0/p (#1226) - Fix reverse AD through despecialized parameters (#1228) - Preserve Jacobian cache parameter representation (#1227) - Preserve TrustRegion cache parameter representation on reinit (#1229) Agent-Harness: Claude Code Agent-Model: claude-opus-5[1m] Claude-Session: https://claude.ai/code/session_014FEzNTLFutCmTEAZ3zBg5R Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Remove name duplicates in keyword arguments/named tuples (#1238) - Add 32-bit Core CI lane via test_groups.toml (#1239) - Add a native bounded trust-region solver (#1219) Agent-Harness: Claude Code Agent-Model: claude-opus-5[1m] Claude-Session: https://claude.ai/code/session_014FEzNTLFutCmTEAZ3zBg5R Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Preserve the TrustRegion cache's existing raw/despecialized parameter representation during
reinit!. Enzyme setup unwraps the inner problem, so an outerAutoDespecializecache can otherwise pass wrapped parameters into a raw inner cache and fail conversion. The two-line fix normalizes the parameter used by both the cache and its reinitialization calculations.The regression test exercises public
reinit!with explicit ForwardDiff and Enzyme choices for all three AD backends. The Jacobian-cache prerequisite is already merged: #1227 . This PR contains only the TrustRegion follow-up.Verification
The exact new regression on unfixed code passed the ForwardDiff case (2/2) and errored in the Enzyme case (exit 1):
With the fix, the same regression passed both cases on Julia 1.12.7 and Julia 1.10.11 (exit 0 on each):
From
lib/NonlinearSolveFirstOrder, the complete native group ran with:Core: 2,724 assertions across 40 reported testsets, exit 0, including TrustRegion 1,176/1,176 and reinitialization 11/11. QA: 20/20, exit 0. Final output:
Runic check, typos on both changed files, and
git diff --checkpassed. Rebase onto the merged prerequisite produced an identical tree to the locally validated commit.The Catalyst documentation-load-order reproducer failed before this fix with the matching parameter conversion error and passed afterward, printing
CATALYST_LOADED_TRUST_REGION_SUCCESS. The complete composed Catalyst documentation build is still running; no full documentation success is claimed. This change touches no public API, docstring, or documentation file. GPU and full downstream suites were not run locally.The first native Core attempt ended with SIGKILL of unknown cause. The complete successful retry used the GC heap-size hint above, changed no assertions, and observed unchanged OOM counters throughout.
An executable adjacent-commit comparison identified the original introduction: e416641 fails, while its immediate parent c8479f4 passes with the same external dependency versions.
Please ignore this draft until reviewed by @ChrisRackauckas.
🤖 Generated with Codex CLI 0.153.4 (model: gpt-6-astra), local session ID 01a0598f-11b9-72d1-91d9-b2fbb186557d.