Conversation
…design doc Agent-Logs-Url: https://github.com/Dooders/AgentFarm/sessions/7bad1e22-d439-46f3-bb9f-5566cdf47a59 Co-authored-by: csmangum <30098247+csmangum@users.noreply.github.com>
…t epsilon_decay boundary assertions, clarify gamma/epsilon_decay span comment Agent-Logs-Url: https://github.com/Dooders/AgentFarm/sessions/7bad1e22-d439-46f3-bb9f-5566cdf47a59 Co-authored-by: csmangum <30098247+csmangum@users.noreply.github.com>
…dpoint overrides Agent-Logs-Url: https://github.com/Dooders/AgentFarm/sessions/7bad1e22-d439-46f3-bb9f-5566cdf47a59 Co-authored-by: csmangum <30098247+csmangum@users.noreply.github.com>
…enes Scale chromosome model: promote gamma and epsilon_decay to evolvable genes
There was a problem hiding this comment.
Pull request overview
This PR expands the hyperparameter evolution chromosome to treat gamma and epsilon_decay as continuously evolvable genes (alongside learning_rate), using linear 8‑bit quantization for the new genes, and updates tests/docs to reflect the expanded schema.
Changes:
- Added
gammaand promotedepsilon_decayto evolvable genes in the default chromosome schema and default encoding map. - Expanded/adjusted unit tests to cover encoding/decoding, mutation, crossover, and config projection with the new evolvable genes.
- Updated the design doc to describe the new schema and a roadmap for future discrete/integer gene support.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
farm/core/hyperparameter_chromosome.py |
Adds gamma gene, makes epsilon_decay evolvable, and defines default linear 8-bit encodings for both. |
tests/test_hyperparameter_chromosome.py |
Adds a dedicated test class for gamma/epsilon_decay and updates boundary-penalty tests for the expanded evolvable set. |
tests/test_agent_reproduction_hyperparameters.py |
Updates reproduction test expectations now that gamma/epsilon_decay mutate during reproduction. |
tests/runners/test_evolution_experiment.py |
Adjusts boundary-penalty test setup so only learning_rate is near a boundary. |
docs/design/hyperparameter_chromosome.md |
Documents the new schema/encodings and adds a discrete-gene roadmap; includes updated examples. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@copilot apply changes based on the comments in this thread |
…e docs Agent-Logs-Url: https://github.com/Dooders/AgentFarm/sessions/27beb903-958a-4720-a750-f75536e63dd0 Co-authored-by: csmangum <30098247+csmangum@users.noreply.github.com>
Fixed in b50f85d. Updated the example bucket values in
Both the dict and vector examples now show |
This pull request extends the hyperparameter chromosome schema to support two additional continuously evolvable genes:
gamma(discount factor) andepsilon_decay(exploration decay rate). Both are now evolvable with linear 8-bit quantization, and the codebase and tests are updated to reflect this. The groundwork for future support of integer and categorical genes is also documented. Extensive new and updated tests ensure correct encoding, mutation, crossover, and config projection for all evolvable genes.Chromosome schema and encoding updates:
gammaas an evolvable gene (range[0.0, 1.0], default0.99, linear 8-bit encoding) and madeepsilon_decayevolvable (range(0, 1.0], default0.995, linear 8-bit encoding) in bothDEFAULT_HYPERPARAMETER_GENESandDEFAULT_GENE_ENCODINGSinfarm/core/hyperparameter_chromosome.py. [1] [2]memory_sizeremains fixed pending integer gene support. Added a roadmap for future discrete/integer gene support indocs/design/hyperparameter_chromosome.md. [1] [2]Serialization, mutation, and crossover:
gammaandepsilon_decayas evolvable, ensuring correct round-tripping, mutation, and crossover for all three continuous genes. [1] [2] [3]Test suite improvements:
gammaandepsilon_decayintests/test_hyperparameter_chromosome.py.Documentation and roadmap:
These changes collectively enable richer hyperparameter evolution experiments and lay the foundation for future extensibility.
Note
Medium Risk
Expands the set of evolved hyperparameters, changing mutation/crossover/encoding behavior and boundary-penalty calculations in evolution and reproduction flows; issues would primarily affect training dynamics and experiment determinism rather than system safety.
Overview
Promotes two additional learning hyperparameters into the evolution chromosome.
gammais added as a new evolvable gene andepsilon_decayis switched from fixed to evolvable, both using default linear 8-bit quantized encoding alongside existing log-encodedlearning_rate;memory_sizestays fixed.Updates docs and tests to reflect the expanded evolvable gene set, including encode/decode dict+vector round-trips, mutation/crossover coverage, reproduction wiring expectations, and boundary-penalty tests that now set non-target evolvable genes away from bounds to keep penalties deterministic.
Reviewed by Cursor Bugbot for commit dd44b5b. Configure here.