mail-address-semantics/workplans/MAS-WP-0006-address-composer.md
tegwick c3e2f05ee5 MAS-WP-0005-T09: generator destination transforms with round-trip refusal; example profiles
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 252470@bnt-lap001
Assistant-Session: ad628c8f-4be2-4979-94c9-76c7ed6f8241
2026-10-18 22:26:26 +02:00

51 lines
1.5 KiB
Markdown

---
id: MAS-WP-0006
type: workplan
title: "MAS address composer"
domain: communication
repo: mail-address-semantics
status: proposed
owner: claude
topic_slug: coulomb-social
created: "2026-10-18"
updated: "2026-10-18"
origin: residual
origin_ref: MAS-WP-0003
state_hub_workstream_id: "0934280a-f85a-55f1-a17c-61c5255b5e3b"
---
# MAS address composer
Decision-gate outcome of MAS-WP-0002 (founder, 2026-10-18). Pulled
forward because provider configuration forms do not preserve MAS syntax:
the IONOS forwarding form refuses `=` and forces lower case, and Google
Groups lower-cases members (MAS-WP-0003 T04). Depends on the SCP-6/SCP-7
outcome in MAS-WP-0005.
## Scope and interface
```task
id: MAS-WP-0006-T01
status: todo
priority: medium
state_hub_task_id: "13071dfc-fbaa-503e-bd0d-ddd6c2377758"
```
Define what the composer does: from a statute and an intent (resource,
facet, interaction), emit the canonical address and, when the statute
declares one, the forwarder-safe form (lower case, `--` separator). Warn
about the 64-octet budget and facet/interaction exclusivity. Decide
whether it is a new CLI command (the CLI has no generate command yet), a web page,
or both. The library side exists: `mas_core.generator.for_destination` (MAS-WP-0005 T09).
## Implement and test
```task
id: MAS-WP-0006-T02
status: todo
priority: medium
state_hub_task_id: "69cb22fe-9995-55c3-91de-63eab5c09282"
```
Build it on `mas_core.generator`, with fixtures for the forms seen in
MAS-WP-0003.