Not agreed. Screens illustrate proposals in docs/ and .scratch/ , and invent the states those documents leave open.

Back to your communications

Roadworks and disruption near me

Planned works and closures affecting one of your addresses.

Warning We do not have a confirmed email address to send this to.
How we send it
Email
Change how we send this
Why we send it
Because you asked us to. You can stop it at any time.

We use email because we could not use text message for you. You did not choose this.

Stop these messages

Why does this say we are not sure?

This alert is tied to one of your addresses. That address is no longer one we hold for you, so we cannot tell which street to send you alerts about.

What should happen next is not decided. The proposal is to stop the alerts and ask you to pick an address again, rather than quietly pointing them at a different one.

Behind the scenes

Property names follow docs/profile-communication-subscriptions.md, which says its own spelling is illustrative. The shape is what was decided.

Usable destinations

email
no usable destination
sms
no usable destination
post
usable
in-app
usable

Seeded by seedChannel() against this fixture — §4.1, the one communication rule with real logic behind it here.

Subscription

subscriptionId
sub-highways
catalogueTopicId
highways.local-disruption
state
active
basisAtOptIn
public-task
noticeVersionAgreed
v1
channel
email
channelSource
catalogue-fallback
createdBy
Citizen
captureChannel
my-account
createdAt
2026-07-20T11:05:00Z
context
{"scope":"address","addressValueId":"ad-ctax"}
deliveryIssue
We do not have a confirmed email address to send this to.

Not modelled

  • Expiry, withdrawal history and officer-captured consent. Examples 6.3, 6.6, 6.7 and 6.8 are not fixtures, so nothing renders them.
  • What happens to a Subscription when the contact value it depends on is removed. Phase 1 sends to the primary confirmed destination for the channel, so there are no per-Subscription pointers to repair.
  • The material-change flow that forces re-opt-in. §5 lists the event; no owner and no journey exist for it.