Skip to content

[P-01] Breaking-Change Cleanup — remove [Obsolete], consolidate API, unify strategy signatures #12

Description

@techbuzzz

Overview

Version: v10.3.0 Platform Release
Effort: S · 1–2 days
Branch: feature/p01-breaking-change-cleanup

Clean up all deferred breaking changes accumulated since v10.1 to prepare a stable, clean public API surface for the 10.3.0 GA NuGet release.


Tasks

1. Remove all [Obsolete] members

  • Scan entire Delibera.Core for [Obsolete] attributes
  • Delete all obsolete members (methods, constructors, properties)
  • Verify no internal code references removed members
  • Update XML doc comments on replacements if needed

2. Consolidate CouncilBuilder method overloads

  • Audit all overloads, identify redundant ones
  • Reduce API surface — prefer optional parameters over N overloads
  • Ensure all removed overloads have a direct equivalent in the consolidated API

3. ILLMProvider.GetModelCapabilitiesAsync — make non-optional

  • Remove default null return from the interface
  • Force all provider implementations to return a real ModelCapabilities object
  • Update OllamaProvider, OpenAiProvider, AzureOpenAiProvider, AnthropicProvider, ChatClientLLMProvider

4. Unify IDebateStrategy.ExecuteAsync signatures

  • Remove IDebateStrategyWithOptions shim interface
  • Merge options into IDebateStrategy.ExecuteAsync directly
  • Update StandardDebate, CritiqueDebate, ConsensusDebate, AdaptiveStrategySelector

5. Rename RagProviderFactoryVectorStoreFactory

  • Rename class and all references
  • Add [Obsolete] type alias for one version if needed during transition
  • Update usages in CouncilBuilder, KnowledgeKeeper, Delibera.Server templates

Acceptance Criteria

  • Zero [Obsolete] attributes remain in Delibera.Core
  • ILLMProvider.GetModelCapabilitiesAsync has no default implementation — all providers implement it
  • IDebateStrategyWithOptions shim removed
  • RagProviderFactory renamed to VectorStoreFactory everywhere
  • dotnet build — 0 errors, 0 warnings across all projects
  • CHANGELOG.md entry with full breaking-change migration guide
  • README.md + README-RU.md updated for renamed APIs

Labels

breaking-change, cleanup, v10.3.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions