01must proveProposed | A submitting macroservice stores the request object and then inserts its pointer using the communications capability role within its business transaction; only a committed pointer makes the request available for dispatch. no proof recorded yet | invariant | database, service | test |
02must proveProposed | The capability role inserts caller-owned pointer fields within its workspace only; Claim and ordering fields, existing queue entries, messages and templates are inaccessible. no proof recorded yet | permission | database | test |
03must proveProposed | Workspace, submitting service and idempotency key derive the request identifier; Repetition returns a duplicate receipt and preserves one entry, including handoff gaps; lost queue entries can be restored without changing request identity. no proof recorded yet | invariant | service, database | test |
04must proveProposed | Submission checks workspace, purpose, key, submitter, recipient shape, Marketing fields and caller-rendered content; invalid envelopes write nothing and do not consume their keys. no proof recorded yet | validation | api, service | test |
05must proveProposed | Queued processing records acceptance, suppression, invalid fields or configuration-blocking reasons, including missing, archived or unpublished templates, incompatible versions and render failures, for later inspection. no proof recorded yet | lifecycle | service | test |
06must proveProposed | Acceptance pins a published version and renders each recipient once; Derived message identifiers represent either queued delivery or safeguard withholding. no proof recorded yet | calculation | service | test |
07must proveProposed | Processing verifies the request object's workspace and request identity against its pointer; missing and mismatched objects become invalid rather than sending. no proof recorded yet | validation | service | test |
08must proveProposed | Platform injects association name and message reference into every rendering, replacing caller values for those reserved inputs. no proof recorded yet | invariant | service | test |
09must proveProposed | Caller-rendered purposes accept the supplied subject and HTML unchanged, derive absent text and allow bounded attachments without templates; Platform-rendered purposes reject supplied content and attachments. no proof recorded yet | policy | service | test |
10must proveProposed | Optional sender display name, reply-to and copies never let the caller choose the sending address; Display names cannot be addresses; recipient safeguards check copies and remove copies matching the primary recipient. no proof recorded yet | validation | service | test |
11must proveProposed | Marketing sends render the specifically pinned message version, including older published versions; missing versions, ownership or purpose mismatches and newer unsupported contracts block sending. no proof recorded yet | validation | service | test |
12Proposed | Transactional compliance mail ignores a contact's general e-mail opt-out, while address suppression still withholds delivery. | policy | service | documented |
13Proposed | IAM also provides readiness, owned-template access, tests, previews and changed-message feeds; missing actors and unsupported operations are refused with the supported-operation list. | validation | service | test |
14must proveProposed | HTTP request submission requires a system caller and communication-request permission; console callers are rejected. no proof recorded yet | permission | api | test |
15must proveProposed | Request-object storage precedes database commit; a rollback can therefore leave an object without a queue pointer until storage lifecycle cleanup. no proof recorded yet | invariant | service | inferred |
16must proveProposed | Message persistence accepts Platform or caller rendering only; Platform-rendered non-test messages require a template version; draft test messages may omit it; caller-rendered messages cannot name a template version. no proof recorded yet | validation | database | test |