feat: route Kaufmann source via kaufmann module (Ruptela + Kamaleon) - #283
Merged
Merged
Conversation
Bumps model-garage to v1.0.15 and registers the new kaufmann.Module for the Kaufmann CloudEvent source instead of a ruptela.Module. The Kaufmann connection now carries two telemetry families on one connection, routed by the event ds: - "r/..." Ruptela Smart5 (numeric IO signals) -> ruptela module (unchanged) - "kam/..." Queclink/Kamaleon, pre-decoded to VSS by the oracle -> default module Only the CloudEvent registration changes; AftermarketContractAddr stays the synthetic device contract, so producer/subject DIDs are built exactly as before. The signal/event/fingerprint registries already route through kaufmann.Module via model-garage's register.go. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AG3mKHCnSqgDoSQb8upJq4
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.
Description
Completes Option C (phase 4): routes the Kaufmann CloudEvent source through the new
kaufmannmodule so a single connection license carries both Ruptela Smart5 and Queclink/Kamaleon telemetry, distinguished by the eventds:r/…— Ruptela Smart5 (numeric IO signals) → ruptela module (unchanged historical behavior)kam/…— Queclink GV58/Kamaleon, pre-decoded to VSS signals by the Kaufmann oracle → default moduleChanges
github.com/DIMO-Network/model-garage→ v1.0.15 (containspkg/kaufmann).internal/processors/cloudeventconvert/cloudeventconvert.go: register a contract-configuredkaufmann.ModuleforKaufmannSourceinstead of theruptela.Module.AftermarketContractAddrstays the synthetic device contract, so producer/subject DIDs are built exactly as before. Only the CloudEvent registration changes — the signal/event/fingerprint registries already route throughkaufmann.Modulevia model-garage'sregister.go.Context / rollout
docs/adr/0001-kaufmann-connection-ds-routing.md(model-garage#265).kam/v0/senvelope, withFLESPI_DIS_ENABLEDoff. No Kamaleon data reaches DIS until that flag is flipped, so this change is safe to deploy ahead of enablement.r/) behavior is unchanged and covered by a delegation regression test in model-garage.🤖 Generated with Claude Code