Repository navigation
Modernise to .NET 8, compile bots in memory, add GitHub Pages site - #1
Merged
Merged
Conversation
- Convert to SDK-style projects targeting net8.0; Common.Logging 3.4.1; MSTest 3. - Replace CodeDom source/DLL generation with System.Linq.Expressions delegates. Nothing is written to disk and no assemblies leak. TBot must now be concrete with a parameterless constructor; RunBotLogic is virtual and runs the delegate. - Remove dead BotBreeder, legacy test settings and VS accessor files. - Fix SimulateGenerations returning no bots when info logging was disabled. - Add end-to-end tests that compile, run and evolve a CounterBot. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PfG6MnHg74EM7ndCo5atss
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PfG6MnHg74EM7ndCo5atss
- docs/index.html: self-contained landing page with an interactive, working miniature of the evolutionary loop, annotated code walkthrough, settings reference and fit/limitations guidance. - Fix CrossoverRate, MutationRate and RandomBotPercentage setters, which validated the previous field value instead of the new value. - Link the page from the README. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PfG6MnHg74EM7ndCo5atss
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings the library up to date and adds a landing page for it.
Modernisation
net8.0(Common.Logging 3.4.1, MSTest 3) and regenerate the solution file.System.Linq.Expressions. Bots are compiled to delegates in memory, so nothing is written to disk and no assemblies leak. This resolves both README TODOs.BotBreeder, the legacy test settings and VS accessor files, and the obsolete serialisation constructors.Bug fixes
SimulateGenerationsreturned an empty list when info logging was disabled, becausebestBotswas only assigned insideif (_log.IsInfoEnabled).CrossoverRate,MutationRateandRandomBotPercentagesetters validated the previous field value instead of the new value, so out-of-range values were never rejected.GitHub Pages site
docs/index.htmlis a self-contained landing page with a live, working miniature of the evolutionary loop, an annotated code walkthrough, a settings reference and guidance on when the library is and isn't a good fit.Breaking change
The bot class (
TBot) must now be concrete with a public parameterless constructor.BaseBot.RunBotLogicis virtual and runs the compiled delegate, instead of being abstract and overridden by a generated subclass. The README is updated.Testing
dotnet test: 54 tests pass, including new end-to-end tests that compile, run and evolve aCounterBotand tests for the rate validation. The suite passed repeatedly (the evolution tests use random seeds).After merging
/docsfolder. The README links tohttps://eddporter.github.io/GeneCodeCS/.git clonebecause no NuGet package is published yet.🤖 Generated with Claude Code
https://claude.ai/code/session_01PfG6MnHg74EM7ndCo5atss