Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 623586@bnt-lap001 Assistant-Session: 10b30928-5b3b-4c11-9934-5ecca07367d8
106 lines
3.2 KiB
Markdown
106 lines
3.2 KiB
Markdown
---
|
|
id: MAS-WP-0003
|
|
type: workplan
|
|
title: "MAS live provider test on a real subdomain"
|
|
domain: communication
|
|
repo: mail-address-semantics
|
|
status: active
|
|
owner: claude
|
|
topic_slug: coulomb-social
|
|
created: "2026-10-08"
|
|
updated: "2026-10-08"
|
|
state_hub_workstream_id: "8e9069c6-5c32-5c56-aded-49c8fdc2b66b"
|
|
---
|
|
|
|
# MAS live provider test on a real subdomain
|
|
|
|
Follow-up to MAS-WP-0002. The MTA half of the review question *which
|
|
characters or address forms were rewritten or rejected?* was answered
|
|
against a real Postfix (`experiments/postfix-probe/`,
|
|
`docs/experiment-review.md`). This workplan answers the provider half. It
|
|
has to be done before the MAS-WP-0002 decision gate.
|
|
|
|
coulomb.social mail is hosted by IONOS, so the test needs its own
|
|
subdomain (for example `mas.coulomb.social`) with its own MX.
|
|
|
|
## Choose and provision the test subdomain
|
|
|
|
```task
|
|
id: MAS-WP-0003-T01
|
|
status: wait
|
|
priority: high
|
|
state_hub_task_id: "48926a68-e5bb-5d7c-910f-12b38560b48f"
|
|
```
|
|
|
|
Needs the operator. Pick the subdomain. Add an MX (and A) record at IONOS
|
|
pointing to railiance01 (92.205.62.239). Allow inbound TCP 25 on
|
|
railiance01. Record the choice as a decision.
|
|
|
|
- 2026-10-08: DNS done. `mas.coulomb.social` has MX 10 to itself and A
|
|
92.205.62.239. Inbound TCP 25 is still closed (connection timed out from
|
|
the workstation; nothing listens on 25 and ufw allows only SSH and 2224).
|
|
The port-25 exposure is a live production change and needs the founder's
|
|
go.
|
|
|
|
## Deploy Postfix + gateway + ticket service + statute
|
|
|
|
```task
|
|
id: MAS-WP-0003-T02
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "17e4ee15-faac-5103-b62a-65a890d2cd56"
|
|
```
|
|
|
|
Deploy the probe configuration on railiance01, using `local-domain-safe`
|
|
settings, TLS and the usual relay restrictions. Serve the statute (with
|
|
the namespace set to the subdomain) at `https://<sub>/.well-known/mas`
|
|
through Traefik. Verify the deployment with `mas discover <sub>`.
|
|
Outbound replies need a relay with SPF/DKIM for the subdomain; until that
|
|
exists, keep replies in the outbox only.
|
|
|
|
## Provider send matrix
|
|
|
|
```task
|
|
id: MAS-WP-0003-T03
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "b2af3eb2-0d4b-5cea-b033-99d47c938298"
|
|
```
|
|
|
|
Needs the operator to send from their accounts. Send from Gmail (web and
|
|
mobile), Outlook.com and one corporate gateway to:
|
|
- `ticket!callback@`
|
|
- `ticket=ID@`
|
|
- `ticket=ID+comments@`
|
|
- `ticket=RE=2026-4711@`
|
|
|
|
Then reply to a service message sent from `ticket=ID@`. For each
|
|
combination, record whether the provider's compose form accepts the
|
|
address and what envelope recipient arrives.
|
|
|
|
## Forwarding and list paths
|
|
|
|
```task
|
|
id: MAS-WP-0003-T04
|
|
status: todo
|
|
priority: medium
|
|
state_hub_task_id: "97c88b4f-14c3-5f6c-8f31-6b9fc3afd236"
|
|
```
|
|
|
|
Send via one forwarding service (SRS) and one mailing list (VERP). Check
|
|
whether `=` collides with SRS0/VERP encoding, and whether facets survive
|
|
or are stripped.
|
|
|
|
## Close the review
|
|
|
|
```task
|
|
id: MAS-WP-0003-T05
|
|
status: todo
|
|
priority: high
|
|
state_hub_task_id: "63e86851-9c7d-5ce8-977f-5d09268d9dcc"
|
|
```
|
|
|
|
Fold the results into `docs/experiment-review.md`. Turn the spec gaps
|
|
(quoted equivalence, resource-type case, type-intake semantics for
|
|
`ticket!MODE`) into spec change proposals. Then take the MAS-WP-0002
|
|
decision gate.
|