Skip to content

Nadya seed fix rust - #12

Open
Nadya317 wants to merge 46 commits into
AgentElement:masterfrom
mathis-group:nadya-seed-fix-rust
Open

Nadya317 wants to merge 46 commits into
AgentElement:masterfrom
mathis-group:nadya-seed-fix-rust

Conversation

@Nadya317

@Nadya317 Nadya317 commented Oct 7, 2026

Copy link
Copy Markdown

Fixed seed issue in rust

PySoup and PyReactor take an optional seed (64-char hex, the encode_hex_py / decode_hex_py format). The same seed produces identical runs.
When no seed is given, one is chosen at construction and kept. PySoup.seed, PyReactor.seed, PyBTreeGen.seed and PyFontanaGen.seed return it, so passing it back as seed= reproduces an unseeded run.

How I confirmed it works: created a soup without a seed, read .seed, and created a second soup with it. Both gave identical expressions after 500 collisions. Same for the BTree generator. In the dashboard, two experiments with seed 42 now produce identical graphs, and seed 43 differs.

Note: this is based on main. It should merge cleanly with refac/generator-abstraction, but both touch PySoup in src/python.rs.

colemathis and others added 30 commits September 18, 2025 22:17
Removed src/expirements from clippy
Added default controucters for LambdaSoup, BTreeGen
Implemented Rust Suggestions
Renamed lambda module name to core
Temporarily Suppressed dead code warning for FontanaGen
Fixed syntax error
Added documentation for current issues, resolved problems, and remaining known issues in the README.
Merge changes from fontanagen to cherry-pick-bss-files


Hopefully this brings the functional fontanagenerator into the `cherry-pick-bss-files` branch
This does not actually fix the clippy issues that we originally set out to resolve. However there are so many changes on this that we need, so we may as well merge into main.
…lliders (#8)

- Store tuple as (expr, reductions, size) to align with collectors
- Affects src/lambda/recursive.rs and src/lambda/core.rs
- Union = |A| + |B| - |A ∩ B|
- Guard empty-empty case to return 1.0
colemathis and others added 16 commits November 13, 2025 15:17
Lots of changes, documentation, clippy, functionality, compilation issues.
 Add Supercollider reaction recording and integrate Fontana generator fixes
The reactor already supports a seed, but the Python bindings had no way
to pass one in, so every soup picked a random seed and collisions were
not reproducible from Python. Add an optional hex `seed` argument (same
format as the generators). With no seed, behavior is unchanged.
When no seed is given, one is now chosen at construction and kept, and
PySoup.seed, PyReactor.seed, PyBTreeGen.seed and PyFontanaGen.seed
return it as a 64-char hex string (the encode_hex_py format). Passing
that value back as `seed=` reproduces the run, so an unseeded run is no
longer lost.
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.

5 participants