Skip to content

Runic 1.7.0 reports 74 unformatted files on master #1518

Description

@ChrisRackauckas-Claude

Summary

Clean current master does not pass a repository-wide Runic 1.7.0 check.

  • Repository head tested: b1dd5482dd683930f8b8407e2498b54364c2c3a1
  • Julia: 1.12.6
  • Runic: 1.7.0
  • Result: 89 Julia files checked; 74 fail formatting and 15 pass.

This is pre-existing repository-wide formatting debt, not a regression introduced by a current feature PR.

Reproduction

From a clean checkout at the SHA above:

mkdir -p /tmp/catalyst-runic-1.7
julia +1.12 --project=/tmp/catalyst-runic-1.7 -e 'using Pkg; Pkg.activate("/tmp/catalyst-runic-1.7"); Pkg.add(PackageSpec(name="Runic", version=v"1.7.0"))'
julia +1.12 --project=/tmp/catalyst-runic-1.7 -m Runic --check --verbose .

The second command exits 1. Running Runic in place and then checking again succeeds on all 89 files:

julia +1.12 --project=/tmp/catalyst-runic-1.7 -m Runic --inplace .
julia +1.12 --project=/tmp/catalyst-runic-1.7 -m Runic --check --verbose .
# [89/89] ... ✔

The mechanical patch is too large to mix into an unrelated feature/fix:

74 files changed, 3950 insertions(+), 2793 deletions(-)

docs  files=2  additions=101  deletions=93
ext   files=7  additions=194  deletions=115
src   files=24 additions=1530 deletions=905
test  files=41 additions=2125 deletions=1680

git diff --check passes after the mechanical format.

Exact 74 files
docs/make.jl
docs/pages.jl
ext/CatalystBifurcationKitExtension/bifurcation_kit_extension.jl
ext/CatalystCairoMakieExtension.jl
ext/CatalystCairoMakieExtension/cairo_makie_extension_spatial_modelling.jl
ext/CatalystGraphMakieExtension/graph_makie_extension_spatial_modelling.jl
ext/CatalystGraphMakieExtension/rn_graph_plot.jl
ext/CatalystHomotopyContinuationExtension/homotopy_continuation_extension.jl
ext/CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl
src/Catalyst.jl
src/chemistry_functionality.jl
src/dsl.jl
src/expression_utils.jl
src/latex_utils.jl
src/latexify_recipes.jl
src/mtk_nullspace_function.jl
src/network_analysis.jl
src/plotting.jl
src/reaction.jl
src/reactionsystem.jl
src/reactionsystem_conversions.jl
src/reactionsystem_serialisation/serialisation_support.jl
src/reactionsystem_serialisation/serialise_fields.jl
src/reactionsystem_serialisation/serialise_reactionsystem.jl
src/registered_functions.jl
src/spatial_reaction_systems/discrete_space_jump_systems.jl
src/spatial_reaction_systems/discrete_space_reaction_systems.jl
src/spatial_reaction_systems/discrete_space_sim_struct_interfacing.jl
src/spatial_reaction_systems/spatial_ODE_systems.jl
src/spatial_reaction_systems/spatial_reactions.jl
src/spatial_reaction_systems/utility.jl
src/steady_state_stability.jl
src/unit_helpers.jl
test/dsl/dsl_basic_model_construction.jl
test/extensions/bifurcation_kit.jl
test/extensions/dspace_simulation_plotting.jl
test/extensions/graphmakie.jl
test/extensions/homotopy_continuation.jl
test/extensions/stability_computation.jl
test/extensions/structural_identifiability.jl
test/miscellaneous_tests/compound_macro.jl
test/miscellaneous_tests/reaction_balancing.jl
test/miscellaneous_tests/reactionsystem_serialisation.jl
test/network_analysis/conservation_laws.jl
test/network_analysis/crn_theory.jl
test/network_analysis/network_properties.jl
test/reactionsystem_core/coupled_equation_crn_systems.jl
test/reactionsystem_core/custom_crn_functions.jl
test/reactionsystem_core/events.jl
test/reactionsystem_core/functional_parameters.jl
test/reactionsystem_core/higher_order_reactions.jl
test/reactionsystem_core/parameter_type_designation.jl
test/reactionsystem_core/reaction.jl
test/reactionsystem_core/reactionsystem.jl
test/reactionsystem_core/symbolic_stoichiometry.jl
test/runtests.jl
test/runtests_extensions.jl
test/simulation_and_solving/hybrid_models.jl
test/simulation_and_solving/jacobian_construction.jl
test/simulation_and_solving/simulate_ODEs.jl
test/simulation_and_solving/simulate_SDEs.jl
test/simulation_and_solving/simulate_jumps.jl
test/simulation_and_solving/solve_nonlinear.jl
test/spatial_modelling/dspace_reaction_systems.jl
test/spatial_modelling/dspace_reaction_systems_ODEs.jl
test/spatial_modelling/dspace_reaction_systems_jumps.jl
test/spatial_modelling/dspace_reaction_systems_space_types.jl
test/spatial_modelling/dspace_simulation_struct_interfacing.jl
test/spatial_modelling/simulate_PDEs.jl
test/spatial_modelling/spatial_reactions.jl
test/spatial_test_networks.jl
test/test_functions.jl
test/test_networks.jl
test/upstream/mtk_structure_indexing.jl

History / bisect result

There is no single monotonic pass-to-fail boundary on the merged history.

PR #1478 briefly applied repository-wide Runic formatting, then deliberately reverted it because the formatting pass was too large to combine with CI migration:

  • aff8ed607e78116dd2cea19bf198e31d7e7598b9 (topic-branch base): 75/89 fail.
  • 64c8b0e0215c00a8cdfe2587cc1c30a305770102 (“apply Runic”): 89/89 pass.
  • 2c03cb7f187748d674defc1f5f3faa8b725596c0 (“Drop Runic reformatting and check from this PR”): 75/89 fail again.
  • Current b1dd5482dd683930f8b8407e2498b54364c2c3a1: 74/89 fail.

A naive git bisect start b1dd5482 64c8b0e0 reports bf712a9d29516762e3397bcbf9764a203ca5ac15, but that is not a valid introducing commit: bf712a9d is a sibling of the temporary formatting commit and inherited the already-unformatted tree from aff8ed60. The predicate is non-monotonic across the merge graph. On the PR topic branch, 2c03cb7f is the exact reintroduction, and its commit message explicitly says Runic adoption should happen in a separate focused PR.

Suggested resolution

Land a standalone mechanical Runic adoption change, with the functional test groups run against the formatted tree, and make the format check enforcing only once that baseline is merged. Do not exclude or silence the 74 existing failures.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions