Repository navigation
fix(connectivity)!: align tenant API and rename connections (EN-2885) - #196
Merged
Merged
Conversation
Use the current reference/configuration wire fields, enforce selectors and immutable Ledger, and expose opaque initial cursors. Rename the CLI group to connections while retaining API routes and JSON envelope keys. Refs: EN-2885
Require sectioned schemas/config files and current connector identities. Configure uses stored or explicit selectors instead of inferring them from observed status. Keep Pending reads and secret redaction covered. Refs: EN-2885
NumaryBot
reviewed
Oct 14, 2026
Dav-14
marked this pull request as ready for review
October 14, 2026 13:23
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.
Summary
Stacked on #174. Aligns fctl with the Connectivity tenant API at
4084c5667ca17ce1ff3e0a5d6364ce5f3072e77f; tracked in EN-2885.Installs explicitly default to
channel: stable, reject conflicting/empty selectors, and clear the other selector when switching. Configure rejects Ledger rebinding. Channel resolution skips opaque tags and does not use an opaque applied version as a SemVer floor. Branding, version metadata, confirmation and redaction remain covered.Compatibility paths are removed: configuration files/schemas must use
env/files; configure requires a stored or explicit selector; reads reject unbound instances and resolved versions without a connector identity. Pending instances remain readable. HTTP routes and JSON output envelope keys remain unchanged.Updates the command guide and documents the existing client facade's requirements and official SDK adoption gap. No server visibility workaround is included.
Structured YAML/JSON decode failures report the input file, available line numbers and expected structure without echoing scalar values, keys, tags or aliases from decoder messages. SDK generation now refreshes both nested modules before tidying the root dependency graph, so the
Dirtyvalidation gate can complete without module drift.The
Dirtypre-commit step usesGODEBUG=http2client=0to avoid repeated HTTP/2 stream resets from Go proxy downloads. TLS and checksum verification remain enabled, and the test and generation gates are unchanged.Evidence
After: command regression tests and local HTTP integration tests assert the current tenant POST/PATCH shapes, selectors, opaque cursors and immutable Ledger behavior.
just tests,just pre-commit(0 lint issues),go build, both nested SDK test suites andgo mod verify. Repeated SDK generation/pre-commit produced an identical diff.9251ff7d5068c3dbfae215bd8f41e6efffe9a339. GoReleaser is outside this feature-branch validation path and was skipped.Merge Danger
Door: two-way
The code can be reverted. Users must update scripts to
connections; this CLI requires the new Connectivity tenant wire contract. The old command group and--start-sequenceare removed;--initial-cursoruses base64 and does not reset an active ingestion cursor.Blast Radius: Connectivity
CLI/API compatibility and schema selection for Connectivity connections. This change performs no data migration, release or deployment.