Conversation
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.
Form submissions can now opt in to downstream processing by including
"kafka": true(or the exact string"true") alongsideversionandanswers. After the submission commits, the service publishes its validated answers, form key/version, receipt identity, timestamp, member ID, and source page toform.submittedusing the sharedtc-bus-api-wrapperand Auth0 M2M configuration used by neighboring v6 services.SubmissionEventdelivery receipt preserves immutable submissions, serializes concurrent retries, and avoids republishing acknowledged deliveries. Failed delivery returns 503; retrying the same body/key resumes it, including after form retirement.Deployment requires migration
20260928010000_submission_events,BUSAPI_URLpointing to the API/v6base, and outboundAUTH0_URL,AUTH0_AUDIENCE,AUTH0_CLIENT_ID, andAUTH0_CLIENT_SECRET. ECS must expose these settings to the runtime task. There is no background retry worker; callers retry failed requests. Consumers must deduplicate bysubmissionIdbecause a lost acknowledgement or crash between Bus API acceptance and receipt commit can cause redelivery.Validation: frozen-lockfile install, Prisma validation and migration against disposable PostgreSQL 17, lint, build, typecheck, 36 unit tests, and 20 PostgreSQL integration tests all passed. Tests cover event contents, true/string-true and false/omitted flags, rejection paths, commit-before-publication, concurrent retries, flag conflicts, and delivery failure/retry after retirement. The compiled service also initialized the real wrapper successfully; outbound event calls in automated tests are mocked, so no shared Kafka messages were emitted.