Skip to content

Add Interfaces.jl validation for plugins and mutations - #649

Draft
MilesCranmerBot wants to merge 1 commit into
astroautomata:masterfrom
MilesCranmerBot:interfaces-plugin-mutations
Draft

Add Interfaces.jl validation for plugins and mutations#649
MilesCranmerBot wants to merge 1 commit into
astroautomata:masterfrom
MilesCranmerBot:interfaces-plugin-mutations

Conversation

@MilesCranmerBot

@MilesCranmerBot MilesCranmerBot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add complete Interfaces.jl contracts for plugins and mutations
  • accept default hook implementations while validating custom plugin state dispatch
  • register every built-in plugin and mutation against the full interfaces
  • document how package users can validate custom implementations

Validation

  • TEST_GROUP=unit/plugins: 129 passed
  • TEST_GROUP=unit/evolution-core: 1176 passed
  • TEST_GROUP=integration/aqua: 11 passed
  • documentation build completed successfully
  • git diff --check

@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@MilesCranmerBot
MilesCranmerBot force-pushed the interfaces-plugin-mutations branch 2 times, most recently from 12cdb50 to 73d16ec Compare July 31, 2026 21:16
Co-authored-by: Miles Cranmer <miles.cranmer@gmail.com>
@MilesCranmerBot
MilesCranmerBot force-pushed the interfaces-plugin-mutations branch from 73d16ec to 18a7553 Compare July 31, 2026 21:27
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
master 18a7553... master / 18a7553...
search/multithreading 15.6 ± 0.22 s 16.6 ± 0.45 s 0.938 ± 0.029
search/serial 33.7 ± 0.35 s 35.9 ± 0.93 s 0.937 ± 0.026
utils/best_of_sample 1.55 ± 0.34 μs 1.73 ± 0.4 μs 0.896 ± 0.28
utils/check_constraints_x10 17.2 ± 4.4 μs 17.2 ± 4.4 μs 1 ± 0.36
utils/compute_complexity_x10/Float64 2.18 ± 0.09 μs 2.16 ± 0.09 μs 1.01 ± 0.059
utils/compute_complexity_x10/Int64 2.08 ± 0.08 μs 2.04 ± 0.09 μs 1.02 ± 0.06
utils/compute_complexity_x10/nothing 1.51 ± 0.081 μs 1.51 ± 0.09 μs 1 ± 0.08
utils/insert_random_op_x10 5.08 ± 1.7 μs 5.17 ± 1.7 μs 0.982 ± 0.45
utils/next_generation_x100 0.469 ± 0.028 ms 0.477 ± 0.03 ms 0.984 ± 0.085
utils/optimize_constants_x10 0.0343 ± 0.0087 s 0.0346 ± 0.0082 s 0.991 ± 0.34
utils/randomly_rotate_tree_x10 8.21 ± 0.93 μs 8.32 ± 0.97 μs 0.987 ± 0.16
time_to_load 2.85 ± 0.073 s 2.96 ± 0.14 s 0.965 ± 0.052
Memory benchmarks
master 18a7553... master / 18a7553...
search/multithreading 0.202 G allocs: 54.5 GB 0.204 G allocs: 55.6 GB 0.981
search/serial 0.208 G allocs: 58.4 GB 0.208 G allocs: 58.4 GB 1
utils/best_of_sample 0.038 k allocs: 3.25 kB 0.038 k allocs: 3.25 kB 1
utils/check_constraints_x10 0.034 k allocs: 0.875 kB 0.034 k allocs: 0.875 kB 1
utils/compute_complexity_x10/Float64 0 allocs: 0 B 0 allocs: 0 B
utils/compute_complexity_x10/Int64 0 allocs: 0 B 0 allocs: 0 B
utils/compute_complexity_x10/nothing 0 allocs: 0 B 0 allocs: 0 B
utils/insert_random_op_x10 0.041 k allocs: 1.62 kB 0.04 k allocs: 1.56 kB 1.04
utils/next_generation_x100 4.35 k allocs: 0.271 MB 4.36 k allocs: 0.272 MB 0.998
utils/optimize_constants_x10 24.1 k allocs: 25.5 MB 24.4 k allocs: 24.6 MB 1.04
utils/randomly_rotate_tree_x10 0.042 k allocs: 1.34 kB 0.042 k allocs: 1.34 kB 1
time_to_load 0.145 k allocs: 11 kB 0.145 k allocs: 11 kB 1

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.

1 participant