Repository navigation
feat: reciprocal RatelDesk service links and scoped M2M credentials - #166
Merged
Merged
Conversation
added 14 commits
October 5, 2026 16:20
Implement the shared incident and service-link contracts, current scoped authorization and profile lifecycle, rendered setup UX, durable rotation recovery and actual published-peer/native acceptance. Preserve existing personal credentials, deployments, migrations and gateway ownership behavior.
This was referenced Oct 6, 2026
Handle PostgreSQL serialization aborts during service-link recovery
BostonTechnologies/rateldesk#128
Closed
added 10 commits
October 6, 2026 09:08
This was referenced Oct 6, 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.
Adds the OAuth service-identity and reciprocal RatelDesk link foundation for Epic #141. Guided approval in both products creates independently revocable directional grants. Durable journals preserve exact retries, terminal recovery and credential rotation; native tasks and provider callbacks use the authorized peer profile. Saved credentials remain protected, and managed business authorization observes current link consent across replicas.
Normally merged on October 6 at Main
a2279c4afa56115d9f52b8e289566f0fba5fa8daafter all 21 required checks passed for reviewed heada7733be79401f1aa0a42ad02e0b5e3b514a0fc9e, based onmainat354292869ce0efecf6fd17720aa919316770f66a. Both fixture authorities pin publicly verified RatelDesk 0.1.1-beta.14, sourcea3017363d22205a6897087c0e7fed7b541a5d5d9, using its actual cross-platform API/Web index digests. The companion release passed all nine jobs, archive checks on Linux x64, Linux ARM64 and Windows x64, anonymous asset verification and image SBOM/provenance verification. NetRatel's requested release remainsv0.1.1-beta.1.Peer fixtures use per-host startup settings without process environment mutation, conservative admission pacing and bounded read-only readiness probes. The two native cases retain their assertions and deadlines within the original 32 real-peer cases. Two serialized collections contain 26 and six cases, bounding concurrent actual pairs to two. Owner fixtures retain API bootstrap supervision and fixed setup-phase evidence. The response-loss proxy preserves every observed backend response and the original loss assertions.
Validation retained from run 37484815621: the four ordinary test reports record 2,853 passed, zero failed/skipped, plus the separate passing native-gateway test. All 32 real-peer service-link cases passed, including both native task/callback round trips and all four rotation combinations. These are historical execution receipts, not future hardcoded thresholds. Earlier failed local and hosted attempts remain preserved as negative evidence.
The most recent predecessor run 37493120513 remains failed: 19 jobs passed; the .NET job and aggregate failed. Its four ordinary reports record 2,852 passed, one failed and zero skipped. The opposing-unlink case timed out at the existing ten-second paused peer-delivery wait after both local unlinks and immediate rejection of an unexpired cached business token. The transport/admission cause was not retained and remains unknown. This head adds only the already-existing RatelDesk post-activation admission wait, concurrently with the existing NetRatel wait, before the unchanged two-role unlink scenario. Independent full source review preserves every assertion and existing timeout. The focused ordinary build/test check passed both unlink roles with zero failures/skips, including the original journal, restart and cached-token assertions. Fresh full CI for this exact source passed all 21 required jobs. Its four ordinary reports record 2,853 passed, zero failed/skipped, plus the separate passing native-gateway case. All original 32 real-peer cases passed, with both native task/callback receipts and the four issuer/initiation rotation combinations bound to this current source and RatelDesk beta.14. The unchanged guarded merge check passed for the exact reviewed head, base, tree, test-merge checkout and latest job set. Native receipt assembly hashes are declarations from the executed fixture; the result is isolated interoperability evidence, not owner deployment acceptance or a real 24-hour soak.
The six complete two-product browser setup/consent/recovery journeys are pending owner acceptance of the deployed beta and no longer prerequisites for merging #166 or publishing
v0.1.1-beta.1. All six cases in the preserved owner-suite run failed atnetratel-wait-operational-loginon/setup, before any reciprocal-link start, consent or continuation request; no owner screenshots were produced. The cause remains unresolved, and no fix or pass is claimed. The existing six-case/24-screenshot harness remains available for explicitly requested diagnosis.All retained automated protocol, authorization, database, component, ordinary browser, provider/upgrade, native installer, packaging and publication checks remain required. The manual service-credential journey, real-peer/native evidence, required job identities and existing validation budgets remain intact. The exact amendment passed independent source review and the existing release-validation command (64 tests). Fresh required CI for this actual head passed; the prior failed aggregates remain failed and preserved.
The foundation is normally merged. Private source refresh and targeted local checks for #148–#152 are prepared, preserving the released Client/gateway work. Their ordered normal public merges, fresh required CI, hosted physical proof and requested beta.1 publication remain pending. Owner acceptance remains pending under #141, #146, #164 and the relevant companion acceptance items wherever owner results are still needed. The actual #152 sender is implemented in prepared private source with durable action identity, authorized same-key replay and receiver idempotency; fresh public-source CI and delivery are still required. Subsequent Main/#148 activation failures remain preserved. RatelDesk beta.15 release jobs passed; public verification and the corresponding #148 pin update remain pending.