synthesis-message-guard
Message Guard
Version 1.3.0 (2026-09-01) adds patterns.example.json, the public,
validator-backed starting point used by synthesis-onboarding init. The
scaffolder preserves the user's local copy and can add interview-supplied wording
boundaries without putting personal policy in this repository. A fail-closed
message gate now ships the route to a valid config instead of requiring adopters
to reconstruct one from prose.
Version 1.2.0 (2026-08-28) — adds check_header_hygiene: the gate now inspects the
RFC threading headers (in_reply_to, references) in the tool input, not only the message
text, and blocks a send whose Message-ID has been HTML-escaped (<id@host>) or left
with an unbalanced angle bracket. Such a header matches no message, so the reply orphans in
any strict RFC client — but Gmail's own thread_id threading masks it whenever the caller
passes both, which is why the error survived review and recurred (2026-08-20, 2026-08-28).
A malformed header is now structurally undeliverable rather than silently wrong.
Version 1.1.0 (2026-07-29)