chore: audit(2026-05) phase 2a slice 2: extract training-core concern from AiModelBuilder#1433
Conversation
…iModelBuilder Stacked on slice 1 (PR #1432). Extracts the 9 training-core Configure methods (Model, Optimizer, Regularization, FitnessCalculator, FitDetector, TrainingPipeline, CheckpointManager, MemoryManagement, TrainingMonitor) into a separately-testable IAiModelTrainingCore<T,TInput,TOutput> component, following the same double-write delegation pattern documented in docs/internal/audit-2026-05-phase2a- aimodelbuilder-refactor.md. This is the dependency root for slices 3 / 4 / 6 / 7 / 9 / 10 / 11 — those concerns each consume the trained model or optimizer in some way, so they all wait for this component to land before they can migrate. Changes: * src/Configuration/IAiModelTrainingCore.cs — interface with 9 Configure methods and 9 read-only properties exposing the configured state. * src/Configuration/AiModelTrainingCore.cs — default implementation; trivial field-assignment wrappers preserving pre-refactor behaviour verbatim. * src/AiModelBuilder.cs — adds _trainingCore field next to _dataPipeline; 9 Configure methods reduced to 3-line delegations + legacy-field sync. * tests/AiDotNet.Tests/UnitTests/Configuration/AiModelTrainingCoreTests.cs — 12 unit tests exercising the component in isolation. Uses Moq for the interface-typed slots (Model, Optimizer, etc.). Verified: * Core builds clean on net10.0 (0 errors) * Core builds clean on net471 (0 errors) * 26 / 26 Configuration tests pass (14 slice 1 + 12 slice 2)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
🤖 PR Title Auto-Fixed Your PR title was automatically updated to follow Conventional Commits format. Original title: New title: Detected type: Valid types and their effects:
If the detected type is incorrect, you can manually edit the PR title. |
Stacked on #1432. Extracts the 9 training-core Configure methods (Model, Optimizer, Regularization, FitnessCalculator, FitDetector, TrainingPipeline, CheckpointManager, MemoryManagement, TrainingMonitor) into a separately-testable
IAiModelTrainingCore<T,TInput,TOutput>component, following the double-write delegation pattern from slice 1.This is the dependency root for slices 3 / 4 / 6 / 7 / 9 / 10 / 11 — those concerns each consume the trained model or optimizer in some way, so they all wait for this component to land before they can migrate.
Verification
🤖 Generated with Claude Code