mail-address-semantics/README.md
tegwick 59815701c1 Implement MAS v0.1 reference experiment (MAS-WP-0002 M0-M8, M9 first pass)
- mas_core: P2-maximal parser with required_profile, generator, statute
  schema + semantic lint + defaults-only inheritance, exact-host discovery
  with typed failures and same-origin redirects, pure policy resolver
- mas_conformance: vendored spec fixtures (drift-tested) + property and
  statute cases
- mas CLI: parse / explain / discover / lint-statute / test
- mas-gateway: generic mail -> MAS event -> HTTP (MTA pipe + webhook)
- examples: static great-service.example statute, reference ticket service
- docs/experiment-review.md: first-pass findings; live MTA test still open

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
2026-10-08 00:24:43 +02:00

2 KiB

mail-address-semantics

Mail Address Semantics is a voluntary convention for naming people, actors and functions, and for addressing resources, facets, and optional interaction preferences through ordinary email addresses while keeping classification, authority, authentication, equivalence, and delivery implementation explicit and external to the address syntax.

This repo holds the normative MAS v0.1 bundle (mas-v0.1-spec/) and a Python reference experiment (see INTENT.md and workplans/MAS-WP-0002-*).

Parsing is local and deterministic. Discovery is networked. Policy is pure. Delivery remains external.

Layout

Path Role
mas_core/ parser, model, generator, statute (schema + semantic lint + inheritance), discovery, policy
mas_conformance/ Shared corpus: spec fixtures (vendored, drift-tested), property cases, statute cases
mas_cli/ mas parse / explain / discover / lint-statute / test
mas_gateway/ Generic inbound mail → MAS event → HTTP (pipe for MTAs, webhook for providers)
examples/statute/ Static /.well-known/mas for great-service.example + tiny server
examples/ticket_service/ Reference app proving create / correlate / closed / unknown
docs/experiment-review.md Milestone 9 findings

Quick start

uv venv && uv pip install -e '.[test]'
.venv/bin/pytest                       # full suite, offline
.venv/bin/mas test                     # conformance corpus
.venv/bin/mas explain 'ticket!callback@great-service.example' \
    --statute examples/statute/great-service.example/.well-known/mas
.venv/bin/mas lint-statute examples/statute/great-service.example/.well-known/mas

Local end-to-end run:

python examples/ticket_service/ticket_service.py --db /tmp/t.sqlite3 &        # :8025
mas-gateway --statute examples/statute/great-service.example/.well-known/mas \
    pipe --recipient 'ticket!callback@great-service.example' \
    --app-url http://127.0.0.1:8025/mas-events < message.eml
curl -s http://127.0.0.1:8025/outbox