Skip to content

Restore DelayDiffEq extension hooks as public API - #4073

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/fix-delay-qa-public-api
Jul 29, 2026
Merged

Restore DelayDiffEq extension hooks as public API#4073
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/fix-delay-qa-public-api

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Ignore until reviewed by @ChrisRackauckas.

Summary

  • Restore the ten extension hooks that DelayDiffEq already consumed as public API before they were accidentally demoted by Document public developer APIs #3832.
  • Make the two later limiter hooks used by DelayDiffEq public.
  • Document all twelve hooks in the developer API reference and add owner-package Base.ispublic regression tests.
  • Remove the two owner-side ExplicitImports ignores that are obsolete once the API declarations are restored. This does not add or widen any DelayDiffEq QA allowlist.

Root cause

#3832 split the public and developer API documentation, but it also demoted cross-sublibrary hooks while DelayDiffEq continued to use them. A history bisect identifies e1db9b088674f7804a971100210631ac0c801104 from that PR as the first bad commit.

Ten names are restorations of the preexisting public surface. resolve_stage_step_limiters and trivial_limiter! were introduced after that demotion and are additive APIs in the already-unreleased OrdinaryDiffEqCore 4.12.0 release; current General has OrdinaryDiffEqCore 4.11.0.

Dependency

This PR depends on #4066 for the clean current-master test environment to resolve. The resolver change is intentionally not duplicated here.

Validation

GROUP=OrdinaryDiffEqDefault_QA still reports the independent lorenz_pref / lorenz_pref_params private-helper access on both this branch and a clean e5489faa + #4066 control (18 passed / 1 errored, exit 1). That preexisting failure is deliberately not folded into this focused API-restoration PR.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Investigation scratchpad:

  1. Reproduced the current DelayDiffEq QA failure on clean e5489faa + resolver prerequisite Restore SciMLBase 3.39 compatibility for owner imports #4066.
  2. Bisected the API regression to e1db9b088674f7804a971100210631ac0c801104 (Document public developer APIs #3832).
  3. Restored declarations at the owning sublibraries, rendered every public name in the developer docs, and added owner-package Base.ispublic tests.
  4. Verified the exact seven-file patch with DelayDiffEq/Core/NonlinearSolve QA, docs, and Runic; kept the independent Default precompile-helper failure out of scope.

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 29, 2026 21:32
@ChrisRackauckas
ChrisRackauckas merged commit bad7955 into SciML:master Jul 29, 2026
8 of 79 checks passed
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

CI dependency note: the two immediate downgrade failures (GlobalDiffEq and OrdinaryDiffEqExtrapolation) stop in Resolver.jl with Unsatisfiable on this unstacked branch. The corresponding downgrade jobs pass on prerequisite #4066 (3m01s and 9m02s respectively). No change is warranted in this focused PR; the #4066 dependency is declared in the description.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants