Update provider templates to match current base class contracts#2415
Draft
Update provider templates to match current base class contracts#2415
Conversation
Contributor
🔍 Copilot Code Review — Six-Lens Analysis
📋 Summary
📁 Changed files (3)
🛡️ Error Handling & Resilience
ℹ️ About this reviewThis review applies the six-lens framework from code-review-agent.md:
Severity scale: 🔴 CRITICAL (must fix before merge) · 🟡 WARNING (should address) · 🔵 INFO (minor) |
- TemplateHistoricalDataProvider: add ILogger? log param to ctor, use ThrowIfDisposed()/ValidateSymbol() from base, add IsAvailableAsync, add [DataSource] + [ImplementsAdr ADR-005] attributes, add Serilog using - TemplateSymbolSearchProvider: replace direct SearchAsync overrides with the four abstract template methods (BuildSearchUrl, BuildDetailsUrl, DeserializeSearchResults, DeserializeDetailsAsync) required by BaseSymbolSearchProvider; add [DataSource]+[ImplementsAdr ADR-005]; add Priority override; add ILogger? log ctor param; add Serilog using - TemplateMarketDataClient: add ILogger? logger ctor param passed to base - README: update architecture rules to reflect accurate method requirements for all three provider types" Agent-Logs-Url: https://github.com/rodoHasArrived/Meridian/sessions/a2599ee1-3855-49ff-8aed-612c255a0fe3 Co-authored-by: rodoHasArrived <55965792+rodoHasArrived@users.noreply.github.com>
Agent-Logs-Url: https://github.com/rodoHasArrived/Meridian/sessions/a2599ee1-3855-49ff-8aed-612c255a0fe3 Co-authored-by: rodoHasArrived <55965792+rodoHasArrived@users.noreply.github.com>
Contributor
📚 Documentation Automation Summary
This comment is updated automatically by the Documentation Automation workflow. |
Copilot
AI
changed the title
[WIP] Update provider templates to match current repository structure
Update provider templates to match current base class contracts
Apr 7, 2026
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.
The scaffold templates in
docs/examples/provider-template/had drifted from the current base class APIs, making them incorrect guides for implementing new providers.TemplateSymbolSearchProvider.cs— breaking mismatch (major)BaseSymbolSearchProviderno longer exposesSearchAsyncfor override. Derived classes must implement four abstract template methods; the base handles HTTP, rate limiting, and filtering automatically. Replaced the stale directSearchAsyncoverrides with the correct hooks:TemplateHistoricalDataProvider.cs(httpClient, log)→base(httpClient, log)—ILogger?was missingif (Disposed) return []→ThrowIfDisposed()(base helper)ArgumentException→ValidateSymbol(symbol)(base helper)IsAvailableAsyncoverride with credential guard and structured exception logging[DataSource]+[ImplementsAdr("ADR-005", …)]attributes (were missing)TemplateMarketDataClient.csILogger? loggeroptional constructor parameter forwarded toWebSocketProviderBaseREADME.md