Extract per-skill sampler learning into SamplerLearningMixin#45
Merged
Conversation
agent_sim_learning_approach.py had grown past 2100 lines. Move the sampler-learning block (mode resolution, sandbox paths, synthesis tool/snapshot/message builders, LEARNED_SAMPLERS loading, and the standalone synthesis session) into a dedicated mixin at predicators/approaches/sampler_learning_mixin.py, verbatim. The host-class contract (session methods, tool context, fitted params) is declared under TYPE_CHECKING only, so the declarations type-check the mixin without shadowing the real AgentSessionMixin implementations in the MRO. Call sites in _synthesize_with_agent and _learn_simulator are unchanged; sampler state is initialized via _init_sampler_learning_state() from the host __init__.
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
agent_sim_learning_approach.pyhad grown past 2100 lines. This moves the sampler-learning block into a dedicated mixin atpredicators/approaches/sampler_learning_mixin.py, verbatim:LEARNED_SAMPLERSloadingNotes
TYPE_CHECKINGonly, so the declarations type-check the mixin without shadowing the realAgentSessionMixinimplementations in the MRO._synthesize_with_agentand_learn_simulatorare unchanged; sampler state is initialized via_init_sampler_learning_state()from the host__init__.🤖 Generated with Claude Code