Connect sign-up to Sendico Facts intake #47

Merged
tech merged 2 commits from identity-facts-46 into main 2026-10-17 04:28:54 +00:00
Owner

Sign-up can now hand off its saved full name, normalized email and customer reference to Sendico’s public individual registry and immutable Facts intake when api.sendico is configured. The BFF persists the customer binding and intake receipt before activation email or sign-up success, and activation/resend cannot bypass the handoff.

Retries reuse the subject, saved assertions and source reference. A durable registration claim prevents automatic duplicate subjects after uncertain outcomes; typed EN/RU feedback directs those cases to support during sign-up and verification recovery. Initial activation tokens are replayable after intake outages without breaking atomic customer/token creation. The adapter keeps platform scope and credentials server-side, validates receipts, supports same-account credential rotation and emits bounded handoff metrics.

Validation: make lint-backend, GOFLAGS=-p=2 make test (all backend race tests and frontend suites), Dart formatting for all changed files, and flutter analyze in frontend/app and frontend/packages/sxchnge_auth. Initial validation exposed a Testcontainers reaper startup timeout and a new locale fixture that double-disposed app-owned state. The fixture was corrected and the final reduced-concurrency full run passed. Focused tests cover HTTP contracts, failures, privacy, concurrent durable claims, replay, activation rollback and localized mobile error state/analytics.

Enable with the real Sendico API URL, provisioned organization/source account IDs and a Vault-rendered access token. No live provider resources, live email, deployment or merge performed. Individual registration has no upstream idempotency contract, so ambiguous outcomes require documented operational reconciliation. See docs/signup-facts.md for configuration, rollout, measurement and recovery.

Closes #46.

Sign-up can now hand off its saved full name, normalized email and customer reference to Sendico’s public individual registry and immutable Facts intake when `api.sendico` is configured. The BFF persists the customer binding and intake receipt before activation email or sign-up success, and activation/resend cannot bypass the handoff. Retries reuse the subject, saved assertions and source reference. A durable registration claim prevents automatic duplicate subjects after uncertain outcomes; typed EN/RU feedback directs those cases to support during sign-up and verification recovery. Initial activation tokens are replayable after intake outages without breaking atomic customer/token creation. The adapter keeps platform scope and credentials server-side, validates receipts, supports same-account credential rotation and emits bounded handoff metrics. Validation: `make lint-backend`, `GOFLAGS=-p=2 make test` (all backend race tests and frontend suites), Dart formatting for all changed files, and `flutter analyze` in `frontend/app` and `frontend/packages/sxchnge_auth`. Initial validation exposed a Testcontainers reaper startup timeout and a new locale fixture that double-disposed app-owned state. The fixture was corrected and the final reduced-concurrency full run passed. Focused tests cover HTTP contracts, failures, privacy, concurrent durable claims, replay, activation rollback and localized mobile error state/analytics. Enable with the real Sendico API URL, provisioned organization/source account IDs and a Vault-rendered access token. No live provider resources, live email, deployment or merge performed. Individual registration has no upstream idempotency contract, so ambiguous outcomes require documented operational reconciliation. See `docs/signup-facts.md` for configuration, rollout, measurement and recovery. Closes #46.
tech added the backendfrontend labels 2026-10-14 22:55:26 +00:00
tech added 1 commit 2026-10-14 22:55:26 +00:00
tech self-assigned this 2026-10-14 22:55:34 +00:00
tech added 1 commit 2026-10-14 22:55:35 +00:00
tech merged commit 7bf8b8087a into main 2026-10-17 04:28:54 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tech/sxchnge#47