Skip to content

JNY-PFM-NOT-006Publish compliance content and inspect protected delivery

Markdown

JNY-PFM-NOT-006

Publish compliance content and inspect protected delivery

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindJourneyProduct areaPlatformModuleStaff Notifications and Association CommunicationsRevision1End-to-endOptional

Read atservices-platform ad3f6a65react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Send published compliance content, inspect provider outcomes and withhold subsequent mail to permanently bounced addresses.
Intent sources
services-platform:docs/communications/architecture.md#2026-10-09 — Final acceptance

Steps

#SurfaceActionCapabilityExpectedProvenance
1requestCommunicationCRM submits compliance mail for an organization type without published content.CAP-PFM-NOT-017The receipt acknowledges submission, while processing records configuration blockage and sends no mail.test
services-platform:modules/communications/tests/integration/lifecycle/contact-role-compliance-communication.integration.spec.js#stores configuration_blocked behind the queue, naming the purpose and the record that owns no template
2saveOwnedTemplateThe administrator saves content containing an undeclared variable and then fixes it.CAP-PFM-NOT-016The invalid save reports content problems; the corrected save publishes version one.test
3renderPreviewThe administrator previews the published notice using sample records.CAP-PFM-NOT-016Preview matches rendering by the delivery renderer.test
services-platform:modules/communications/tests/integration/lifecycle/contact-role-compliance-communication.integration.spec.js#previews the published version with the purpose’s sample data through the delivery renderer
4requestCommunicationCRM submits to one eligible contact, one suppressed contact and one environment-disallowed contact.CAP-PFM-NOT-017Processing pins version one, queues one message and withholds the other two with their respective reasons.test
services-platform:modules/communications/tests/integration/lifecycle/contact-role-compliance-communication.integration.spec.js#queues the deliverable contact, withholds the suppressed one and the one this environment may not e-mail
5platform_communications_sendDispatch and the sending consumer process the accepted request.CAP-PFM-NOT-018The queued message is submitted with provider correlation tags in the normal lifecycle.test
6platform_communications_feedbackThe provider sends delivery, open and click feedback, including a repeated report.CAP-PFM-NOT-019New events are recorded once; an image-proxy open does not increase likely-human counts.test
7platform_communications_feedbackA different contact's message bounces permanently, and CRM submits a subsequent notice to that address.CAP-PFM-NOT-020Bounce protection suppresses the address and withholds the subsequent message.test
services-platform:modules/communications/tests/integration/lifecycle/contact-role-compliance-communication.integration.spec.js#stores the next notice to that address suppressed, with the reason, and sends nothing
8listCommunicationMessagesStaff inspect workspace communication history.CAP-PFM-NOT-019Source-record messages list in descending time order with their separate states, excluding other workspaces.test

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate4CRM supplies values outside the purpose data contract.Queued acceptance records field-specific invalidity.No mail sends, and staff can inspect the validation reason.test
failure5The same request is consumed after all its messages have settled.Processing recognizes the final message states.No completed message is submitted again.test

Assertions

IdStatementProvenance
01The Platform-rendered purpose sends no mail until its owning record has published a template.test
02Reprocessing the completed lifecycle makes no additional provider send.test
03A permanent bounce withholds the next message to that address before provider submission.test
services-platform:modules/communications/tests/integration/lifecycle/contact-role-compliance-communication.integration.spec.js#stores the next notice to that address suppressed, with the reason, and sends nothing

End-to-end policy: optional: The allowed console paths establish no communication interface for this lifecycle. The integration suite covers content, queued delivery and feedback; owning-module screens require their own browser examination.

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.