Skip to content

chore: audit(2026-05) phase 2a slice 2: extract training-core concern from AiModelBuilder#1433

Open
ooples wants to merge 1 commit into
audit/2026-05-phase2a-aimodelbuilder-difrom
audit/2026-05-phase2a-slice2-trainingcore
Open

chore: audit(2026-05) phase 2a slice 2: extract training-core concern from AiModelBuilder#1433
ooples wants to merge 1 commit into
audit/2026-05-phase2a-aimodelbuilder-difrom
audit/2026-05-phase2a-slice2-trainingcore

Conversation

@ooples
Copy link
Copy Markdown
Owner

@ooples ooples commented May 23, 2026

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

  • 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)

🤖 Generated with Claude Code

…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)
@vercel
Copy link
Copy Markdown

vercel Bot commented May 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
aidotnet_website Ready Ready Preview, Comment May 23, 2026 3:44am

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 23, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: c6208bd9-1dfc-48ac-8a4f-bb68566f67f6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch audit/2026-05-phase2a-slice2-trainingcore

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot changed the title audit(2026-05) phase 2a slice 2: extract training-core concern from AiModelBuilder chore: audit(2026-05) phase 2a slice 2: extract training-core concern from AiModelBuilder May 23, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🤖 PR Title Auto-Fixed

Your PR title was automatically updated to follow Conventional Commits format.

Original title:
audit(2026-05) phase 2a slice 2: extract training-core concern from AiModelBuilder

New title:
chore: audit(2026-05) phase 2a slice 2: extract training-core concern from AiModelBuilder

Detected type: chore: (default type)
Version impact: No release


Valid types and their effects:

  • feat: - New feature (MINOR bump: 0.1.0 → 0.2.0)
  • fix: - Bug fix (MINOR bump)
  • docs: - Documentation (MINOR bump)
  • refactor: - Code refactoring (MINOR bump)
  • perf: - Performance improvement (MINOR bump)
  • test: - Tests only (no release)
  • chore: - Build/tooling (no release)
  • ci: - CI/CD changes (no release)
  • style: - Code formatting (no release)
  • deps: - Dependency update (no release)

If the detected type is incorrect, you can manually edit the PR title.

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.

1 participant