Merged
Conversation
Replace hardcoded DCI protocol list with dynamic detection via the protocol_systems RPC endpoint. Key changes: - Add `dci_protocols` field to ProtocolSystemsRequestResponse DTO - Thread DCI info from ExtractorConfig.dci_plugin through ServicesBuilder → RpcHandler - Add `uses_dci` flag to ProtocolStateSynchronizer, replacing hardcoded list - Client fetches DCI info at startup and sets flag per synchronizer Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Introduce ProtocolSystemsInfo struct with fetch() and log_other_available() methods, shared by both TychoStreamBuilder and CLI. Key changes: - Extract fetch + classify logic into ProtocolSystemsInfo::fetch() - Fix CLI flow that was missing uses_dci propagation - Remove duplicated protocol systems fetching from cli.rs Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace hardcoded page_size=100 with ProtocolSystemsRequestBody::effective_max_page_size(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
To run Claude review, comment |
Contributor
Author
|
/claude-review |
Contributor
|
Claude finished @ElusAegis's task in 3m 11s —— View job ReviewTwo issues found — one potential correctness bug, one silent data truncation.
|
Intersect dci_protocols with the actual systems returned from the DB so phantom entries (e.g. misconfigured extractor names) don't cause unnecessary get_traced_entry_points calls on the client side. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use .values() instead of .iter() when discarding map keys. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Log a warning when the server reports more protocol systems than were fetched on page 0, so operators know availability info may be incomplete. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7064712 to
117a9c9
Compare
fixup! fix: Resolve clippy::iter_kv_map lints for nightly 1.95 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
louise-poole
reviewed
Mar 2, 2026
Collaborator
louise-poole
left a comment
There was a problem hiding this comment.
This change was long overdue and is so useful! Thanks 🙏
When the server hasn't been updated yet, dci_protocols deserialises as empty, causing clients to skip entrypoint fetches for DCI protocols. Fall back to the hardcoded list when the server returns no DCI info. Key changes: - Add LEGACY_DCI constant with previously hardcoded protocol names - Apply fallback only when server returns empty dci_protocols - Tagged with TODO(ENG-5302) for removal after server rollout Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Addresses review feedback: the protocol_systems endpoint should return active extractors from config, not from the DB. This avoids returning protocols whose extractors have been deactivated. Key changes: - Add protocol_systems field to ServicesBuilder and RpcHandler - Rewrite get_protocol_systems to paginate the config list directly - Update test to verify config-based response (no DB mock needed) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
louise-poole
reviewed
Mar 2, 2026
Remove redundant `expected_dci` case arg — use `dci_protocols` directly for the assertion since it already captures the expected value. Key changes: - Drop second rstest case argument from both test cases - Remove `expected_dci` parameter from test function signature - Clone `dci_protocols` before move so assertion can still use it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
louise-poole
approved these changes
Mar 6, 2026
propellerci bot
pushed a commit
that referenced
this pull request
Mar 6, 2026
## [0.146.0](0.145.2...0.146.0) (2026-03-06) ### Features * dynamic dci skip condition ([#863](#863)) ([cfe164c](cfe164c)) * Dynamic DCI skip condition for entrypoint requests ([3645481](3645481)) ### Bug Fixes * add legacy DCI fallback for backward compatibility ([784df4a](784df4a)) * Filter dci_protocols against DB-returned protocol systems ([45027a9](45027a9)) * Resolve clippy::iter_kv_map lints for nightly 1.95 ([aa47e4e](aa47e4e)) * serve protocol_systems from config instead of DB ([2f6be95](2f6be95)) * Use PaginationLimits trait for protocol_systems page size ([dd7c56a](dd7c56a)) * Warn when protocol_systems response is truncated by pagination ([117a9c9](117a9c9))
|
This PR is included in version 0.146.0 🎉 |
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.
No description provided.